Sha256: f4855eaa12feb5baa88351e21b1cb05e10058d168fb184f56de4e044f6f21e6d
Contents?: true
Size: 1.45 KB
Versions: 3
Compression:
Stored size: 1.45 KB
Contents
# -*- encoding: utf-8 -*- require 'test_helper' require 'stringio' require 'hexapdf/font/true_type/table/head' require 'hexapdf/font/true_type/table/loca' describe HexaPDF::Font::TrueType::Table::Loca do before do @file = Object.new @file.define_singleton_method(:io) { @io ||= StringIO.new('') } head = Object.new head.define_singleton_method(:index_to_loc_format) { 0 } @file.define_singleton_method(:[]) {|_arg| head } @entry = HexaPDF::Font::TrueType::Table::Directory::Entry.new('loca', 0, 0, @file.io.length) end describe "initialize" do it "reads the data in short format from the associated file" do @file.io.string = [0, 10, 30, 50, 90].pack('n*') @entry.length = @file.io.length table = HexaPDF::Font::TrueType::Table::Loca.new(@file, @entry) assert_equal([0, 20, 60, 100, 180], table.offsets) assert_equal(0, table.offset(0)) assert_equal(100, table.offset(3)) assert_equal(20, table.length(0)) assert_equal(80, table.length(3)) end it "reads the data in long format from the associated file" do @file.io.string = [0, 10, 30, 50, 90].pack('N*') @file[:head].singleton_class.send(:remove_method, :index_to_loc_format) @file[:head].define_singleton_method(:index_to_loc_format) { 1 } @entry.length = @file.io.length table = HexaPDF::Font::TrueType::Table::Loca.new(@file, @entry) assert_equal([0, 10, 30, 50, 90], table.offsets) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
hexapdf-0.4.0 | test/hexapdf/font/true_type/table/test_loca.rb |
hexapdf-0.3.0 | test/hexapdf/font/true_type/table/test_loca.rb |
hexapdf-0.2.0 | test/hexapdf/font/true_type/table/test_loca.rb |