Sha256: bacfc577e0a1ed569b6443d8e057e7e30fcaeadbb2f26898a226cc09f06a5bee
Contents?: true
Size: 1.08 KB
Versions: 35
Compression:
Stored size: 1.08 KB
Contents
# -*- encoding: utf-8 -*- require_relative 'common' require 'hexapdf/encryption/arc4' describe HexaPDF::Encryption::ARC4 do include EncryptionAlgorithmInterfaceTests before do @algorithm_class = Class.new do prepend HexaPDF::Encryption::ARC4 def initialize(key) @data = key end def process(data) raise if data.empty? result = @data << data @data = '' result end end end it "correctly uses klass.encrypt and klass.decrypt" do assert_equal('mykeydata', @algorithm_class.encrypt('mykey', 'data')) assert_equal('mykeydata', @algorithm_class.decrypt('mykey', 'data')) end it "correctly uses klass.encryption_fiber and klass.decryption_fiber" do f = Fiber.new { Fiber.yield('first'); Fiber.yield(''); 'second' } assert_equal('mykeyfirstsecond', collector(@algorithm_class.encryption_fiber('mykey', f))) f = Fiber.new { Fiber.yield('first'); 'second' } assert_equal('mykeyfirstsecond', collector(@algorithm_class.decryption_fiber('mykey', f))) end end
Version data entries
35 entries across 35 versions & 1 rubygems