summaryrefslogtreecommitdiff
path: root/ext/win32ole/tests
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-08-13 12:13:20 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-08-13 12:13:20 +0000
commit31c063eac3a674f8d8cdb1aa498e456fa1b6b94c (patch)
tree09dde2710007b18f60f7610630caa38212138d1c /ext/win32ole/tests
parent7932d2f6abefbbef67254f1d2ff872098a2bc635 (diff)
add WIN32OLE_VARIANT class
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/win32ole/tests')
-rw-r--r--ext/win32ole/tests/testOLEVARIANT.rb74
-rw-r--r--ext/win32ole/tests/testall.rb1
2 files changed, 75 insertions, 0 deletions
diff --git a/ext/win32ole/tests/testOLEVARIANT.rb b/ext/win32ole/tests/testOLEVARIANT.rb
new file mode 100644
index 0000000000..a9a52a826f
--- /dev/null
+++ b/ext/win32ole/tests/testOLEVARIANT.rb
@@ -0,0 +1,74 @@
+require 'test/unit'
+
+require 'win32ole'
+
+class TestWIN32OLE_VARIANT < Test::Unit::TestCase
+ def test_new
+ obj = WIN32OLE_VARIANT.new('foo')
+ assert_instance_of(WIN32OLE_VARIANT, obj)
+ end
+
+ 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')
+ 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_argument2
+ ex = nil
+ obj = nil
+ begin
+ obj = WIN32OLE_VARIANT.new('foo', WIN32OLE::VARIANT::VT_BSTR)
+ rescue
+ ex = $!
+ 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_str2cy
+ obj = WIN32OLE_VARIANT.new("\\10,000", WIN32OLE::VARIANT::VT_CY)
+ assert_equal("10000", obj.value)
+ end
+
+end
diff --git a/ext/win32ole/tests/testall.rb b/ext/win32ole/tests/testall.rb
index a943ae09b9..6bd3797718 100644
--- a/ext/win32ole/tests/testall.rb
+++ b/ext/win32ole/tests/testall.rb
@@ -8,4 +8,5 @@ require "testOLEMETHOD"
require "testOLEVARIABLE"
require "testVARIANT"
require "testOLETYPELIB"
+# require "testOLEVARIANT"
# require "testOLEEVENT"