Sha256: 06edeae3d9715fdbf5910de342c5e7e68fb76bd2744a2163a376c96a64e7b62e
Contents?: true
Size: 1.08 KB
Versions: 4
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
4 entries across 4 versions & 1 rubygems