[rubygems/rubygems] Use a constant empty tar header to avoid extra allocations
[ruby.git] / test / win32ole / test_win32ole_variable.rb
blob646cf68915e3b00106d28883a402cd331711fb3e
1 # frozen_string_literal: false
2 begin
3   require 'win32ole'
4 rescue LoadError
5 end
6 require "test/unit"
8 if defined?(WIN32OLE::Variable)
9   class TestWIN32OLE_VARIABLE < Test::Unit::TestCase
11     def setup
12       ole_type = WIN32OLE::Type.new("Microsoft Shell Controls And Automation", "ShellSpecialFolderConstants")
13       @var1 = ole_type.variables.find {|v| v.name == 'ssfDESKTOP'}
15       variables = WIN32OLE::Type.new("Microsoft Windows Installer Object Library", "Installer").variables
16       @var2 = variables.find {|v| v.name == 'UILevel'}
17     end
19     def test_toplevel_constants_backward_compatibility
20       assert_equal(WIN32OLE::Variable, ::WIN32OLE_VARIABLE)
21     end
23     def test_initialize
24       assert_raise(TypeError) {WIN32OLE::Variable.new}
25     end
27     def test_name
28       assert_equal('ssfDESKTOP', @var1.name)
29     end
31     def test_ole_type
32       assert_equal('INT', @var1.ole_type)
33       assert_equal('MsiUILevel', @var2.ole_type)
34     end
36     def test_ole_type_detail
37       assert_equal(['INT'], @var1.ole_type_detail)
38       assert_equal(['USERDEFINED', 'MsiUILevel'], @var2.ole_type_detail)
39     end
41     def test_ole_type_value
42       assert_equal(0, @var1.value)
43       assert_equal(nil, @var2.value)
44     end
46     def test_ole_type_visible?
47       assert(@var1.visible?)
48     end
50     def test_ole_type_variable_kind
51       assert_equal("CONSTANT", @var1.variable_kind)
52       assert_equal("DISPATCH", @var2.variable_kind)
53     end
55     def test_ole_type_varkind
56       assert_equal(2, @var1.varkind)
57       assert_equal(3, @var2.varkind)
58     end
60     def test_to_s
61       assert_equal(@var1.name, @var1.to_s)
62     end
64     def test_inspect
65       assert_equal("#<WIN32OLE::Variable:ssfDESKTOP=0>",  @var1.inspect)
66       assert_equal("#<WIN32OLE::Variable:UILevel=nil>", @var2.inspect)
67     end
69   end
70 end