File: glyph_hash_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,662 bytes parent folder | download
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::GlyphHash, "#name_to_unicode" do

  it "should correctly map a standard glyph name to unicode" do
    map = PDF::Reader::GlyphHash.new
    map.name_to_unicode(:a).should eql(0x0061)
    map.name_to_unicode(:e).should eql(0x0065)
    map.name_to_unicode(:A).should eql(0x0041)
    map.name_to_unicode(:holam).should eql(0x05B9)
    map.name_to_unicode(:zukatakana).should eql(0x30BA)
  end

  it "should correctly map a glyph name with underscores to unicode" do
    map = PDF::Reader::GlyphHash.new
    map.name_to_unicode(:f_i).should eql(map.name_to_unicode(:fi))
  end

  it "should correctly map a uniHHHH glyph to unicode" do
    map = PDF::Reader::GlyphHash.new
    map.name_to_unicode(:uni0032).should eql(0x0032)
    map.name_to_unicode(:uni1234).should eql(0x1234)
  end

  it "should correctly map a uHHHH glyph to unicode" do
    map = PDF::Reader::GlyphHash.new
    map.name_to_unicode(:u0032).should   eql(0x0032)
    map.name_to_unicode(:u1234).should   eql(0x1234)
    map.name_to_unicode(:u12345).should  eql(0x12345)
    map.name_to_unicode(:u123456).should eql(0x123456)
  end

  it "should correctly map a Ann glyph to unicode" do
    map = PDF::Reader::GlyphHash.new
    map.name_to_unicode(:A65).should     eql(65)
    map.name_to_unicode(:g3).should      eql(3)
    map.name_to_unicode(:g65).should     eql(65)
    map.name_to_unicode(:G65).should     eql(65)
    map.name_to_unicode(:G655).should    eql(655)
    map.name_to_unicode(:G6555).should   eql(6555)
    map.name_to_unicode(:G20000).should  eql(20000)
  end

  it "should correctly map a AAnn glyph to unicode" do
    map = PDF::Reader::GlyphHash.new
    map.name_to_unicode(:AA65).should     eql(65)
    map.name_to_unicode(:gg65).should     eql(65)
    map.name_to_unicode(:GG65).should     eql(65)
    map.name_to_unicode(:GG655).should    eql(655)
    map.name_to_unicode(:GG6555).should   eql(6555)
    map.name_to_unicode(:GG20000).should eql(20000)
  end

end

describe PDF::Reader::GlyphHash, "#unicode_to_name" do

  it "should correctly map a standard glyph name to unicode" do
    map = PDF::Reader::GlyphHash.new
    map.unicode_to_name(0x0061).should eql([:a])
    map.unicode_to_name(0x0065).should eql([:e])
    map.unicode_to_name(0x0041).should eql([:A])
    map.unicode_to_name(0x05B9).should eql(
      [:afii57806, :holam, :holam19, :holam26,
      :holam32, :holamhebrew, :holamnarrowhebrew,
      :holamquarterhebrew, :holamwidehebrew]
    )
    map.unicode_to_name(0x20AC).should eql([:Euro, :euro])
    map.unicode_to_name(0x30BA).should eql([:zukatakana])
  end
end