summaryrefslogtreecommitdiff
path: root/ext/win32ole/tests/testOLEVARIABLE.rb
blob: 935bd24cbb7f2ee753f86bec0e071f798af89c08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 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_to_s
    classes = WIN32OLE_TYPE.ole_classes(MS_EXCEL_TYPELIB)
    chart = classes.find {|c| c.name == 'XlChartType'}
    var_names = chart.variables.collect {|m| "#{m}"}
    assert(var_names.size > 0)
    assert(var_names.include?('xl3DColumn'))
  end
  def test_ole_type
    tlib = WIN32OLE_TYPELIB.new(MS_EXCEL_TYPELIB)
    classes = tlib.ole_classes
    # 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