Newer
Older
#encoding: utf-8
require 'test/unit'
require 'testcase'
require 'fox16'
class TC_FXList < Fox::TestCase
include Fox
def setup
super(self.class.name)
@list = FXList.new(mainWindow)
end
def test_numVisible
@list.numVisible = 7
assert_equal(7, @list.numVisible)
end
def test_appendItem_byItem
items = []
0.upto(4) do |i|
items << FXListItem.new("item#{i}")
end
assert_equal(0, @list.numItems)
@list.appendItem(items[0])
assert_equal(1, @list.numItems)
@list.appendItem(items[1], true)
assert_equal(2, @list.numItems)
@list.appendItem(items[2], false)
assert_equal(3, @list.numItems)
assert_raises(ArgumentError) do
@list.appendItem(items[3], 42) # second argument must be true or false
end
assert_equal(3, @list.numItems)
end
def test_appendOp
assert_equal(0, @list.numItems)
@list << FXListItem.new("item1")
assert_equal(1, @list.numItems)
@list << FXListItem.new("item2")
assert_equal(2, @list.numItems)
@list << FXListItem.new("item3")
assert_equal(3, @list.numItems)
end
def test_appendItem_byText
assert_equal(0, @list.numItems)
itemIndex = @list.appendItem("")
assert_equal(1, @list.numItems)
itemIndex = @list.appendItem("anItem")
assert_equal(2, @list.numItems)
itemIndex = @list.appendItem("anItem", nil)
assert_equal(3, @list.numItems)
itemIndex = @list.appendItem("anItem", nil, "someData")
assert_equal(4, @list.numItems)
itemIndex = @list.appendItem("anItem", nil, "someData", true)
assert_equal(5, @list.numItems)
itemIndex = @list.appendItem("anItem", nil, "someData", false)
assert_equal(6, @list.numItems)
assert_raises(ArgumentError) do
@list.appendItem("anItem", nil, "someData", 42) # last argument must be true or false
end
assert_equal(6, @list.numItems)
end
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
def test_getItem
assert_raises(IndexError) {
@list.getItem(0)
}
theItem = FXListItem.new("anItem")
@list << theItem
retrievedItem = nil
assert_nothing_raised {
retrievedItem = @list.getItem(0)
}
assert_same(theItem, retrievedItem)
end
def test_moveItem
@list.appendItem("First")
@list.appendItem("Second")
assert_raises(IndexError) {
@list.moveItem(0, -1)
}
assert_raises(IndexError) {
@list.moveItem(0, 2)
}
assert_raises(IndexError) {
@list.moveItem(-1, 0)
}
assert_raises(IndexError) {
@list.moveItem(2, 0)
}
assert_nothing_raised {
@list.moveItem(0, 0)
@list.moveItem(0, 1)
@list.moveItem(1, 0)
@list.moveItem(1, 1)
}
assert_equal(0, @list.moveItem(0, 1))
assert_equal(1, @list.moveItem(1, 0))
end
def test_makeItemVisible
items = []
0.upto(2) { |i|
items << @list.appendItem("item#{i}")
}
assert_raises(IndexError) {
@list.makeItemVisible(-1)
}
assert_raises(IndexError) {
@list.makeItemVisible(3)
}
end
if ''.respond_to?(:encoding)
def test_encoding
@list.appendItem("世界線航跡蔵")
assert_equal(Encoding::UTF_8, @list.getItem(0).text.encoding)
assert_equal('世界線航跡蔵', @list.getItem(0).text)
end
end