Sha256: 7c67a95ed95dd69e1ac3142dec9502748c20fdd11ee57cf587ae1692bf527225
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
# -*- encoding: utf-8 -*- require 'test_helper' require 'hexapdf/document' describe HexaPDF::Document::Fonts do before do @doc = HexaPDF::Document.new @doc.config['font_loader'] = [] end describe "load" do before do @doc.config['font_loader'] << lambda do |doc, name, **options| assert_equal(@doc, doc) if name == :TestFont x = Object.new x.define_singleton_method(:name) do options[:variant] == :bold ? :BoldFont : :NormalFont end x else nil end end end it "loads the specified font" do assert_equal(:NormalFont, @doc.fonts.load(:TestFont).name) assert_equal(:BoldFont, @doc.fonts.load(:TestFont, variant: :bold).name) end it "caches loaded fonts" do assert_same(@doc.fonts.load(:TestFont), @doc.fonts.load(:TestFont)) end it "fails if the requested font is not found" do assert_raises(HexaPDF::Error) { @doc.fonts.load("Unknown") } end it "raises an error if a font loader cannot be correctly retrieved" do @doc.config['font_loader'][0] = 'UnknownFontLoader' assert_raises(HexaPDF::Error) { @doc.fonts.load(:Other) } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hexapdf-0.3.0 | test/hexapdf/document/test_fonts.rb |
hexapdf-0.2.0 | test/hexapdf/document/test_fonts.rb |