diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:02:05 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:02:05 +0000 |
commit | 0dc342de848a642ecce8db697b8fecd83a63e117 (patch) | |
tree | 2b7ed4724aff1f86073e4740134bda9c4aac1a39 /trunk/test/win32ole/test_win32ole_param.rb | |
parent | ef70cf7138ab8034b5b806f466e4b484b24f0f88 (diff) |
added tag v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/test/win32ole/test_win32ole_param.rb')
-rw-r--r-- | trunk/test/win32ole/test_win32ole_param.rb | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/trunk/test/win32ole/test_win32ole_param.rb b/trunk/test/win32ole/test_win32ole_param.rb new file mode 100644 index 0000000000..1c866ca53e --- /dev/null +++ b/trunk/test/win32ole/test_win32ole_param.rb @@ -0,0 +1,91 @@ +begin + require 'win32ole' +rescue LoadError +end +require "test/unit" + +if defined?(WIN32OLE_PARAM) + class TestWIN32OLE_PARAM < Test::Unit::TestCase + + def setup + ole_type = WIN32OLE_TYPE.new("Microsoft Internet Controls", "WebBrowser") + m_navigate = WIN32OLE_METHOD.new(ole_type, "Navigate") + m_before_navigate = WIN32OLE_METHOD.new(ole_type, "BeforeNavigate") + params = m_navigate.params + @param_url = params[0] + @param_flags = params[1] + @param_cancel = m_before_navigate.params[5] + + ole_type = WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "ShellLinkObject") + m_geticonlocation = WIN32OLE_METHOD.new(ole_type, "GetIconLocation") + @param_pbs = m_geticonlocation.params[0] + + ole_type = WIN32OLE_TYPE.new("Microsoft HTML Object Library", "FontNames") + m_count = WIN32OLE_METHOD.new(ole_type, "Count") + @param_p = m_count.params[0] + + ole_type = WIN32OLE_TYPE.new("Microsoft Scripting Runtime", "FileSystemObject") + m_copyfile = WIN32OLE_METHOD.new(ole_type, "CopyFile") + @param_overwritefiles = m_copyfile.params[2] + end + + def test_s_new + assert_raise(ArgumentError) { + WIN32OLE_PARAM.new("hoge") + } + end + + + def test_name + assert_equal('URL', @param_url.name) + assert_equal('Flags', @param_flags.name) + assert_equal('Cancel', @param_cancel.name) + end + + def test_ole_type + assert_equal('BSTR', @param_url.ole_type) + assert_equal('VARIANT', @param_flags.ole_type) + end + + def test_ole_type_detail + assert_equal(['BSTR'], @param_url.ole_type_detail) + assert_equal(['PTR', 'VARIANT'], @param_flags.ole_type_detail) + end + + def test_input? + assert(@param_url.input?) + assert(@param_cancel.input?) + assert(!@param_pbs.input?) + end + + def test_output? + assert(!@param_url.output?) + assert(@param_cancel.output?) + assert(@param_pbs.output?) + end + + def test_optional? + assert(!@param_url.optional?) + assert(@param_flags.optional?) + end + + def test_retval? + assert(!@param_url.retval?) + assert(@param_p.retval?) + end + + def test_default + assert_equal(nil, @param_url.default) + assert_equal(true, @param_overwritefiles.default) + end + + def test_to_s + assert_equal(@param_url.name, @param_url.to_s) + end + + def test_inspect + assert_equal("#<WIN32OLE_PARAM:URL>", @param_url.inspect) + assert_equal("#<WIN32OLE_PARAM:OverWriteFiles=true>", @param_overwritefiles.inspect) + end + end +end |