diff options
Diffstat (limited to 'ext/win32ole/tests/testOLEVARIABLE.rb')
-rw-r--r-- | ext/win32ole/tests/testOLEVARIABLE.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/ext/win32ole/tests/testOLEVARIABLE.rb b/ext/win32ole/tests/testOLEVARIABLE.rb new file mode 100644 index 0000000000..b237d9b616 --- /dev/null +++ b/ext/win32ole/tests/testOLEVARIABLE.rb @@ -0,0 +1,42 @@ +# You need RubyUnit and MS Excel and MSI to run this test script + +require 'rubyunit' + +require 'win32ole' +require 'oleserver' + +class TestOLEVARIABLE < RUNIT::TestCase + include OLESERVER + def test_name + classes = WIN32OLE_TYPE.ole_classes(MS_EXCEL_TYPELIB) + chart = classes.find {|c| c.name == 'XlChartType'} + var_names = chart.variables.collect {|m| m.name} + assert(var_names.size > 0) + assert(var_names.include?('xl3DColumn')) + end + def test_ole_type + classes = WIN32OLE_TYPE.ole_classes(MS_EXCEL_TYPELIB) + chart = classes.find {|c| c.name == 'XlChartType'} + var = chart.variables.find {|m| m.name == 'xl3DColumn'} + assert_equal('INT', var.ole_type) + end + def test_ole_type_detail + classes = WIN32OLE_TYPE.ole_classes(MS_EXCEL_TYPELIB) + chart = classes.find {|c| c.name == 'XlChartType'} + var = chart.variables.find {|m| m.name == 'xl3DColumn'} + assert_equal(['INT'], var.ole_type_detail) + end + + def test_value + classes = WIN32OLE_TYPE.ole_classes(MS_EXCEL_TYPELIB) + chart = classes.find {|c| c.name == 'XlChartType'} + var = chart.variables.find {|m| m.name == 'xl3DColumn'} + assert_equal(-4100, var.value) + end + def test_visible + classes = WIN32OLE_TYPE.ole_classes(MS_EXCEL_TYPELIB) + chart = classes.find {|c| c.name == 'XlChartType'} + var = chart.variables.find {|m| m.name == 'xl3DColumn'} + assert(var.visible?) + end +end |