Class: TestOLEMETHOD

Inherits:
RUNIT::TestCase
  • Object
show all
Includes:
OLESERVER
Defined in:
tests/testOLEMETHOD.rb

Constant Summary

Constants included from OLESERVER

OLESERVER::MS_EXCEL_TYPELIB, OLESERVER::MS_XML_TYPELIB

Instance Method Summary collapse

Instance Method Details

#setupObject



10
11
12
# File 'tests/testOLEMETHOD.rb', line 10

def setup
  @excel_app = WIN32OLE_TYPE.new(MS_EXCEL_TYPELIB, 'Application')
end

#test_dispidObject



87
88
89
90
91
# File 'tests/testOLEMETHOD.rb', line 87

def test_dispid
  tobj = WIN32OLE_TYPE.new('Microsoft Shell Controls And Automation', 'FolderItem2')
  method = WIN32OLE_METHOD.new(tobj, 'InvokeVerb')
  assert_equal(1610743824, method.dispid)
end

#test_eventObject



58
59
60
61
62
63
# File 'tests/testOLEMETHOD.rb', line 58

def test_event
  m =  WIN32OLE_METHOD.new(@excel_app, 'WorkbookOpen')
  assert(m.event?)
  m =  WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert(!m.event?)
end

#test_event_interfaceObject



64
65
66
67
68
69
# File 'tests/testOLEMETHOD.rb', line 64

def test_event_interface
  m = WIN32OLE_METHOD.new(@excel_app, 'WorkbookOpen')
  assert_equal('AppEvents', m.event_interface)
  m = WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert_nil(m.event_interface)
end

#test_helpcontextObject



79
80
81
82
# File 'tests/testOLEMETHOD.rb', line 79

def test_helpcontext
  m = WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert(m.helpcontext > 0)
end

#test_helpfileObject



75
76
77
78
# File 'tests/testOLEMETHOD.rb', line 75

def test_helpfile
  m = WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert_match(/VBAXL.*\.(HLP|CHM)$/i, m.helpfile)
end

#test_helpstringObject



70
71
72
73
74
# File 'tests/testOLEMETHOD.rb', line 70

def test_helpstring
  domdoc = WIN32OLE_TYPE.new(MS_XML_TYPELIB, 'DOMDocument')
  m =  WIN32OLE_METHOD.new(domdoc, 'abort')
  assert_equal('abort an asynchronous download', m.helpstring)
end

#test_invoke_kindObject



48
49
50
51
# File 'tests/testOLEMETHOD.rb', line 48

def test_invoke_kind
  m = WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert_equal('PROPERTYGET', m.invoke_kind)
end

#test_nameObject



21
22
23
24
# File 'tests/testOLEMETHOD.rb', line 21

def test_name
  m = WIN32OLE_METHOD.new(@excel_app, 'Quit')
  assert_equal('Quit', m.name)
end

#test_offset_vtblObject



83
84
85
86
# File 'tests/testOLEMETHOD.rb', line 83

def test_offset_vtbl
  m = WIN32OLE_METHOD.new(@excel_app, 'QueryInterface')
  assert_equal(0, m.offset_vtbl)
end

#test_return_typeObject



29
30
31
32
33
34
# File 'tests/testOLEMETHOD.rb', line 29

def test_return_type
  m = WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert_equal('Range', m.return_type)
  m = WIN32OLE_METHOD.new(@excel_app, 'ActivePrinter')
  assert_equal('BSTR', m.return_type)
end

#test_return_type_detailObject



41
42
43
44
45
46
# File 'tests/testOLEMETHOD.rb', line 41

def test_return_type_detail
  m = WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert_equal(['PTR', 'USERDEFINED', 'Range'], m.return_type_detail)
  m = WIN32OLE_METHOD.new(@excel_app, 'ActivePrinter')
  assert_equal(['BSTR'], m.return_type_detail)
end

#test_return_vtypeObject



35
36
37
38
39
40
# File 'tests/testOLEMETHOD.rb', line 35

def test_return_vtype
  m = WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert_equal(WIN32OLE::VARIANT::VT_PTR, m.return_vtype)
  m = WIN32OLE_METHOD.new(@excel_app, 'ActivePrinter')
  assert_equal(WIN32OLE::VARIANT::VT_BSTR, m.return_vtype)
end

#test_s_newObject



13
14
15
16
17
18
19
20
# File 'tests/testOLEMETHOD.rb', line 13

def test_s_new
  m = WIN32OLE_METHOD.new(@excel_app, 'Quit')
  assert_instance_of(WIN32OLE_METHOD, m)
  m =  WIN32OLE_METHOD.new(@excel_app, 'WorkbookOpen')
  assert_instance_of(WIN32OLE_METHOD, m)
  m =  WIN32OLE_METHOD.new(@excel_app, 'workbookopen')
  assert_instance_of(WIN32OLE_METHOD, m)
end

#test_to_sObject



25
26
27
28
# File 'tests/testOLEMETHOD.rb', line 25

def test_to_s
  m = WIN32OLE_METHOD.new(@excel_app, 'Quit')
  assert_equal('Quit', "#{m}")
end

#test_visibleObject



52
53
54
55
56
57
# File 'tests/testOLEMETHOD.rb', line 52

def test_visible
  m = WIN32OLE_METHOD.new(@excel_app, 'ActiveCell')
  assert(m.visible?)
  m = WIN32OLE_METHOD.new(@excel_app, 'AddRef')
  assert(!m.visible?)
end