diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-04-30 23:37:54 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-04-30 23:37:54 +0000 |
commit | 9154b19baeef87742e2f854bce091f98fdd00809 (patch) | |
tree | aa370a84f07e24001a1382af7ab318a90314a867 /test | |
parent | 5c1ae872f40be7c33033cf2b45d7c8a929860a7f (diff) | |
download | ruby-9154b19baeef87742e2f854bce091f98fdd00809.tar.gz |
ole_param_ole_type should return "unknown type" string when ITypeInfo::GetFuncDesc failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/win32ole/test_win32ole_variant.rb | 166 | ||||
-rw-r--r-- | test/win32ole/test_win32ole_variant_m.rb | 36 |
2 files changed, 122 insertions, 80 deletions
diff --git a/test/win32ole/test_win32ole_variant.rb b/test/win32ole/test_win32ole_variant.rb index e7df6f9180..175d1d53f5 100644 --- a/test/win32ole/test_win32ole_variant.rb +++ b/test/win32ole/test_win32ole_variant.rb @@ -1,104 +1,110 @@ -require 'test/unit' +begin + require 'win32ole' +rescue LoadError +end -require 'win32ole' +require "test/unit" -class TestWIN32OLE_VARIANT < Test::Unit::TestCase - def test_new - obj = WIN32OLE_VARIANT.new('foo') - assert_instance_of(WIN32OLE_VARIANT, obj) - end +if defined?(WIN32OLE_VARIANT) - def test_new_no_argument - ex = nil - begin - obj = WIN32OLE_VARIANT.new - rescue ArgumentError - ex = $! + class TestWIN32OLE_VARIANT < Test::Unit::TestCase + def test_new + obj = WIN32OLE_VARIANT.new('foo') + assert_instance_of(WIN32OLE_VARIANT, obj) end - assert_instance_of(ArgumentError, ex) - assert_equal("wrong number of arguments (0 for 1..3)", ex.message); - end - def test_new_one_argument - ex = nil - begin + def test_new_no_argument + ex = nil + begin + obj = WIN32OLE_VARIANT.new + rescue ArgumentError + ex = $! + end + assert_instance_of(ArgumentError, ex) + assert_equal("wrong number of arguments (0 for 1..3)", ex.message); + end + + def test_new_one_argument + ex = nil + begin + obj = WIN32OLE_VARIANT.new('foo') + rescue + ex = $! + end + assert_equal(nil, ex); + end + + def test_value obj = WIN32OLE_VARIANT.new('foo') - rescue - ex = $! + assert_equal('foo', obj.value) end - assert_equal(nil, ex); - end - def test_value - obj = WIN32OLE_VARIANT.new('foo') - assert_equal('foo', obj.value) - end + def test_new_2_argument + ex = nil + obj = nil + begin + obj = WIN32OLE_VARIANT.new('foo', WIN32OLE::VARIANT::VT_BSTR|WIN32OLE::VARIANT::VT_BYREF) + rescue + ex = $! + end + assert_equal('foo', obj.value); + end - def test_new_2_argument - ex = nil - obj = nil - begin - obj = WIN32OLE_VARIANT.new('foo', WIN32OLE::VARIANT::VT_BSTR|WIN32OLE::VARIANT::VT_BYREF) - rescue - ex = $! + def test_new_2_argument2 + ex = nil + obj = nil + begin + obj = WIN32OLE_VARIANT.new('foo', WIN32OLE::VARIANT::VT_BSTR) + rescue + ex = $! + end + assert_equal('foo', obj.value); end - assert_equal('foo', obj.value); - end - def test_new_2_argument2 - ex = nil - obj = nil - begin - obj = WIN32OLE_VARIANT.new('foo', WIN32OLE::VARIANT::VT_BSTR) - rescue - ex = $! + def test_conversion_num2str + obj = WIN32OLE_VARIANT.new(124, WIN32OLE::VARIANT::VT_BSTR) + assert_equal("124", obj.value); end - assert_equal('foo', obj.value); - end - def test_conversion_num2str - obj = WIN32OLE_VARIANT.new(124, WIN32OLE::VARIANT::VT_BSTR) - assert_equal("124", obj.value); - end + def test_conversion_str2date + obj = WIN32OLE_VARIANT.new("2004-12-24 12:24:45", WIN32OLE::VARIANT::VT_DATE) + assert_equal("2004/12/24 12:24:45", obj.value) + end - def test_conversion_str2date - obj = WIN32OLE_VARIANT.new("2004-12-24 12:24:45", WIN32OLE::VARIANT::VT_DATE) - assert_equal("2004/12/24 12:24:45", obj.value) - end + def test_conversion_time2date + dt = Time.mktime(2004, 12, 24, 12, 24, 45) + obj = WIN32OLE_VARIANT.new(dt, WIN32OLE::VARIANT::VT_DATE) + assert_equal("2004/12/24 12:24:45", obj.value) + end - def test_conversion_time2date - dt = Time.mktime(2004, 12, 24, 12, 24, 45) - obj = WIN32OLE_VARIANT.new(dt, WIN32OLE::VARIANT::VT_DATE) - assert_equal("2004/12/24 12:24:45", obj.value) - end + def test_conversion_str2cy + obj = WIN32OLE_VARIANT.new("\\10,000", WIN32OLE::VARIANT::VT_CY) + assert_equal("10000", obj.value) + end - def test_conversion_str2cy - obj = WIN32OLE_VARIANT.new("\\10,000", WIN32OLE::VARIANT::VT_CY) - assert_equal("10000", obj.value) - end + def test_create_vt_array + obj = WIN32OLE_VARIANT.new([1.2, 2.3], WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_R8) + assert_equal([1.2, 2.3], obj.value) + end - def test_create_vt_array - obj = WIN32OLE_VARIANT.new([1.2, 2.3], WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_R8) - assert_equal([1.2, 2.3], obj.value) - end + def test_create_vt_array_str2ui1array + obj = WIN32OLE_VARIANT.new("ABC", WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_UI1) + assert_equal("ABC", obj.value) - def test_create_vt_array_str2ui1array - obj = WIN32OLE_VARIANT.new("ABC", WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_UI1) - assert_equal("ABC", obj.value) + obj = WIN32OLE_VARIANT.new([65, 0].pack("C*"), WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_UI1) + assert_equal([65, 0].pack("C*"), obj.value) - obj = WIN32OLE_VARIANT.new([65, 0].pack("C*"), WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_UI1) - assert_equal([65, 0].pack("C*"), obj.value) + end + def test_create_vt_array_int + obj = WIN32OLE_VARIANT.new([65, 0], WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_UI1) + assert_equal([65, 0].pack("C*"), obj.value) - end - def test_create_vt_array_int - obj = WIN32OLE_VARIANT.new([65, 0], WIN32OLE::VARIANT::VT_ARRAY|WIN32OLE::VARIANT::VT_UI1) - assert_equal([65, 0].pack("C*"), obj.value) + obj = WIN32OLE_VARIANT.new([65, 0]) + assert_equal([65, 0], obj.value) - obj = WIN32OLE_VARIANT.new([65, 0]) - assert_equal([65, 0], obj.value) + obj = WIN32OLE_VARIANT.new([65, 0], WIN32OLE::VARIANT::VT_I2|WIN32OLE::VARIANT::VT_ARRAY) + assert_equal([65, 0], obj.value) + end - obj = WIN32OLE_VARIANT.new([65, 0], WIN32OLE::VARIANT::VT_I2|WIN32OLE::VARIANT::VT_ARRAY) - assert_equal([65, 0], obj.value) end - end diff --git a/test/win32ole/test_win32ole_variant_m.rb b/test/win32ole/test_win32ole_variant_m.rb new file mode 100644 index 0000000000..1271526db9 --- /dev/null +++ b/test/win32ole/test_win32ole_variant_m.rb @@ -0,0 +1,36 @@ +# You need RubyUnit and MS Excel and MSI to run this test script + +begin + require 'win32ole' +rescue LoadError +end + +require "test/unit" + +if defined?(WIN32OLE::VARIANT) + class TestWin32OLE_VARIANT < Test::Unit::TestCase + include WIN32OLE::VARIANT + def test_variant + assert_equal(2, VT_I2) + assert_equal(3, VT_I4) + assert_equal(4, VT_R4) + assert_equal(5, VT_R8) + assert_equal(6, VT_CY) + assert_equal(7, VT_DATE) + assert_equal(8, VT_BSTR) + assert_equal(9, VT_DISPATCH) + assert_equal(10, VT_ERROR) + assert_equal(11, VT_BOOL) + assert_equal(12, VT_VARIANT) + assert_equal(13, VT_UNKNOWN) + assert_equal(16, VT_I1) + assert_equal(17, VT_UI1) + assert_equal(18, VT_UI2) + assert_equal(19, VT_UI4) + assert_equal(22, VT_INT) + assert_equal(23, VT_UINT) + assert_equal(0x2000, VT_ARRAY) + assert_equal(0x4000, VT_BYREF) + end + end +end |