test/hexapdf/test_revision.rb in hexapdf-0.8.0 vs test/hexapdf/test_revision.rb in hexapdf-0.9.0

- old
+ new

@@ -123,17 +123,30 @@ @rev.add(@obj) obj2 = @rev.object(2) obj3 = @rev.object(3) assert_equal([@obj, obj2, obj3], @rev.each.to_a) end + + it "iterates only over loaded objects" do + obj = @rev.object(2) + assert_equal([obj], @rev.each(only_loaded: true).to_a) + end end it "works without a cross-reference section" do rev = HexaPDF::Revision.new({}) rev.add(@obj) assert_equal(@obj, rev.object(@ref)) assert(rev.object?(@ref)) assert_equal([@obj], rev.each.to_a) rev.delete(@ref, mark_as_free: false) refute(rev.object?(@ref)) + end + + it "can iterate over all modified objects" do + obj = @rev.object(2) + assert_equal([], @rev.each_modified_object.to_a) + obj.value = :Other + @rev.add(@obj) + assert_equal([obj, @obj], @rev.each_modified_object.to_a) end end