mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
add WIN32OLE_TYPE#inspect, WIN32OLE_VARIABLE#inspect
add test/win32ole and remove some test script from ext/win32ole/tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
53efc38350
commit
3ff87cc53f
6 changed files with 355 additions and 16 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
||||||
|
Sat Apr 1 15:11:27 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
||||||
|
|
||||||
|
* ext/win32ole/win32ole.c :add WIN32OLE_TYPE#inspect,
|
||||||
|
WIN32OLE_VARIABLE#inspect
|
||||||
|
|
||||||
|
* remove ext/win32ole/tests/testOLEVARIABLE.rb, testOLETYPE.rb
|
||||||
|
testOLETYPELIB.rb.
|
||||||
|
|
||||||
|
* testall.rb :ditto.
|
||||||
|
|
||||||
|
* add test/win32ole
|
||||||
|
|
||||||
Fri Mar 31 14:24:55 2006 nobuyoshi nakada <nobu@ruby-lang.org>
|
Fri Mar 31 14:24:55 2006 nobuyoshi nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* enumerator.c (enumerator_with_index): removed suspicious return
|
* enumerator.c (enumerator_with_index): removed suspicious return
|
||||||
|
|
|
@ -2,12 +2,9 @@ require 'test/unit'
|
||||||
require 'win32ole'
|
require 'win32ole'
|
||||||
puts "Now Test Win32OLE version #{WIN32OLE::VERSION}"
|
puts "Now Test Win32OLE version #{WIN32OLE::VERSION}"
|
||||||
require "testWIN32OLE"
|
require "testWIN32OLE"
|
||||||
require "testOLETYPE"
|
|
||||||
require "testOLEPARAM"
|
require "testOLEPARAM"
|
||||||
require "testOLEMETHOD"
|
require "testOLEMETHOD"
|
||||||
require "testOLEVARIABLE"
|
|
||||||
require "testVARIANT"
|
require "testVARIANT"
|
||||||
require "testOLETYPELIB"
|
|
||||||
require "testOLEVARIANT"
|
require "testOLEVARIANT"
|
||||||
require "testOLEEVENT"
|
require "testOLEEVENT"
|
||||||
require "testNIL2VTEMPTY"
|
require "testNIL2VTEMPTY"
|
||||||
|
|
|
@ -1242,6 +1242,29 @@ ole_val2variant2(val, var)
|
||||||
g_nil_to = VT_ERROR;
|
g_nil_to = VT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
make_inspect(class_name, detail)
|
||||||
|
const char *class_name;
|
||||||
|
VALUE detail;
|
||||||
|
{
|
||||||
|
VALUE str;
|
||||||
|
str = rb_str_new2("#<");
|
||||||
|
rb_str_cat2(str, class_name);
|
||||||
|
rb_str_cat2(str, ":");
|
||||||
|
rb_str_concat(str, detail);
|
||||||
|
rb_str_cat2(str, ">");
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
default_inspect(self, class_name)
|
||||||
|
VALUE self;
|
||||||
|
const char *class_name;
|
||||||
|
{
|
||||||
|
VALUE detail = rb_funcall(self, rb_intern("to_s"), 0);
|
||||||
|
return make_inspect(class_name, detail);
|
||||||
|
}
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
ole_set_member(self, dispatch)
|
ole_set_member(self, dispatch)
|
||||||
VALUE self;
|
VALUE self;
|
||||||
|
@ -1257,6 +1280,7 @@ ole_set_member(self, dispatch)
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static VALUE fole_s_allocate _((VALUE));
|
static VALUE fole_s_allocate _((VALUE));
|
||||||
static VALUE
|
static VALUE
|
||||||
fole_s_allocate(klass)
|
fole_s_allocate(klass)
|
||||||
|
@ -4454,13 +4478,7 @@ static VALUE
|
||||||
foletypelib_inspect(self)
|
foletypelib_inspect(self)
|
||||||
VALUE self;
|
VALUE self;
|
||||||
{
|
{
|
||||||
VALUE str;
|
return default_inspect(self, "WIN32OLE_TYPELIB");
|
||||||
VALUE to_s;
|
|
||||||
str = rb_str_new2("#<WIN32OLE_TYPELIB:");
|
|
||||||
to_s = rb_funcall(self, rb_intern("to_s"), 0);
|
|
||||||
rb_str_concat(str, to_s);
|
|
||||||
rb_str_cat2(str, ">");
|
|
||||||
return str;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4999,6 +5017,13 @@ foletype_impl_ole_types(self)
|
||||||
return ole_type_impl_ole_types(ptype->pTypeInfo);
|
return ole_type_impl_ole_types(ptype->pTypeInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
foletype_inspect(self)
|
||||||
|
VALUE self;
|
||||||
|
{
|
||||||
|
return default_inspect(self, "WIN32OLE_TYPE");
|
||||||
|
}
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
ole_variables(pTypeInfo)
|
ole_variables(pTypeInfo)
|
||||||
ITypeInfo *pTypeInfo;
|
ITypeInfo *pTypeInfo;
|
||||||
|
@ -5086,9 +5111,7 @@ foletype_variables(self)
|
||||||
* # => ['Activate', 'Copy', 'Delete',....]
|
* # => ['Activate', 'Copy', 'Delete',....]
|
||||||
*/
|
*/
|
||||||
static VALUE
|
static VALUE
|
||||||
foletype_methods(argc, argv, self)
|
foletype_methods(self)
|
||||||
int argc;
|
|
||||||
VALUE *argv;
|
|
||||||
VALUE self;
|
VALUE self;
|
||||||
{
|
{
|
||||||
struct oletypedata *ptype;
|
struct oletypedata *ptype;
|
||||||
|
@ -5409,6 +5432,16 @@ folevariable_varkind(self)
|
||||||
return ole_variable_varkind(pvar->pTypeInfo, pvar->index);
|
return ole_variable_varkind(pvar->pTypeInfo, pvar->index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
folevariable_inspect(self)
|
||||||
|
VALUE self;
|
||||||
|
{
|
||||||
|
VALUE detail = rb_funcall(self, rb_intern("to_s"), 0);
|
||||||
|
rb_str_cat2(detail, "=");
|
||||||
|
rb_str_concat(detail, rb_funcall(rb_funcall(self, rb_intern("value"), 0), rb_intern("inspect"), 0));
|
||||||
|
return make_inspect("WIN32OLE_VARIABLE", detail);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Document-class: WIN32OLE_METHOD
|
* Document-class: WIN32OLE_METHOD
|
||||||
*
|
*
|
||||||
|
@ -7375,7 +7408,6 @@ Init_win32ole()
|
||||||
rb_define_method(cWIN32OLE_TYPE, "progid", foletype_progid, 0);
|
rb_define_method(cWIN32OLE_TYPE, "progid", foletype_progid, 0);
|
||||||
rb_define_method(cWIN32OLE_TYPE, "visible?", foletype_visible, 0);
|
rb_define_method(cWIN32OLE_TYPE, "visible?", foletype_visible, 0);
|
||||||
rb_define_alias(cWIN32OLE_TYPE, "to_s", "name");
|
rb_define_alias(cWIN32OLE_TYPE, "to_s", "name");
|
||||||
|
|
||||||
rb_define_method(cWIN32OLE_TYPE, "major_version", foletype_major_version, 0);
|
rb_define_method(cWIN32OLE_TYPE, "major_version", foletype_major_version, 0);
|
||||||
rb_define_method(cWIN32OLE_TYPE, "minor_version", foletype_minor_version, 0);
|
rb_define_method(cWIN32OLE_TYPE, "minor_version", foletype_minor_version, 0);
|
||||||
rb_define_method(cWIN32OLE_TYPE, "typekind", foletype_typekind, 0);
|
rb_define_method(cWIN32OLE_TYPE, "typekind", foletype_typekind, 0);
|
||||||
|
@ -7384,9 +7416,10 @@ Init_win32ole()
|
||||||
rb_define_method(cWIN32OLE_TYPE, "helpfile", foletype_helpfile, 0);
|
rb_define_method(cWIN32OLE_TYPE, "helpfile", foletype_helpfile, 0);
|
||||||
rb_define_method(cWIN32OLE_TYPE, "helpcontext", foletype_helpcontext, 0);
|
rb_define_method(cWIN32OLE_TYPE, "helpcontext", foletype_helpcontext, 0);
|
||||||
rb_define_method(cWIN32OLE_TYPE, "variables", foletype_variables, 0);
|
rb_define_method(cWIN32OLE_TYPE, "variables", foletype_variables, 0);
|
||||||
rb_define_method(cWIN32OLE_TYPE, "ole_methods", foletype_methods, -1);
|
rb_define_method(cWIN32OLE_TYPE, "ole_methods", foletype_methods, 0);
|
||||||
rb_define_method(cWIN32OLE_TYPE, "ole_typelib", foletype_ole_typelib, 0);
|
rb_define_method(cWIN32OLE_TYPE, "ole_typelib", foletype_ole_typelib, 0);
|
||||||
rb_define_method(cWIN32OLE_TYPE, "implemented_ole_types", foletype_impl_ole_types, 0);
|
rb_define_method(cWIN32OLE_TYPE, "implemented_ole_types", foletype_impl_ole_types, 0);
|
||||||
|
rb_define_method(cWIN32OLE_TYPE, "inspect", foletype_inspect, 0);
|
||||||
|
|
||||||
cWIN32OLE_VARIABLE = rb_define_class("WIN32OLE_VARIABLE", rb_cObject);
|
cWIN32OLE_VARIABLE = rb_define_class("WIN32OLE_VARIABLE", rb_cObject);
|
||||||
rb_define_method(cWIN32OLE_VARIABLE, "name", folevariable_name, 0);
|
rb_define_method(cWIN32OLE_VARIABLE, "name", folevariable_name, 0);
|
||||||
|
@ -7396,12 +7429,12 @@ Init_win32ole()
|
||||||
rb_define_method(cWIN32OLE_VARIABLE, "visible?", folevariable_visible, 0);
|
rb_define_method(cWIN32OLE_VARIABLE, "visible?", folevariable_visible, 0);
|
||||||
rb_define_method(cWIN32OLE_VARIABLE, "variable_kind", folevariable_variable_kind, 0);
|
rb_define_method(cWIN32OLE_VARIABLE, "variable_kind", folevariable_variable_kind, 0);
|
||||||
rb_define_method(cWIN32OLE_VARIABLE, "varkind", folevariable_varkind, 0);
|
rb_define_method(cWIN32OLE_VARIABLE, "varkind", folevariable_varkind, 0);
|
||||||
|
rb_define_method(cWIN32OLE_VARIABLE, "inspect", folevariable_inspect, 0);
|
||||||
rb_define_alias(cWIN32OLE_VARIABLE, "to_s", "name");
|
rb_define_alias(cWIN32OLE_VARIABLE, "to_s", "name");
|
||||||
|
|
||||||
cWIN32OLE_METHOD = rb_define_class("WIN32OLE_METHOD", rb_cObject);
|
cWIN32OLE_METHOD = rb_define_class("WIN32OLE_METHOD", rb_cObject);
|
||||||
rb_define_alloc_func(cWIN32OLE_METHOD, folemethod_s_allocate);
|
rb_define_alloc_func(cWIN32OLE_METHOD, folemethod_s_allocate);
|
||||||
rb_define_method(cWIN32OLE_METHOD, "initialize", folemethod_initialize, 2);
|
rb_define_method(cWIN32OLE_METHOD, "initialize", folemethod_initialize, 2);
|
||||||
|
|
||||||
rb_define_method(cWIN32OLE_METHOD, "name", folemethod_name, 0);
|
rb_define_method(cWIN32OLE_METHOD, "name", folemethod_name, 0);
|
||||||
rb_define_method(cWIN32OLE_METHOD, "return_type", folemethod_return_type, 0);
|
rb_define_method(cWIN32OLE_METHOD, "return_type", folemethod_return_type, 0);
|
||||||
rb_define_method(cWIN32OLE_METHOD, "return_vtype", folemethod_return_vtype, 0);
|
rb_define_method(cWIN32OLE_METHOD, "return_vtype", folemethod_return_vtype, 0);
|
||||||
|
|
143
test/win32ole/test_win32ole_type.rb
Normal file
143
test/win32ole/test_win32ole_type.rb
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
begin
|
||||||
|
require 'win32ole'
|
||||||
|
rescue LoadError
|
||||||
|
end
|
||||||
|
|
||||||
|
require "test/unit"
|
||||||
|
|
||||||
|
if defined?(WIN32OLE_TYPE)
|
||||||
|
class TestWIN32OLE_TYPE < Test::Unit::TestCase
|
||||||
|
|
||||||
|
def test_s_progids
|
||||||
|
progids = WIN32OLE_TYPE.progids
|
||||||
|
assert_instance_of(Array, progids)
|
||||||
|
assert(progids.size > 0)
|
||||||
|
assert_instance_of(String, progids[0])
|
||||||
|
assert(progids.include?("Shell.Application.1"))
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_initialize
|
||||||
|
assert_raise(ArgumentError) {
|
||||||
|
WIN32OLE_TYPE.new
|
||||||
|
}
|
||||||
|
assert_raise(ArgumentError) {
|
||||||
|
WIN32OLE_TYPE.new("foo")
|
||||||
|
}
|
||||||
|
assert_raise(WIN32OLERuntimeError) {
|
||||||
|
WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "foo")
|
||||||
|
}
|
||||||
|
assert_raise(WIN32OLERuntimeError) {
|
||||||
|
WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "Application")
|
||||||
|
}
|
||||||
|
ole_type = WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "Shell")
|
||||||
|
assert_instance_of(WIN32OLE_TYPE, ole_type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@ole_type = WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "Shell")
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_name
|
||||||
|
assert_equal("Shell", @ole_type.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_type
|
||||||
|
assert_equal("Class", @ole_type.ole_type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_guid
|
||||||
|
assert_equal("{13709620-C279-11CE-A49E-444553540000}", @ole_type.guid)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_progid
|
||||||
|
assert_equal("Shell.Application.1", @ole_type.progid)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_visible?
|
||||||
|
assert(@ole_type.visible?)
|
||||||
|
ole_type = WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "IShellDispatch")
|
||||||
|
assert(!ole_type.visible?)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_to_s
|
||||||
|
assert_equal(@ole_type.to_s, @ole_type.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_major_version
|
||||||
|
assert_equal(0, @ole_type.major_version)
|
||||||
|
# ole_type = WIN32OLE_TYPE.new("Microsoft Word 11.0 Object Library", "Documents")
|
||||||
|
# assert_equal(8, ole_type.major_version)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_minor_version
|
||||||
|
assert_equal(0, @ole_type.minor_version)
|
||||||
|
# ole_type = WIN32OLE_TYPE.new("Microsoft Word 11.0 Object Library", "Documents")
|
||||||
|
# assert_equal(3, ole_type.minor_version)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_typekind
|
||||||
|
assert_equal(5, @ole_type.typekind)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_helpstring
|
||||||
|
assert_equal("Shell Object Type Information", @ole_type.helpstring)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_src_type
|
||||||
|
ole_type = WIN32OLE_TYPE.new("Microsoft Scripting Runtime", "DriveTypeConst")
|
||||||
|
assert_match(/__MIDL___MIDL_itf_scrrun_/, ole_type.src_type)
|
||||||
|
assert_equal(nil, @ole_type.src_type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_helpfile
|
||||||
|
assert_equal("", @ole_type.helpfile)
|
||||||
|
ole_type = WIN32OLE_TYPE.new("Microsoft Scripting Runtime", "Folders")
|
||||||
|
assert_match(/VBENLR98\.CHM$/i, ole_type.helpfile)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_helpcontext
|
||||||
|
assert_equal(0, @ole_type.helpcontext)
|
||||||
|
ole_type = WIN32OLE_TYPE.new("Microsoft Scripting Runtime", "Folders")
|
||||||
|
assert_equal(2181929, ole_type.helpcontext)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_variables
|
||||||
|
variables = @ole_type.variables
|
||||||
|
assert_instance_of(Array, variables)
|
||||||
|
assert(variables.size == 0)
|
||||||
|
|
||||||
|
ole_type = WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "ShellSpecialFolderConstants")
|
||||||
|
variables = ole_type.variables
|
||||||
|
assert_instance_of(Array, variables)
|
||||||
|
assert(variables.size > 0)
|
||||||
|
|
||||||
|
assert_instance_of(WIN32OLE_VARIABLE, variables[0])
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_methods
|
||||||
|
methods = @ole_type.ole_methods
|
||||||
|
assert_instance_of(Array, methods)
|
||||||
|
assert(methods.size > 0)
|
||||||
|
assert_instance_of(WIN32OLE_METHOD, methods[0]);
|
||||||
|
assert(methods.collect{|m| m.name}.include?("Application"))
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_typelib
|
||||||
|
tlib = @ole_type.ole_typelib
|
||||||
|
assert_instance_of(WIN32OLE_TYPELIB, tlib)
|
||||||
|
assert_equal("Microsoft Shell Controls And Automation", tlib.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_implemented_ole_types
|
||||||
|
ole_types = @ole_type.implemented_ole_types
|
||||||
|
assert_instance_of(Array, ole_types)
|
||||||
|
assert(ole_types.size > 0)
|
||||||
|
assert_equal("IShellDispatch", ole_types[0].name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_inspect
|
||||||
|
assert_equal("#<WIN32OLE_TYPE:Shell>", @ole_type.inspect)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
92
test/win32ole/test_win32ole_typelib.rb
Normal file
92
test/win32ole/test_win32ole_typelib.rb
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
begin
|
||||||
|
require 'win32ole'
|
||||||
|
rescue LoadError
|
||||||
|
end
|
||||||
|
|
||||||
|
require "test/unit"
|
||||||
|
|
||||||
|
if defined?(WIN32OLE_TYPELIB)
|
||||||
|
class TestWIN32OLE_TYPELIB < Test::Unit::TestCase
|
||||||
|
def test_s_typelibs
|
||||||
|
tlibs = WIN32OLE_TYPELIB.typelibs
|
||||||
|
assert_instance_of(Array, tlibs)
|
||||||
|
assert(tlibs.size > 0)
|
||||||
|
tlib = tlibs.find {|tlib| tlib.name == "Microsoft Shell Controls And Automation"}
|
||||||
|
assert(tlib)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_initialize
|
||||||
|
assert_raise(ArgumentError) {
|
||||||
|
WIN32OLE_TYPELIB.new(1,2,3,4)
|
||||||
|
}
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_instance_of(WIN32OLE_TYPELIB, tlib)
|
||||||
|
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation", 1.0)
|
||||||
|
assert_instance_of(WIN32OLE_TYPELIB, tlib)
|
||||||
|
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation", 1, 0)
|
||||||
|
assert_instance_of(WIN32OLE_TYPELIB, tlib)
|
||||||
|
guid = tlib.guid
|
||||||
|
|
||||||
|
tlib_by_guid = WIN32OLE_TYPELIB.new(guid, 1, 0)
|
||||||
|
assert_instance_of(WIN32OLE_TYPELIB, tlib_by_guid)
|
||||||
|
assert_equal("Microsoft Shell Controls And Automation" , tlib_by_guid.name)
|
||||||
|
|
||||||
|
assert_raise(WIN32OLERuntimeError) {
|
||||||
|
WIN32OLE_TYPELIB.new("Non Exist Type Library")
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_guid
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_equal("{50A7E9B0-70EF-11D1-B75A-00A0C90564FE}", tlib.guid)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_name
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_equal("Microsoft Shell Controls And Automation", tlib.name)
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("{50A7E9B0-70EF-11D1-B75A-00A0C90564FE}")
|
||||||
|
assert_equal("Microsoft Shell Controls And Automation", tlib.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_version
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_equal(1.0, tlib.version)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_major_version
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_equal(1, tlib.major_version)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_minor_version
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_equal(0, tlib.minor_version)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_path
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_match(/shell32\.dll$/i, tlib.path)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_to_s
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_equal("Microsoft Shell Controls And Automation", tlib.to_s)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_classes
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
ole_classes = tlib.ole_classes
|
||||||
|
assert_instance_of(Array, ole_classes)
|
||||||
|
assert(ole_classes.size > 0)
|
||||||
|
assert_instance_of(WIN32OLE_TYPE, ole_classes[0])
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_inspect
|
||||||
|
tlib = WIN32OLE_TYPELIB.new("Microsoft Shell Controls And Automation")
|
||||||
|
assert_equal("#<WIN32OLE_TYPELIB:Microsoft Shell Controls And Automation>", tlib.inspect)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
62
test/win32ole/test_win32ole_variable.rb
Normal file
62
test/win32ole/test_win32ole_variable.rb
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
begin
|
||||||
|
require 'win32ole'
|
||||||
|
rescue LoadError
|
||||||
|
end
|
||||||
|
|
||||||
|
require "test/unit"
|
||||||
|
|
||||||
|
if defined?(WIN32OLE_VARIABLE)
|
||||||
|
class TestWIN32OLE_VARIABLE < Test::Unit::TestCase
|
||||||
|
|
||||||
|
def setup
|
||||||
|
ole_type = WIN32OLE_TYPE.new("Microsoft Shell Controls And Automation", "ShellSpecialFolderConstants")
|
||||||
|
@var1 = ole_type.variables.find {|v| v.name == 'ssfDESKTOP'}
|
||||||
|
|
||||||
|
variables = WIN32OLE_TYPE.new("Microsoft Windows Installer Object Library", "Installer").variables
|
||||||
|
@var2 = variables.find {|v| v.name == 'UILevel'}
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_name
|
||||||
|
assert_equal('ssfDESKTOP', @var1.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_type
|
||||||
|
assert_equal('INT', @var1.ole_type)
|
||||||
|
assert_equal('MsiUILevel', @var2.ole_type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_type_detail
|
||||||
|
assert_equal(['INT'], @var1.ole_type_detail)
|
||||||
|
assert_equal(['USERDEFINED', 'MsiUILevel'], @var2.ole_type_detail)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_type_value
|
||||||
|
assert_equal(0, @var1.value)
|
||||||
|
assert_equal(nil, @var2.value)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_type_visible?
|
||||||
|
assert(@var1.visible?)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_type_variable_kind
|
||||||
|
assert_equal("CONSTANT", @var1.variable_kind)
|
||||||
|
assert_equal("DISPATCH", @var2.variable_kind)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ole_type_varkind
|
||||||
|
assert_equal(2, @var1.varkind)
|
||||||
|
assert_equal(3, @var2.varkind)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_to_s
|
||||||
|
assert_equal(@var1.name, @var1.to_s)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_inspect
|
||||||
|
assert_equal("#<WIN32OLE_VARIABLE:ssfDESKTOP=0>", @var1.inspect)
|
||||||
|
assert_equal("#<WIN32OLE_VARIABLE:UILevel=nil>", @var2.inspect)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Reference in a new issue