File: metadata_spec.rb

package info (click to toggle)
ruby-pdf-reader 1.3.3-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 12,908 kB
  • ctags: 569
  • sloc: ruby: 8,330; makefile: 10
file content (73 lines) | stat: -rw-r--r-- 2,399 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# coding: utf-8

require File.dirname(__FILE__) + "/spec_helper"

describe PDF::Reader::MetadataStrategy do
  include EncodingHelper

  it "should send the correct metadata callbacks when processing an PrinceXML PDF" do

    receiver = PDF::Reader::RegisterReceiver.new

    # process the instructions
    filename = pdf_spec_file("prince1")
    PDF::Reader.file(filename, receiver)
    cb = receiver.first_occurance_of(:metadata)
    meta = cb[:args].first

    # check the metadata was extracted correctly
    meta[:Producer].should eql("YesLogic Prince 5.1")
  end

  it "should send the correct metadata callbacks when processing an openoffice PDF" do

    receiver = PDF::Reader::RegisterReceiver.new

    # process the instructions
    filename = pdf_spec_file("openoffice-2.2")
    PDF::Reader.file(filename, receiver, :pages => false)
    cb = receiver.first_occurance_of(:metadata)
    meta = cb[:args].first

    # check the metadata was extracted correctly
    meta[:Creator].should eql("Writer")
    meta[:Producer].should eql("OpenOffice.org 2.2")
    meta[:CreationDate].should eql("D:20070623021705+10'00'")
  end

  it "should send the correct xml_metadata callbacks when processing a distiller PDF" do

    receiver = PDF::Reader::RegisterReceiver.new

    # process the instructions
    filename = pdf_spec_file("distiller_unicode")
    PDF::Reader.file(filename, receiver, :pages => false)
    cb = receiver.first_occurance_of(:xml_metadata)
    meta = cb[:args].first

    # check the metadata was extracted correctly
    meta.include?("<pdf:Title>file://C:\\Data\\website\\i18nguy\\unicode-example.html</pdf:Title>").should be_true
  end

  it "should send the correct page count callback when processing an openoffice PDF" do

    receiver = PDF::Reader::RegisterReceiver.new

    # process the instructions
    filename = pdf_spec_file("openoffice-2.2")
    PDF::Reader.file(filename, receiver, :pages => false)
    cb = receiver.first_occurance_of(:page_count)
    cb[:args].first.should eql(2)
  end

  it "should send the correct pdf_version callback when processing an openoffice PDF" do

    receiver = PDF::Reader::RegisterReceiver.new

    # process the instructions
    filename = pdf_spec_file("openoffice-2.2")
    PDF::Reader.file(filename, receiver, :pages => false)
    cb = receiver.first_occurance_of(:pdf_version)
    cb[:args].first.should eql(1.4)
  end
end