spec/reference_spec.rb in prawn-1.0.0.rc2 vs spec/reference_spec.rb in prawn-1.0.0
- old
+ new
@@ -1,94 +1,14 @@
# encoding: utf-8
require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
describe "A Reference object" do
- it "should produce a PDF reference on #to_s call" do
- ref = Prawn::Core::Reference(1,true)
- ref.to_s.should == "1 0 R"
- end
-
- it "should allow changing generation number" do
- ref = Prawn::Core::Reference(1,true)
- ref.gen = 1
- ref.to_s.should == "1 1 R"
- end
-
- it "should generate a valid PDF object for the referenced data" do
- ref = Prawn::Core::Reference(2,[1,"foo"])
- ref.object.should == "2 0 obj\n#{Prawn::Core::PdfObject([1,"foo"])}\nendobj\n"
- end
-
- it "should automatically open a stream when #<< is used" do
- ref = Prawn::Core::Reference(1, :Length => 41)
- ref << "BT\n/F1 12 Tf\n72 712 Td\n( A stream ) Tj\nET"
- ref.object.should == "1 0 obj\n<< /Length 41\n>>\nstream"+
- "\nBT\n/F1 12 Tf\n72 712 Td\n( A stream ) Tj\nET" +
- "\nendstream\nendobj\n"
- end
-
- it "should compress a stream upon request" do
- ref = Prawn::Core::Reference(2,{})
- ref << "Hi There " * 20
-
- cref = Prawn::Core::Reference(2,{})
- cref << "Hi There " * 20
- cref.compress_stream
-
- cref.stream.size.should be < ref.stream.size,
- "compressed stream expected to be smaller than source but wasn't"
- cref.data[:Filter].should == :FlateDecode
- end
-
- it "should copy the data and stream from another ref on #replace" do
- from = Prawn::Core::Reference(3, {:foo => 'bar'})
- from << "has a stream too"
-
- to = Prawn::Core::Reference(4, {:foo => 'baz'})
- to.replace from
-
- # should preserve identifier but copy data and stream
- to.identifier.should == 4
- to.data.should == from.data
- to.stream.should == from.stream
- end
-
- it "should copy a compressed stream from a compressed ref on #replace" do
- from = Prawn::Core::Reference(5, {:foo => 'bar'})
- from << "has a stream too " * 20
- from.compress_stream
-
- to = Prawn::Core::Reference(6, {:foo => 'baz'})
- to.replace from
-
- to.identifier.should == 6
- to.data.should == from.data
- to.stream.should == from.stream
- to.compressed?.should == true
- end
-
- it "should have Length if stream present" do
- ref = Prawn::Core::Reference(7, {})
- ref << "Hello"
-
- ref.data[:Length].should == 5
- end
-
- it "should update Length when stream is updated" do
- ref = Prawn::Core::Reference(7, {})
- ref << "Hello"
- ref.data[:Length].should == 5
-
- ref << " world"
- ref.data[:Length].should == 11
- end
-
describe "generated via Prawn::Document" do
it "should return a proper reference on ref!" do
pdf = Prawn::Document.new
- pdf.ref!({}).is_a?(Prawn::Core::Reference).should == true
+ pdf.ref!({}).is_a?(PDF::Core::Reference).should == true
end
it "should return an identifier on ref" do
pdf = Prawn::Document.new
r = pdf.ref({})
@@ -97,9 +17,9 @@
it "should have :Length of stream if it has one when compression disabled" do
pdf = Prawn::Document.new :compress => false
ref = pdf.ref!({})
ref << 'Hello'
- ref.data[:Length].should == 5
+ ref.stream.data[:Length].should == 5
end
end
end