61 lines
1.9 KiB
Ruby
61 lines
1.9 KiB
Ruby
require 'caca'
|
|
|
|
class TC_Canvas < MiniTest::Test
|
|
def setup
|
|
@c = Caca::Canvas.new(3, 3)
|
|
end
|
|
def test_create
|
|
c = Caca::Canvas.new(3, 3)
|
|
refute_nil(c, 'Canvas creation failed')
|
|
assert(c.width == 3 && c.height == 3, 'Wrong size for new canvas')
|
|
end
|
|
def test_width
|
|
@c.width = 42
|
|
assert_equal(42, @c.width, 'Failed to set width with =')
|
|
@c.set_width(24)
|
|
assert_equal(24, @c.width, 'Failed to set width')
|
|
end
|
|
def test_height
|
|
@c.height = 42
|
|
assert_equal(42, @c.height, 'Failed to set height with =')
|
|
@c.set_height(24)
|
|
assert_equal(24, @c.height, 'Failed to set height')
|
|
end
|
|
def test_size
|
|
@c.set_size(100,100)
|
|
assert(@c.width == 100 && @c.height == 100, 'Failed to set size')
|
|
end
|
|
def test_import
|
|
@c.import_from_memory("foo", "")
|
|
assert_equal("foo\r\n", @c.export_to_memory("irc"), "Import/Export failed")
|
|
@c.import_area_from_memory(0, 0, "p", "")
|
|
assert_equal("poo\r\n", @c.export_area_to_memory(0, 0, 3, 1, "irc"), "Import/Export of area failed")
|
|
end
|
|
def test_cursor
|
|
@c.gotoxy(1,1)
|
|
assert_equal(1, @c.wherex)
|
|
assert_equal(1, @c.wherey)
|
|
end
|
|
def test_clear
|
|
@c.put_char(1, 1, 64)
|
|
@c.clear
|
|
assert_equal("", @c.export_to_memory("irc").strip, "Failed to clear canvas")
|
|
end
|
|
def test_char
|
|
@c.put_char(1, 1, 42)
|
|
assert_equal(42, @c.get_char(1,1))
|
|
end
|
|
def test_render
|
|
c = Caca::Canvas.new(4,4)
|
|
c.put_str(0,0,"plop")
|
|
f = Caca::Font.new(Caca::Font.list[0])
|
|
refute_nil(c.render(f, c.width*f.width, c.height*f.height, c.width*f.width*4))
|
|
end
|
|
def test_fail_render
|
|
c = Caca::Canvas.new(4,4)
|
|
assert_raises(ArgumentError) {
|
|
c.render(nil, c.width, c.height, c.width*4)
|
|
}
|
|
end
|
|
end
|