windows-pr 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGES +444 -438
- data/MANIFEST +68 -65
- data/README +154 -153
- data/Rakefile +42 -37
- data/doc/conversion_guide.txt +37 -37
- data/lib/windows/clipboard.rb +61 -61
- data/lib/windows/com.rb +192 -192
- data/lib/windows/com/accessibility.rb +16 -16
- data/lib/windows/com/automation.rb +149 -149
- data/lib/windows/com/variant.rb +24 -24
- data/lib/windows/console.rb +114 -114
- data/lib/windows/debug.rb +35 -35
- data/lib/windows/device_io.rb +248 -248
- data/lib/windows/directory.rb +27 -27
- data/lib/windows/error.rb +504 -498
- data/lib/windows/eventlog.rb +80 -80
- data/lib/windows/file.rb +264 -264
- data/lib/windows/file_mapping.rb +25 -25
- data/lib/windows/filesystem.rb +15 -15
- data/lib/windows/gdi/bitmap.rb +65 -65
- data/lib/windows/gdi/device_context.rb +46 -46
- data/lib/windows/gdi/metafile.rb +40 -40
- data/lib/windows/gdi/painting_drawing.rb +115 -115
- data/lib/windows/handle.rb +23 -23
- data/lib/windows/library.rb +44 -44
- data/lib/windows/limits.rb +34 -34
- data/lib/windows/mailslot.rb +24 -24
- data/lib/windows/memory.rb +128 -128
- data/lib/windows/msvcrt/buffer.rb +75 -75
- data/lib/windows/msvcrt/directory.rb +31 -31
- data/lib/windows/msvcrt/file.rb +47 -47
- data/lib/windows/msvcrt/io.rb +73 -73
- data/lib/windows/msvcrt/string.rb +182 -182
- data/lib/windows/msvcrt/time.rb +169 -169
- data/lib/windows/national.rb +580 -580
- data/lib/windows/network/management.rb +525 -525
- data/lib/windows/network/snmp.rb +92 -92
- data/lib/windows/network/winsock.rb +128 -128
- data/lib/windows/nio.rb +50 -50
- data/lib/windows/ntfs/winternl.rb +117 -117
- data/lib/windows/path.rb +143 -143
- data/lib/windows/pipe.rb +42 -42
- data/lib/windows/process.rb +176 -176
- data/lib/windows/registry.rb +171 -171
- data/lib/windows/security.rb +479 -479
- data/lib/windows/security/authentication.rb +32 -32
- data/lib/windows/security/sspi.rb +153 -0
- data/lib/windows/service.rb +142 -142
- data/lib/windows/shell.rb +171 -171
- data/lib/windows/socket.rb +86 -86
- data/lib/windows/sound.rb +39 -39
- data/lib/windows/synchronize.rb +133 -133
- data/lib/windows/system_info.rb +229 -229
- data/lib/windows/thread.rb +64 -64
- data/lib/windows/time.rb +48 -48
- data/lib/windows/tool_helper.rb +36 -36
- data/lib/windows/unicode.rb +155 -155
- data/lib/windows/volume.rb +61 -61
- data/lib/windows/window.rb +81 -81
- data/lib/windows/window/classes.rb +59 -59
- data/lib/windows/window/dialog.rb +91 -91
- data/lib/windows/window/menu.rb +102 -102
- data/lib/windows/window/message.rb +297 -297
- data/lib/windows/window/properties.rb +20 -20
- data/lib/windows/window/timer.rb +19 -19
- data/lib/windows/wsa.rb +102 -102
- data/test/tc_clipboard.rb +41 -41
- data/test/tc_com.rb +32 -32
- data/test/tc_com_automation.rb +15 -15
- data/test/tc_console.rb +108 -108
- data/test/tc_debug.rb +48 -48
- data/test/tc_device_io.rb +29 -29
- data/test/tc_directory.rb +25 -25
- data/test/tc_error.rb +38 -38
- data/test/tc_eventlog.rb +58 -58
- data/test/tc_file.rb +67 -67
- data/test/tc_file_mapping.rb +38 -38
- data/test/tc_filesystem.rb +27 -27
- data/test/tc_gdi_bitmap.rb +25 -25
- data/test/tc_gdi_metafile.rb +23 -23
- data/test/tc_handle.rb +36 -36
- data/test/tc_library.rb +37 -37
- data/test/tc_limits.rb +34 -34
- data/test/tc_mailslot.rb +22 -22
- data/test/tc_memory.rb +44 -44
- data/test/tc_msvcrt_buffer.rb +63 -63
- data/test/tc_msvcrt_directory.rb +96 -96
- data/test/tc_msvcrt_file.rb +80 -80
- data/test/tc_msvcrt_io.rb +48 -48
- data/test/tc_msvcrt_string.rb +94 -94
- data/test/tc_msvcrt_time.rb +19 -19
- data/test/tc_national.rb +38 -38
- data/test/tc_network_management.rb +32 -32
- data/test/tc_network_snmp.rb +31 -31
- data/test/tc_network_winsock.rb +34 -34
- data/test/tc_nio.rb +32 -32
- data/test/tc_ntfs_winternl.rb +48 -48
- data/test/tc_path.rb +90 -90
- data/test/tc_pipe.rb +53 -53
- data/test/tc_process.rb +24 -24
- data/test/tc_registry.rb +29 -29
- data/test/tc_security.rb +104 -104
- data/test/tc_security_authentication.rb +34 -34
- data/test/tc_security_sspi.rb +23 -0
- data/test/tc_service.rb +57 -57
- data/test/tc_shell.rb +34 -34
- data/test/tc_socket.rb +20 -20
- data/test/tc_sound.rb +37 -37
- data/test/tc_synchronize.rb +75 -75
- data/test/tc_system_info.rb +33 -33
- data/test/tc_thread.rb +29 -29
- data/test/tc_time.rb +32 -32
- data/test/tc_tool_helper.rb +29 -29
- data/test/tc_unicode.rb +83 -83
- data/test/tc_volume.rb +47 -47
- data/test/tc_window.rb +45 -45
- data/test/tc_window_classes.rb +33 -33
- data/test/tc_window_dialog.rb +33 -33
- data/test/tc_window_menu.rb +29 -29
- data/test/tc_window_message.rb +33 -33
- data/test/tc_window_properties.rb +29 -29
- data/test/tc_window_timer.rb +29 -29
- data/test/tc_wsa.rb +19 -19
- data/windows-pr.gemspec +33 -34
- metadata +31 -32
data/test/tc_system_info.rb
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
#####################################################################
|
|
2
|
-
# tc_system_info.rb
|
|
3
|
-
#
|
|
4
|
-
# Test case for the Windows::SystemInfo module.
|
|
5
|
-
#####################################################################
|
|
6
|
-
require 'windows/system_info'
|
|
7
|
-
require 'test/unit'
|
|
8
|
-
|
|
9
|
-
class TC_Windows_SystemInfo < Test::Unit::TestCase
|
|
10
|
-
include Windows::SystemInfo
|
|
11
|
-
|
|
12
|
-
def test_numeric_constants
|
|
13
|
-
assert_equal(386, PROCESSOR_INTEL_386)
|
|
14
|
-
assert_equal(486, PROCESSOR_INTEL_486)
|
|
15
|
-
assert_equal(586, PROCESSOR_INTEL_PENTIUM)
|
|
16
|
-
assert_equal(2200, PROCESSOR_INTEL_IA64)
|
|
17
|
-
assert_equal(8664, PROCESSOR_AMD_X8664)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def test_method_constants
|
|
21
|
-
assert_not_nil(ExpandEnvironmentStrings)
|
|
22
|
-
assert_not_nil(GetComputerName)
|
|
23
|
-
assert_not_nil(GetComputerNameEx)
|
|
24
|
-
assert_not_nil(GetSystemInfo)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def test_custom_boolean_methods
|
|
28
|
-
assert(self.respond_to?(:windows_2000?, true))
|
|
29
|
-
assert(self.respond_to?(:windows_xp?, true))
|
|
30
|
-
assert(self.respond_to?(:windows_2003?, true))
|
|
31
|
-
assert(self.respond_to?(:windows_vista?, true))
|
|
32
|
-
end
|
|
33
|
-
end
|
|
1
|
+
#####################################################################
|
|
2
|
+
# tc_system_info.rb
|
|
3
|
+
#
|
|
4
|
+
# Test case for the Windows::SystemInfo module.
|
|
5
|
+
#####################################################################
|
|
6
|
+
require 'windows/system_info'
|
|
7
|
+
require 'test/unit'
|
|
8
|
+
|
|
9
|
+
class TC_Windows_SystemInfo < Test::Unit::TestCase
|
|
10
|
+
include Windows::SystemInfo
|
|
11
|
+
|
|
12
|
+
def test_numeric_constants
|
|
13
|
+
assert_equal(386, PROCESSOR_INTEL_386)
|
|
14
|
+
assert_equal(486, PROCESSOR_INTEL_486)
|
|
15
|
+
assert_equal(586, PROCESSOR_INTEL_PENTIUM)
|
|
16
|
+
assert_equal(2200, PROCESSOR_INTEL_IA64)
|
|
17
|
+
assert_equal(8664, PROCESSOR_AMD_X8664)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_method_constants
|
|
21
|
+
assert_not_nil(ExpandEnvironmentStrings)
|
|
22
|
+
assert_not_nil(GetComputerName)
|
|
23
|
+
assert_not_nil(GetComputerNameEx)
|
|
24
|
+
assert_not_nil(GetSystemInfo)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_custom_boolean_methods
|
|
28
|
+
assert(self.respond_to?(:windows_2000?, true))
|
|
29
|
+
assert(self.respond_to?(:windows_xp?, true))
|
|
30
|
+
assert(self.respond_to?(:windows_2003?, true))
|
|
31
|
+
assert(self.respond_to?(:windows_vista?, true))
|
|
32
|
+
end
|
|
33
|
+
end
|
data/test/tc_thread.rb
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
#####################################################################
|
|
2
|
-
# tc_thread.rb
|
|
3
|
-
#
|
|
4
|
-
# Test case for the Windows::Thread module.
|
|
5
|
-
#####################################################################
|
|
6
|
-
require 'windows/thread'
|
|
7
|
-
require 'test/unit'
|
|
8
|
-
|
|
9
|
-
class ThreadFoo
|
|
10
|
-
include Windows::Thread
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
class TC_Windows_Thread < Test::Unit::TestCase
|
|
14
|
-
def setup
|
|
15
|
-
@foo = ThreadFoo.new
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def test_numeric_constants
|
|
19
|
-
assert_equal(0x00100000, ThreadFoo::SYNCHRONIZE)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def test_method_constants
|
|
23
|
-
assert_not_nil(ThreadFoo::CreateThread)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def teardown
|
|
27
|
-
@foo = nil
|
|
28
|
-
end
|
|
29
|
-
end
|
|
1
|
+
#####################################################################
|
|
2
|
+
# tc_thread.rb
|
|
3
|
+
#
|
|
4
|
+
# Test case for the Windows::Thread module.
|
|
5
|
+
#####################################################################
|
|
6
|
+
require 'windows/thread'
|
|
7
|
+
require 'test/unit'
|
|
8
|
+
|
|
9
|
+
class ThreadFoo
|
|
10
|
+
include Windows::Thread
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TC_Windows_Thread < Test::Unit::TestCase
|
|
14
|
+
def setup
|
|
15
|
+
@foo = ThreadFoo.new
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_numeric_constants
|
|
19
|
+
assert_equal(0x00100000, ThreadFoo::SYNCHRONIZE)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_method_constants
|
|
23
|
+
assert_not_nil(ThreadFoo::CreateThread)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def teardown
|
|
27
|
+
@foo = nil
|
|
28
|
+
end
|
|
29
|
+
end
|
data/test/tc_time.rb
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
#####################################################################
|
|
2
|
-
# tc_time.rb
|
|
3
|
-
#
|
|
4
|
-
# Test case for the Windows::Time module.
|
|
5
|
-
#####################################################################
|
|
6
|
-
require 'windows/time'
|
|
7
|
-
require 'test/unit'
|
|
8
|
-
|
|
9
|
-
class TimeFoo
|
|
10
|
-
include Windows::Time
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
class TC_Windows_Time < Test::Unit::TestCase
|
|
14
|
-
def setup
|
|
15
|
-
@foo = TimeFoo.new
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def test_numeric_constants
|
|
19
|
-
assert_equal(0, TimeFoo::TIME_ZONE_ID_UNKNOWN)
|
|
20
|
-
assert_equal(1, TimeFoo::TIME_ZONE_ID_STANDARD)
|
|
21
|
-
assert_equal(2, TimeFoo::TIME_ZONE_ID_DAYLIGHT)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def test_method_constants
|
|
25
|
-
assert_not_nil(TimeFoo::CompareFileTime)
|
|
26
|
-
assert_not_nil(TimeFoo::GetLocalTime)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def teardown
|
|
30
|
-
@foo = nil
|
|
31
|
-
end
|
|
32
|
-
end
|
|
1
|
+
#####################################################################
|
|
2
|
+
# tc_time.rb
|
|
3
|
+
#
|
|
4
|
+
# Test case for the Windows::Time module.
|
|
5
|
+
#####################################################################
|
|
6
|
+
require 'windows/time'
|
|
7
|
+
require 'test/unit'
|
|
8
|
+
|
|
9
|
+
class TimeFoo
|
|
10
|
+
include Windows::Time
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TC_Windows_Time < Test::Unit::TestCase
|
|
14
|
+
def setup
|
|
15
|
+
@foo = TimeFoo.new
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_numeric_constants
|
|
19
|
+
assert_equal(0, TimeFoo::TIME_ZONE_ID_UNKNOWN)
|
|
20
|
+
assert_equal(1, TimeFoo::TIME_ZONE_ID_STANDARD)
|
|
21
|
+
assert_equal(2, TimeFoo::TIME_ZONE_ID_DAYLIGHT)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_method_constants
|
|
25
|
+
assert_not_nil(TimeFoo::CompareFileTime)
|
|
26
|
+
assert_not_nil(TimeFoo::GetLocalTime)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def teardown
|
|
30
|
+
@foo = nil
|
|
31
|
+
end
|
|
32
|
+
end
|
data/test/tc_tool_helper.rb
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
#####################################################################
|
|
2
|
-
# tc_tool_helper.rb
|
|
3
|
-
#
|
|
4
|
-
# Test case for the Windows::ToolHelper module.
|
|
5
|
-
#####################################################################
|
|
6
|
-
require 'windows/tool_helper'
|
|
7
|
-
require 'test/unit'
|
|
8
|
-
|
|
9
|
-
class ToolHelperFoo
|
|
10
|
-
include Windows::ToolHelper
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
class TC_Windows_ToolHelper < Test::Unit::TestCase
|
|
14
|
-
def setup
|
|
15
|
-
@foo = ToolHelperFoo.new
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def test_numeric_constants
|
|
19
|
-
assert_equal(0x00000001, ToolHelperFoo::TH32CS_SNAPHEAPLIST)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def test_method_constants
|
|
23
|
-
assert_not_nil(ToolHelperFoo::Process32First)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def teardown
|
|
27
|
-
@foo = nil
|
|
28
|
-
end
|
|
29
|
-
end
|
|
1
|
+
#####################################################################
|
|
2
|
+
# tc_tool_helper.rb
|
|
3
|
+
#
|
|
4
|
+
# Test case for the Windows::ToolHelper module.
|
|
5
|
+
#####################################################################
|
|
6
|
+
require 'windows/tool_helper'
|
|
7
|
+
require 'test/unit'
|
|
8
|
+
|
|
9
|
+
class ToolHelperFoo
|
|
10
|
+
include Windows::ToolHelper
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TC_Windows_ToolHelper < Test::Unit::TestCase
|
|
14
|
+
def setup
|
|
15
|
+
@foo = ToolHelperFoo.new
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_numeric_constants
|
|
19
|
+
assert_equal(0x00000001, ToolHelperFoo::TH32CS_SNAPHEAPLIST)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_method_constants
|
|
23
|
+
assert_not_nil(ToolHelperFoo::Process32First)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def teardown
|
|
27
|
+
@foo = nil
|
|
28
|
+
end
|
|
29
|
+
end
|
data/test/tc_unicode.rb
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
# encoding: ascii-8bit
|
|
2
|
-
#####################################################################
|
|
3
|
-
# tc_unicode.rb
|
|
4
|
-
#
|
|
5
|
-
# Test case for the Windows::Unicode module.
|
|
6
|
-
#####################################################################
|
|
7
|
-
require "windows/unicode"
|
|
8
|
-
require "test/unit"
|
|
9
|
-
|
|
10
|
-
class TC_Windows_Unicode < Test::Unit::TestCase
|
|
11
|
-
include Windows::Unicode
|
|
12
|
-
|
|
13
|
-
def test_numeric_constants
|
|
14
|
-
assert_equal(0, CP_ACP)
|
|
15
|
-
assert_equal(1, CP_OEMCP)
|
|
16
|
-
assert_equal(2, CP_MACCP)
|
|
17
|
-
assert_equal(3, CP_THREAD_ACP)
|
|
18
|
-
assert_equal(42, CP_SYMBOL)
|
|
19
|
-
assert_equal(65000, CP_UTF7)
|
|
20
|
-
assert_equal(65001, CP_UTF8)
|
|
21
|
-
|
|
22
|
-
assert_equal(0x00000001, MB_PRECOMPOSED)
|
|
23
|
-
assert_equal(0x00000002, MB_COMPOSITE)
|
|
24
|
-
assert_equal(0x00000004, MB_USEGLYPHCHARS)
|
|
25
|
-
assert_equal(0x00000008, MB_ERR_INVALID_CHARS)
|
|
26
|
-
|
|
27
|
-
assert_equal(0x00000200, WC_COMPOSITECHECK)
|
|
28
|
-
assert_equal(0x00000010, WC_DISCARDNS)
|
|
29
|
-
assert_equal(0x00000020, WC_SEPCHARS)
|
|
30
|
-
assert_equal(0x00000040, WC_DEFAULTCHAR)
|
|
31
|
-
assert_equal(0x00000400, WC_NO_BEST_FIT_CHARS)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def test_method_constants
|
|
35
|
-
assert_respond_to(self, :GetTextCharset)
|
|
36
|
-
assert_respond_to(self, :GetTextCharsetInfo)
|
|
37
|
-
assert_respond_to(self, :IsDBCSLeadByte)
|
|
38
|
-
assert_respond_to(self, :IsDBCSLeadByteEx)
|
|
39
|
-
assert_respond_to(self, :IsTextUnicode)
|
|
40
|
-
assert_respond_to(self, :MultiByteToWideChar)
|
|
41
|
-
assert_respond_to(self, :TranslateCharsetInfo)
|
|
42
|
-
assert_respond_to(self, :WideCharToMultiByte)
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def test_multi_to_wide
|
|
46
|
-
assert(self.respond_to?(:multi_to_wide, true))
|
|
47
|
-
assert_equal("\000\000", multi_to_wide(''))
|
|
48
|
-
assert_equal("h\000e\000l\000l\000o\000\000\000", multi_to_wide('hello'))
|
|
49
|
-
assert_equal(
|
|
50
|
-
"\316\000\" \316\000\273\000\316\000\273\000\316\000\254\000\317\000\222\001\000\000",
|
|
51
|
-
multi_to_wide("Ελλάσ")
|
|
52
|
-
)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def test_multi_to_wide_with_encoding
|
|
56
|
-
assert_equal("h\000e\000l\000l\000o\000\000\000", multi_to_wide('hello', CP_UTF8))
|
|
57
|
-
assert_equal("\225\003\273\003\273\003\254\003\303\003\000\000", multi_to_wide("Ελλάσ", CP_UTF8))
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
def test_multi_to_wide_expected_errors
|
|
61
|
-
assert_raise(TypeError){ multi_to_wide(1) }
|
|
62
|
-
assert_raise(TypeError){ multi_to_wide([]) }
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def test_wide_to_multi
|
|
66
|
-
assert(self.respond_to?(:wide_to_multi, true))
|
|
67
|
-
assert_equal('', wide_to_multi("\000\000"))
|
|
68
|
-
assert_equal('hello', wide_to_multi("h\000e\000l\000l\000o\000\000\000"))
|
|
69
|
-
assert_equal("Ελλάσ",
|
|
70
|
-
wide_to_multi("\316\000\" \316\000\273\000\316\000\273\000\316\000\254\000\317\000\222\001\000\000")
|
|
71
|
-
)
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def test_wide_to_multi_with_encoding
|
|
75
|
-
assert_equal('hello', wide_to_multi("h\000e\000l\000l\000o\000\000\000"), CP_UTF8)
|
|
76
|
-
assert_equal("Ελλάσ", wide_to_multi("\225\003\273\003\273\003\254\003\303\003\000\000", CP_UTF8))
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
def test_wide_to_multi_expected_errors
|
|
80
|
-
assert_raise(TypeError){ wide_to_multi(1) }
|
|
81
|
-
assert_raise(TypeError){ wide_to_multi([]) }
|
|
82
|
-
end
|
|
83
|
-
end
|
|
1
|
+
# encoding: ascii-8bit
|
|
2
|
+
#####################################################################
|
|
3
|
+
# tc_unicode.rb
|
|
4
|
+
#
|
|
5
|
+
# Test case for the Windows::Unicode module.
|
|
6
|
+
#####################################################################
|
|
7
|
+
require "windows/unicode"
|
|
8
|
+
require "test/unit"
|
|
9
|
+
|
|
10
|
+
class TC_Windows_Unicode < Test::Unit::TestCase
|
|
11
|
+
include Windows::Unicode
|
|
12
|
+
|
|
13
|
+
def test_numeric_constants
|
|
14
|
+
assert_equal(0, CP_ACP)
|
|
15
|
+
assert_equal(1, CP_OEMCP)
|
|
16
|
+
assert_equal(2, CP_MACCP)
|
|
17
|
+
assert_equal(3, CP_THREAD_ACP)
|
|
18
|
+
assert_equal(42, CP_SYMBOL)
|
|
19
|
+
assert_equal(65000, CP_UTF7)
|
|
20
|
+
assert_equal(65001, CP_UTF8)
|
|
21
|
+
|
|
22
|
+
assert_equal(0x00000001, MB_PRECOMPOSED)
|
|
23
|
+
assert_equal(0x00000002, MB_COMPOSITE)
|
|
24
|
+
assert_equal(0x00000004, MB_USEGLYPHCHARS)
|
|
25
|
+
assert_equal(0x00000008, MB_ERR_INVALID_CHARS)
|
|
26
|
+
|
|
27
|
+
assert_equal(0x00000200, WC_COMPOSITECHECK)
|
|
28
|
+
assert_equal(0x00000010, WC_DISCARDNS)
|
|
29
|
+
assert_equal(0x00000020, WC_SEPCHARS)
|
|
30
|
+
assert_equal(0x00000040, WC_DEFAULTCHAR)
|
|
31
|
+
assert_equal(0x00000400, WC_NO_BEST_FIT_CHARS)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_method_constants
|
|
35
|
+
assert_respond_to(self, :GetTextCharset)
|
|
36
|
+
assert_respond_to(self, :GetTextCharsetInfo)
|
|
37
|
+
assert_respond_to(self, :IsDBCSLeadByte)
|
|
38
|
+
assert_respond_to(self, :IsDBCSLeadByteEx)
|
|
39
|
+
assert_respond_to(self, :IsTextUnicode)
|
|
40
|
+
assert_respond_to(self, :MultiByteToWideChar)
|
|
41
|
+
assert_respond_to(self, :TranslateCharsetInfo)
|
|
42
|
+
assert_respond_to(self, :WideCharToMultiByte)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_multi_to_wide
|
|
46
|
+
assert(self.respond_to?(:multi_to_wide, true))
|
|
47
|
+
assert_equal("\000\000", multi_to_wide(''))
|
|
48
|
+
assert_equal("h\000e\000l\000l\000o\000\000\000", multi_to_wide('hello'))
|
|
49
|
+
assert_equal(
|
|
50
|
+
"\316\000\" \316\000\273\000\316\000\273\000\316\000\254\000\317\000\222\001\000\000",
|
|
51
|
+
multi_to_wide("Ελλάσ")
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def test_multi_to_wide_with_encoding
|
|
56
|
+
assert_equal("h\000e\000l\000l\000o\000\000\000", multi_to_wide('hello', CP_UTF8))
|
|
57
|
+
assert_equal("\225\003\273\003\273\003\254\003\303\003\000\000", multi_to_wide("Ελλάσ", CP_UTF8))
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_multi_to_wide_expected_errors
|
|
61
|
+
assert_raise(TypeError){ multi_to_wide(1) }
|
|
62
|
+
assert_raise(TypeError){ multi_to_wide([]) }
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def test_wide_to_multi
|
|
66
|
+
assert(self.respond_to?(:wide_to_multi, true))
|
|
67
|
+
assert_equal('', wide_to_multi("\000\000"))
|
|
68
|
+
assert_equal('hello', wide_to_multi("h\000e\000l\000l\000o\000\000\000"))
|
|
69
|
+
assert_equal("Ελλάσ",
|
|
70
|
+
wide_to_multi("\316\000\" \316\000\273\000\316\000\273\000\316\000\254\000\317\000\222\001\000\000")
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_wide_to_multi_with_encoding
|
|
75
|
+
assert_equal('hello', wide_to_multi("h\000e\000l\000l\000o\000\000\000"), CP_UTF8)
|
|
76
|
+
assert_equal("Ελλάσ", wide_to_multi("\225\003\273\003\273\003\254\003\303\003\000\000", CP_UTF8))
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def test_wide_to_multi_expected_errors
|
|
80
|
+
assert_raise(TypeError){ wide_to_multi(1) }
|
|
81
|
+
assert_raise(TypeError){ wide_to_multi([]) }
|
|
82
|
+
end
|
|
83
|
+
end
|
data/test/tc_volume.rb
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
#####################################################################
|
|
2
|
-
# tc_volume.rb
|
|
3
|
-
#
|
|
4
|
-
# Test case for the Windows::Volume module.
|
|
5
|
-
#####################################################################
|
|
6
|
-
require 'windows/volume'
|
|
7
|
-
require 'test/unit'
|
|
8
|
-
|
|
9
|
-
class TC_Windows_Volume < Test::Unit::TestCase
|
|
10
|
-
include Windows::Volume
|
|
11
|
-
|
|
12
|
-
def test_constants
|
|
13
|
-
assert_equal(0, DRIVE_UNKNOWN)
|
|
14
|
-
assert_equal(1, DRIVE_NO_ROOT_DIR)
|
|
15
|
-
assert_equal(2, DRIVE_REMOVABLE)
|
|
16
|
-
assert_equal(3, DRIVE_FIXED)
|
|
17
|
-
assert_equal(4, DRIVE_REMOTE)
|
|
18
|
-
assert_equal(5, DRIVE_CDROM)
|
|
19
|
-
assert_equal(6, DRIVE_RAMDISK)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def test_method_constants
|
|
23
|
-
assert_not_nil(DefineDosDevice)
|
|
24
|
-
assert_not_nil(DeleteVolumeMountPoint)
|
|
25
|
-
assert_not_nil(FindFirstVolume)
|
|
26
|
-
assert_not_nil(FindFirstVolumeMountPoint)
|
|
27
|
-
assert_not_nil(FindNextVolume)
|
|
28
|
-
assert_not_nil(FindNextVolumeMountPoint)
|
|
29
|
-
assert_not_nil(FindVolumeClose)
|
|
30
|
-
assert_not_nil(FindVolumeMountPointClose)
|
|
31
|
-
assert_not_nil(GetDriveType)
|
|
32
|
-
assert_not_nil(GetLogicalDrives)
|
|
33
|
-
assert_not_nil(GetLogicalDriveStrings)
|
|
34
|
-
assert_not_nil(GetVolumeInformation)
|
|
35
|
-
assert_not_nil(GetVolumeNameForVolumeMountPoint)
|
|
36
|
-
assert_not_nil(GetVolumePathName)
|
|
37
|
-
assert_not_nil(QueryDosDevice)
|
|
38
|
-
assert_not_nil(SetVolumeLabel)
|
|
39
|
-
assert_not_nil(SetVolumeMountPoint)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def test_get_volume_type
|
|
43
|
-
assert(self.respond_to?(:get_volume_type, true))
|
|
44
|
-
assert_nothing_raised{ get_volume_type }
|
|
45
|
-
assert_kind_of(String, get_volume_type)
|
|
46
|
-
end
|
|
47
|
-
end
|
|
1
|
+
#####################################################################
|
|
2
|
+
# tc_volume.rb
|
|
3
|
+
#
|
|
4
|
+
# Test case for the Windows::Volume module.
|
|
5
|
+
#####################################################################
|
|
6
|
+
require 'windows/volume'
|
|
7
|
+
require 'test/unit'
|
|
8
|
+
|
|
9
|
+
class TC_Windows_Volume < Test::Unit::TestCase
|
|
10
|
+
include Windows::Volume
|
|
11
|
+
|
|
12
|
+
def test_constants
|
|
13
|
+
assert_equal(0, DRIVE_UNKNOWN)
|
|
14
|
+
assert_equal(1, DRIVE_NO_ROOT_DIR)
|
|
15
|
+
assert_equal(2, DRIVE_REMOVABLE)
|
|
16
|
+
assert_equal(3, DRIVE_FIXED)
|
|
17
|
+
assert_equal(4, DRIVE_REMOTE)
|
|
18
|
+
assert_equal(5, DRIVE_CDROM)
|
|
19
|
+
assert_equal(6, DRIVE_RAMDISK)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_method_constants
|
|
23
|
+
assert_not_nil(DefineDosDevice)
|
|
24
|
+
assert_not_nil(DeleteVolumeMountPoint)
|
|
25
|
+
assert_not_nil(FindFirstVolume)
|
|
26
|
+
assert_not_nil(FindFirstVolumeMountPoint)
|
|
27
|
+
assert_not_nil(FindNextVolume)
|
|
28
|
+
assert_not_nil(FindNextVolumeMountPoint)
|
|
29
|
+
assert_not_nil(FindVolumeClose)
|
|
30
|
+
assert_not_nil(FindVolumeMountPointClose)
|
|
31
|
+
assert_not_nil(GetDriveType)
|
|
32
|
+
assert_not_nil(GetLogicalDrives)
|
|
33
|
+
assert_not_nil(GetLogicalDriveStrings)
|
|
34
|
+
assert_not_nil(GetVolumeInformation)
|
|
35
|
+
assert_not_nil(GetVolumeNameForVolumeMountPoint)
|
|
36
|
+
assert_not_nil(GetVolumePathName)
|
|
37
|
+
assert_not_nil(QueryDosDevice)
|
|
38
|
+
assert_not_nil(SetVolumeLabel)
|
|
39
|
+
assert_not_nil(SetVolumeMountPoint)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_get_volume_type
|
|
43
|
+
assert(self.respond_to?(:get_volume_type, true))
|
|
44
|
+
assert_nothing_raised{ get_volume_type }
|
|
45
|
+
assert_kind_of(String, get_volume_type)
|
|
46
|
+
end
|
|
47
|
+
end
|