Sha256: e37721e8886315cfba501fe36387927e45e1d9fcd665cf8888bb7431ec463931

Contents?: true

Size: 1.12 KB

Versions: 96

Compression:

Stored size: 1.12 KB

Contents

# -*- encoding: utf-8 -*-

require 'test_helper'
require_relative 'common'
require 'hexapdf/font/true_type/table/head'
require 'hexapdf/font/true_type/table/loca'

describe HexaPDF::Font::TrueType::Table::Loca do
  before do
    set_up_stub_true_type_font
    head = Object.new
    head.define_singleton_method(:index_to_loc_format) { 0 }
    @font.define_singleton_method(:[]) {|_arg| head }
  end

  describe "initialize" do
    it "reads the data in short format from the associated file" do
      table = create_table(:Loca, [0, 10, 30, 50, 90].pack('n*'))
      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
      @font[:head].singleton_class.send(:remove_method, :index_to_loc_format)
      @font[:head].define_singleton_method(:index_to_loc_format) { 1 }
      table = create_table(:Loca, [0, 10, 30, 50, 90].pack('N*'))
      assert_equal([0, 10, 30, 50, 90], table.offsets)
    end
  end
end

Version data entries

96 entries across 96 versions & 1 rubygems

Version Path
hexapdf-1.2.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-1.1.1 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-1.1.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-1.0.3 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-1.0.2 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-1.0.1 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-1.0.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.47.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.46.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.45.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.44.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.41.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.40.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.39.1 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.39.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.38.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.37.2 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.37.1 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.37.0 test/hexapdf/font/true_type/table/test_loca.rb
hexapdf-0.36.0 test/hexapdf/font/true_type/table/test_loca.rb