Newer
Older
require 'test/unit'
require 'testcase'
require 'fox16'
class TC_FXImage < Fox::TestCase
include Fox
def setup
super(self.class.name)
end
def test_default_constructor_args_1
img = FXImage.new(app)
assert_same(nil, img.pixels)
assert_equal(0, img.options)
assert_equal(1, img.width)
assert_equal(1, img.height)
end
def test_default_constructor_args_2
img = FXImage.new(app, nil)
assert_same(nil, img.pixels)
assert_equal(0, img.options)
assert_equal(1, img.width)
assert_equal(1, img.height)
end
def test_default_constructor_args_3
img = FXImage.new(app, nil, 0)
assert_same(nil, img.pixels)
assert_equal(0, img.options)
assert_equal(1, img.width)
assert_equal(1, img.height)
end
def test_default_constructor_args_4
img = FXImage.new(app, nil, 0, 1)
assert_same(nil, img.pixels)
assert_equal(0, img.options)
assert_equal(1, img.width)
assert_equal(1, img.height)
end
def test_default_constructor_args_5
img = FXImage.new(app, nil, 0, 1, 1)
assert_same(nil, img.pixels)
assert_equal(0, img.options)
assert_equal(1, img.width)
assert_equal(1, img.height)
end
def test_new_image_nil_pixels_owned
img = FXImage.new(app, nil, IMAGE_OWNED)
assert_equal(1, img.width)
assert_equal(1, img.height)
data = img.data
assert_instance_of(FXMemoryBuffer, data)
assert_equal(1*1, data.size)
assert_equal(IMAGE_OWNED, img.options)
end
def test_setPixels
img.pixels = [0x12345678, 2, 3, 4]
assert_equal([0x12345678, 2, 3, 4], img.pixels)
def test_setPixels2
img.setPixels([0x12345678, 2], 0, 2, 1)
assert_equal([0x12345678, 2], img.pixels)
end
def test_setPixels_string
img = FXImage.new(app, nil, 0, 2, 1)
img.pixels = "rgbaRGBA"
assert_equal(IMAGE_OWNED, img.options)
assert_equal("rgbaRGBA", img.pixel_string)
def test_create
#
# If the image owns its pixel data and IMAGE_KEEP was not specified,
# the data should go away after we call create.
#
img = FXImage.new(app, nil, IMAGE_OWNED)
assert_not_nil(img.pixels)
assert_nil(img.pixels)
#
# If the image owns its pixel data and IMAGE_KEEP was specified,
# the data should stay after we call create.
#
img = FXImage.new(app, nil, IMAGE_KEEP|IMAGE_OWNED)
assert_not_nil(img.pixels)
img.create
assert_not_nil(img.pixels)
end
def test_create_with_data
img = FXImage.new(app, "rgbaRGBA", 0, 1, 2)
assert_equal("rgbaRGBA", img.pixel_string)
img.create
assert_nil(img.pixels)
img = FXImage.new(app, [0x12345678], IMAGE_KEEP|IMAGE_OWNED)
assert_equal([0x12345678], img.pixels)
assert_not_nil(img.pixels)
end
#
# Restore client-side pixel buffer from image.
#
def test_restore
#
# If no client-side pixel buffer exists at the time that
# restore() is called, this should create one and set the
# IMAGE_OWNED option.
#
img = FXImage.new(app)
img.create
assert_nil(img.pixels)
assert_equal(0, img.options&IMAGE_OWNED)
img.restore
assert_not_nil(img.pixels)
assert_not_equal(0, img.options&IMAGE_OWNED)
end
# Render client-side pixel buffer into pixmap
def test_render
# Test without client-side pixel buffer
img = FXImage.new(app)
img.render
end
=begin
def test_scale
img.scale(2, 2, 0)
img.scale(2, 2, 1)
end