Repository URL to install this package:
|
Version:
0.5.0 ▾
|
require File.expand_path(File.dirname(__FILE__)+'/helper_tests')
# FontTable class unit test class.
class FontTableTest < Test::Unit::TestCase
def setup
@fonts = []
@fonts.push(Font.new(Font::MODERN, "Courier New"))
@fonts.push(Font.new(Font::ROMAN, "Arial"))
@fonts.push(Font.new(Font::SWISS, "Tahoma"))
@fonts.push(Font.new(Font::NIL, "La La La"))
end
def test_01
tables = []
tables.push(FontTable.new)
tables.push(FontTable.new(@fonts[0], @fonts[2]))
tables.push(FontTable.new(*@fonts))
tables.push(FontTable.new(@fonts[0], @fonts[2], @fonts[0]))
assert(tables[0].size == 0)
assert(tables[1].size == 2)
assert(tables[2].size == 4)
assert(tables[3].size == 2)
assert(tables[0][2] == nil)
assert(tables[1][1] == @fonts[2])
assert(tables[2][3] == @fonts[3])
assert(tables[3][2] == nil)
assert(tables[0].index(@fonts[0]) == nil)
assert(tables[1].index(@fonts[2]) == 1)
assert(tables[2].index(@fonts[2]) == 2)
assert(tables[3].index(@fonts[1]) == nil)
tables[0].add(@fonts[0])
assert(tables[0].size == 1)
assert(tables[0].index(@fonts[0]) == 0)
tables[0] << @fonts[1]
assert(tables[0].size == 2)
assert(tables[0].index(@fonts[1]) == 1)
tables[0].add(@fonts[0])
assert(tables[0].size == 2)
assert([tables[0][0], tables[0][1]] == [@fonts[0], @fonts[1]])
tables[0] << @fonts[1]
assert(tables[0].size == 2)
assert([tables[0][0], tables[0][1]] == [@fonts[0], @fonts[1]])
flags = [false, false, false, false]
tables[2].each do |font|
flags[@fonts.index(font)] = true if @fonts.index(font) != nil
end
assert(flags.index(false) == nil)
assert(tables[0].to_s == "Font Table (2 fonts)\n"\
" Family: modern, Name: Courier New\n"\
" Family: roman, Name: Arial")
assert(tables[1].to_s(6) == " Font Table (2 fonts)\n"\
" Family: modern, Name: Courier New\n"\
" Family: swiss, Name: Tahoma")
assert(tables[2].to_s(3) == " Font Table (4 fonts)\n"\
" Family: modern, Name: Courier New\n"\
" Family: roman, Name: Arial\n"\
" Family: swiss, Name: Tahoma\n"\
" Family: nil, Name: La La La")
assert(tables[3].to_s(-10) == "Font Table (2 fonts)\n"\
" Family: modern, Name: Courier New\n"\
" Family: swiss, Name: Tahoma")
assert(tables[0].to_rtf == "{\\fonttbl\n"\
"{\\f0\\fmodern Courier New;}\n"\
"{\\f1\\froman Arial;}\n"\
"}")
assert(tables[1].to_rtf(4) == " {\\fonttbl\n"\
" {\\f0\\fmodern Courier New;}\n"\
" {\\f1\\fswiss Tahoma;}\n"\
" }")
assert(tables[2].to_rtf(2) == " {\\fonttbl\n"\
" {\\f0\\fmodern Courier New;}\n"\
" {\\f1\\froman Arial;}\n"\
" {\\f2\\fswiss Tahoma;}\n"\
" {\\f3\\fnil La La La;}\n"\
" }")
assert(tables[3].to_rtf(-6) == "{\\fonttbl\n"\
"{\\f0\\fmodern Courier New;}\n"\
"{\\f1\\fswiss Tahoma;}\n"\
"}")
end
end