windows-pr 1.1.3 → 1.2.0

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.
Files changed (123) hide show
  1. data/CHANGES +15 -0
  2. data/MANIFEST +65 -65
  3. data/README +149 -149
  4. data/Rakefile +37 -52
  5. data/doc/conversion_guide.txt +37 -37
  6. data/lib/windows/clipboard.rb +2 -0
  7. data/lib/windows/com.rb +2 -0
  8. data/lib/windows/com/accessibility.rb +12 -10
  9. data/lib/windows/com/automation.rb +149 -147
  10. data/lib/windows/com/variant.rb +24 -22
  11. data/lib/windows/console.rb +114 -112
  12. data/lib/windows/debug.rb +35 -33
  13. data/lib/windows/device_io.rb +248 -246
  14. data/lib/windows/directory.rb +2 -0
  15. data/lib/windows/error.rb +2 -0
  16. data/lib/windows/eventlog.rb +2 -0
  17. data/lib/windows/file.rb +264 -262
  18. data/lib/windows/file_mapping.rb +25 -23
  19. data/lib/windows/filesystem.rb +2 -0
  20. data/lib/windows/gdi/bitmap.rb +65 -63
  21. data/lib/windows/gdi/device_context.rb +46 -44
  22. data/lib/windows/gdi/metafile.rb +40 -38
  23. data/lib/windows/gdi/painting_drawing.rb +115 -113
  24. data/lib/windows/handle.rb +2 -0
  25. data/lib/windows/library.rb +2 -0
  26. data/lib/windows/limits.rb +34 -31
  27. data/lib/windows/mailslot.rb +2 -0
  28. data/lib/windows/memory.rb +2 -0
  29. data/lib/windows/msvcrt/buffer.rb +75 -73
  30. data/lib/windows/msvcrt/directory.rb +31 -29
  31. data/lib/windows/msvcrt/file.rb +47 -45
  32. data/lib/windows/msvcrt/io.rb +62 -60
  33. data/lib/windows/msvcrt/string.rb +2 -0
  34. data/lib/windows/msvcrt/time.rb +169 -167
  35. data/lib/windows/national.rb +580 -578
  36. data/lib/windows/network/management.rb +525 -523
  37. data/lib/windows/network/snmp.rb +92 -90
  38. data/lib/windows/network/winsock.rb +128 -126
  39. data/lib/windows/nio.rb +2 -0
  40. data/lib/windows/ntfs/winternl.rb +96 -82
  41. data/lib/windows/path.rb +143 -141
  42. data/lib/windows/pipe.rb +42 -40
  43. data/lib/windows/process.rb +2 -0
  44. data/lib/windows/registry.rb +171 -126
  45. data/lib/windows/security.rb +479 -477
  46. data/lib/windows/security/authentication.rb +32 -30
  47. data/lib/windows/service.rb +142 -140
  48. data/lib/windows/shell.rb +171 -169
  49. data/lib/windows/socket.rb +86 -0
  50. data/lib/windows/sound.rb +39 -37
  51. data/lib/windows/synchronize.rb +133 -131
  52. data/lib/windows/system_info.rb +4 -2
  53. data/lib/windows/thread.rb +2 -0
  54. data/lib/windows/time.rb +48 -46
  55. data/lib/windows/tool_helper.rb +36 -34
  56. data/lib/windows/unicode.rb +2 -0
  57. data/lib/windows/volume.rb +61 -59
  58. data/lib/windows/window.rb +81 -79
  59. data/lib/windows/window/classes.rb +59 -57
  60. data/lib/windows/window/dialog.rb +91 -89
  61. data/lib/windows/window/menu.rb +102 -100
  62. data/lib/windows/window/message.rb +297 -295
  63. data/lib/windows/window/properties.rb +20 -18
  64. data/lib/windows/window/timer.rb +19 -17
  65. data/lib/windows/wsa.rb +102 -0
  66. data/test/tc_clipboard.rb +41 -41
  67. data/test/tc_com.rb +32 -32
  68. data/test/tc_com_automation.rb +15 -15
  69. data/test/tc_console.rb +108 -108
  70. data/test/tc_debug.rb +48 -48
  71. data/test/tc_device_io.rb +29 -29
  72. data/test/tc_directory.rb +25 -25
  73. data/test/tc_error.rb +38 -50
  74. data/test/tc_eventlog.rb +58 -58
  75. data/test/tc_file.rb +67 -67
  76. data/test/tc_file_mapping.rb +38 -38
  77. data/test/tc_filesystem.rb +27 -27
  78. data/test/tc_gdi_bitmap.rb +25 -25
  79. data/test/tc_gdi_metafile.rb +23 -23
  80. data/test/tc_handle.rb +36 -36
  81. data/test/tc_library.rb +37 -37
  82. data/test/tc_limits.rb +34 -34
  83. data/test/tc_mailslot.rb +22 -22
  84. data/test/tc_memory.rb +44 -44
  85. data/test/tc_msvcrt_buffer.rb +59 -68
  86. data/test/tc_msvcrt_directory.rb +96 -98
  87. data/test/tc_msvcrt_file.rb +80 -80
  88. data/test/tc_msvcrt_io.rb +48 -48
  89. data/test/tc_msvcrt_string.rb +94 -93
  90. data/test/tc_msvcrt_time.rb +19 -29
  91. data/test/tc_national.rb +38 -38
  92. data/test/tc_network_management.rb +32 -32
  93. data/test/tc_network_snmp.rb +31 -31
  94. data/test/tc_network_winsock.rb +34 -34
  95. data/test/tc_nio.rb +32 -32
  96. data/test/tc_ntfs_winternl.rb +33 -18
  97. data/test/tc_path.rb +90 -90
  98. data/test/tc_pipe.rb +53 -53
  99. data/test/tc_process.rb +24 -24
  100. data/test/tc_registry.rb +29 -29
  101. data/test/tc_security.rb +104 -104
  102. data/test/tc_security_authentication.rb +34 -34
  103. data/test/tc_service.rb +57 -57
  104. data/test/tc_shell.rb +34 -34
  105. data/test/tc_socket.rb +20 -0
  106. data/test/tc_sound.rb +37 -37
  107. data/test/tc_synchronize.rb +75 -75
  108. data/test/tc_system_info.rb +33 -43
  109. data/test/tc_thread.rb +29 -29
  110. data/test/tc_time.rb +32 -32
  111. data/test/tc_tool_helper.rb +29 -29
  112. data/test/tc_unicode.rb +62 -62
  113. data/test/tc_volume.rb +47 -47
  114. data/test/tc_window.rb +45 -45
  115. data/test/tc_window_classes.rb +33 -33
  116. data/test/tc_window_dialog.rb +33 -33
  117. data/test/tc_window_menu.rb +29 -29
  118. data/test/tc_window_message.rb +33 -33
  119. data/test/tc_window_properties.rb +29 -29
  120. data/test/tc_window_timer.rb +29 -29
  121. data/test/tc_wsa.rb +19 -0
  122. data/windows-pr.gemspec +1 -1
  123. metadata +13 -7
@@ -1,18 +1,20 @@
1
- require 'windows/api'
2
-
3
- module Windows
4
- module Window
5
- module Properties
6
- API.auto_namespace = 'Windows::Window::Properties'
7
- API.auto_constant = true
8
- API.auto_method = true
9
- API.auto_unicode = true
10
-
11
- API.new('EnumProps', 'LK', 'I', 'user32')
12
- API.new('EnumPropsEx', 'LKL', 'I', 'user32')
13
- API.new('GetProp', 'LP', 'L', 'user32')
14
- API.new('RemoveProp', 'LP', 'L', 'user32')
15
- API.new('SetProp', 'LPL', 'B', 'user32')
16
- end
17
- end
18
- end
1
+ require 'windows/api'
2
+
3
+ module Windows
4
+ module Window
5
+ module Properties
6
+ API.auto_namespace = 'Windows::Window::Properties'
7
+ API.auto_constant = true
8
+ API.auto_method = true
9
+ API.auto_unicode = true
10
+
11
+ private
12
+
13
+ API.new('EnumProps', 'LK', 'I', 'user32')
14
+ API.new('EnumPropsEx', 'LKL', 'I', 'user32')
15
+ API.new('GetProp', 'LP', 'L', 'user32')
16
+ API.new('RemoveProp', 'LP', 'L', 'user32')
17
+ API.new('SetProp', 'LPL', 'B', 'user32')
18
+ end
19
+ end
20
+ end
@@ -1,17 +1,19 @@
1
- require 'windows/api'
2
-
3
- module Windows
4
- module Window
5
- module Timer
6
- API.auto_namespace = 'Windows::Window::Timer'
7
- API.auto_constant = true
8
- API.auto_method = true
9
- API.auto_unicode = false
10
-
11
- API.new('KillTimer', 'LP', 'B', 'user32')
12
- API.new('QueryPerformanceCounter', 'P', 'B')
13
- API.new('QueryPerformanceFrequency', 'P', 'B')
14
- API.new('SetTimer', 'LIIK', 'P', 'user32')
15
- end
16
- end
17
- end
1
+ require 'windows/api'
2
+
3
+ module Windows
4
+ module Window
5
+ module Timer
6
+ API.auto_namespace = 'Windows::Window::Timer'
7
+ API.auto_constant = true
8
+ API.auto_method = true
9
+ API.auto_unicode = false
10
+
11
+ private
12
+
13
+ API.new('KillTimer', 'LP', 'B', 'user32')
14
+ API.new('QueryPerformanceCounter', 'P', 'B')
15
+ API.new('QueryPerformanceFrequency', 'P', 'B')
16
+ API.new('SetTimer', 'LIIK', 'P', 'user32')
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,102 @@
1
+ require 'windows/api'
2
+
3
+ module Windows
4
+ module WSA
5
+ API.auto_namespace = 'Windows::WSA'
6
+ API.auto_constant = true
7
+ API.auto_method = true
8
+ API.auto_unicode = true
9
+
10
+ private
11
+
12
+ # Constants
13
+
14
+ WSA_FLAG_OVERLAPPED = 0x01
15
+ WSA_FLAG_MULTIPOINT_C_ROOT = 0x02
16
+ WSA_FLAG_MULTIPOINT_C_LEAF = 0x04
17
+ WSA_FLAG_MULTIPOINT_D_ROOT = 0x08
18
+ WSA_FLAG_MULTIPOINT_D_LEAF = 0x10
19
+ WSA_FLAG_ACCESS_SYSTEM_SECURITY = 0x40
20
+ WSA_FLAG_NO_HANDLE_INHERIT = 0x80
21
+
22
+ RNRSERVICE_REGISTER = 0
23
+ RNRSERVICE_DEREGISTER = 1
24
+ RNRSERVICE_DELETE = 2
25
+
26
+ # Functions
27
+
28
+ API.new('WSAAccept', 'LPPKP', 'L', 'ws2_32')
29
+ API.new('WSAAddressToString', 'PLPPP', 'I', 'ws2_32')
30
+ API.new('WSAAsyncGetHostByAddr', 'LISIIPI', 'L', 'ws2_32')
31
+ API.new('WSAAsyncGetHostByName', 'LISPI', 'L', 'ws2_32')
32
+ API.new('WSAAsyncGetProtoByName', 'LISPI', 'L', 'ws2_32')
33
+ API.new('WSAAsyncGetProtoByNumber', 'LISPI', 'L', 'ws2_32')
34
+ API.new('WSAAsyncGetServByName', 'LISSPI', 'L', 'ws2_32')
35
+ API.new('WSAAsyncGetServByPort', 'LIISPI', 'L', 'ws2_32')
36
+ API.new('WSAAsyncSelect', 'LLIL', 'I', 'ws2_32')
37
+ API.new('WSACancelAsyncRequest', 'L', 'I', 'ws2_32')
38
+ API.new('WSACleanup', 'V', 'I', 'ws2_32')
39
+ API.new('WSACloseEvent', 'I', 'B', 'ws2_32')
40
+ API.new('WSAConnect', 'LPIPPPP', 'I', 'ws2_32')
41
+ API.new('WSACreateEvent', 'V', 'L', 'ws2_32')
42
+ API.new('WSADuplicateSocket', 'LLP', 'I', 'ws2_32')
43
+ API.new('WSAEnumNetworkEvents', 'LLP', 'I', 'ws2_32')
44
+ API.new('WSAEnumProtocols', 'PPP', 'I', 'ws2_32')
45
+ API.new('WSAEventSelect', 'LLL', 'I', 'ws2_32')
46
+ API.new('WSAGetLastError', 'V', 'I', 'ws2_32')
47
+ API.new('WSAGetOverlappedResult', 'LPPIP', 'B', 'ws2_32')
48
+ API.new('WSAGetQOSByName', 'LPP', 'B', 'ws2_32')
49
+ API.new('WSAGetServiceClassInfo', 'PPPP', 'I', 'ws2_32')
50
+ API.new('WSAGetServiceClassNameByClassId', 'PPP', 'I', 'ws2_32')
51
+ API.new('WSAHtonl', 'LLP', 'I', 'ws2_32')
52
+ API.new('WSAHtons', 'LIP', 'I', 'ws2_32')
53
+ API.new('WSAInstallServiceClass', 'P', 'I', 'ws2_32')
54
+ API.new('WSAIoctl', 'LLPLPLPPP', 'I', 'ws2_32')
55
+ API.new('WSAJoinLeaf', 'LPIPPPPL', 'L', 'ws2_32')
56
+ API.new('WSALookupServiceBegin', 'PLP', 'I', 'ws2_32')
57
+ API.new('WSALookupServiceEnd', 'L', 'I', 'ws2_32')
58
+ API.new('WSALookupServiceNext', 'LLPP', 'I', 'ws2_32')
59
+ API.new('WSANtohl', 'LLP', 'I', 'ws2_32')
60
+ API.new('WSANtohs', 'LIP', 'I', 'ws2_32')
61
+ API.new('WSAProviderConfigChange', 'PPP', 'I', 'ws2_32')
62
+ API.new('WSARecv', 'LPLPPPP', 'I', 'ws2_32')
63
+ API.new('WSARecvDisconnect', 'LP', 'I', 'ws2_32')
64
+ API.new('WSARecvEx', 'LPIP', 'I', 'mswsock')
65
+ API.new('WSARecvFrom', 'LPLPPPPPP', 'I', 'ws2_32')
66
+ API.new('WSARemoveServiceClass', 'P', 'I', 'ws2_32')
67
+ API.new('WSAResetEvent', 'L', 'B', 'ws2_32')
68
+ API.new('WSASend', 'LPLPLPP', 'I', 'ws2_32')
69
+ API.new('WSASendDisconnect', 'LP', 'I', 'ws2_32')
70
+ API.new('WSASendTo', 'LPLPLPIPP', 'I', 'ws2_32')
71
+ API.new('WSASetEvent', 'L', 'B', 'ws2_32')
72
+ API.new('WSASetLastError', 'I', 'V', 'ws2_32')
73
+ API.new('WSASetService', 'PIL', 'I', 'ws2_32')
74
+ API.new('WSAStartup', 'LP', 'I', 'ws2_32')
75
+ API.new('WSASocket', 'IIIPLL', 'L', 'ws2_32')
76
+ API.new('WSAStringToAddress', 'PIPPP', 'I', 'ws2_32')
77
+ API.new('WSAWaitForMultipleEvents', 'LPILI', 'L', 'ws2_32')
78
+
79
+ begin
80
+ API.new('WSAConnectByList', 'LPPPPPPP', 'B', 'ws2_32')
81
+ API.new('WSAConnectByName', 'LPPPPPPP', 'B', 'ws2_32')
82
+ API.new('WSADeleteSocketPeerTargetName', 'LPLPP', 'L', 'fwpuclnt')
83
+ API.new('WSAEnumNameSpaceProvidersEx', 'PP', 'I', 'ws2_32')
84
+ API.new('WSAPoll', 'PLI', 'I', 'ws2_32')
85
+ API.new('WSAQuerySocketSecurity', 'LPLPPPP', 'I', 'fwpuclnt')
86
+ API.new('WSARevertImpersonation', 'V', 'I', 'fwpuclnt')
87
+ API.new('WSASendMsg', 'LPLPPP', 'I', 'ws2_32')
88
+ API.new('WSASetSocketPeerTargetName', 'LPLPP', 'I', 'fwpuclnt')
89
+ API.new('WSASetSocketSecurity', 'LPLPP', 'I', 'fwpuclnt')
90
+ rescue Win32::API::LoadLibraryError
91
+ # Vista or later
92
+ end
93
+
94
+ begin
95
+ API.new('WSAEnumNameSpaceProviders', 'PP', 'I', 'ws2_32')
96
+ API.new('WSAImpersonateSocketPeer', 'LPL', 'I', 'fwpuclnt')
97
+ API.new('WSANSPIoctl', 'LLPLPLPP', 'I', 'ws2_32')
98
+ rescue Win32::API::LoadLibraryError
99
+ # XP or later
100
+ end
101
+ end
102
+ end
data/test/tc_clipboard.rb CHANGED
@@ -1,41 +1,41 @@
1
- #####################################################################
2
- # tc_clipboard.rb
3
- #
4
- # Test case for the Windows::Clipboard module.
5
- #####################################################################
6
- require 'windows/clipboard'
7
- require 'test/unit'
8
-
9
- class TC_Windows_Clipboard < Test::Unit::TestCase
10
- include Windows::Clipboard
11
-
12
- def test_methods
13
- assert_respond_to(self, :OpenClipboard)
14
- assert_respond_to(self, :CloseClipboard)
15
- assert_respond_to(self, :GetClipboardData)
16
- assert_respond_to(self, :EmptyClipboard)
17
- assert_respond_to(self, :SetClipboardData)
18
- assert_respond_to(self, :CountClipboardFormats)
19
- assert_respond_to(self, :IsClipboardFormatAvailable)
20
- assert_respond_to(self, :GetClipboardFormatName)
21
- assert_respond_to(self, :EnumClipboardFormats)
22
- assert_respond_to(self, :RegisterClipboardFormat)
23
- end
24
-
25
- def test_constants
26
- assert_equal(1, CF_TEXT)
27
- assert_equal(2, CF_BITMAP)
28
- assert_equal(3, CF_METAFILEPICT)
29
- assert_equal(4, CF_SYLK)
30
- assert_equal(5, CF_DIF)
31
- assert_equal(6, CF_TIFF)
32
- assert_equal(7, CF_OEMTEXT)
33
- assert_equal(8, CF_DIB)
34
- assert_equal(9, CF_PALETTE)
35
- assert_equal(10, CF_PENDATA)
36
- assert_equal(11, CF_RIFF)
37
- assert_equal(12, CF_WAVE)
38
- assert_equal(13, CF_UNICODETEXT)
39
- assert_equal(14, CF_ENHMETAFILE)
40
- end
41
- end
1
+ #####################################################################
2
+ # tc_clipboard.rb
3
+ #
4
+ # Test case for the Windows::Clipboard module.
5
+ #####################################################################
6
+ require 'windows/clipboard'
7
+ require 'test/unit'
8
+
9
+ class TC_Windows_Clipboard < Test::Unit::TestCase
10
+ include Windows::Clipboard
11
+
12
+ def test_methods
13
+ assert_respond_to(self, :OpenClipboard)
14
+ assert_respond_to(self, :CloseClipboard)
15
+ assert_respond_to(self, :GetClipboardData)
16
+ assert_respond_to(self, :EmptyClipboard)
17
+ assert_respond_to(self, :SetClipboardData)
18
+ assert_respond_to(self, :CountClipboardFormats)
19
+ assert_respond_to(self, :IsClipboardFormatAvailable)
20
+ assert_respond_to(self, :GetClipboardFormatName)
21
+ assert_respond_to(self, :EnumClipboardFormats)
22
+ assert_respond_to(self, :RegisterClipboardFormat)
23
+ end
24
+
25
+ def test_constants
26
+ assert_equal(1, CF_TEXT)
27
+ assert_equal(2, CF_BITMAP)
28
+ assert_equal(3, CF_METAFILEPICT)
29
+ assert_equal(4, CF_SYLK)
30
+ assert_equal(5, CF_DIF)
31
+ assert_equal(6, CF_TIFF)
32
+ assert_equal(7, CF_OEMTEXT)
33
+ assert_equal(8, CF_DIB)
34
+ assert_equal(9, CF_PALETTE)
35
+ assert_equal(10, CF_PENDATA)
36
+ assert_equal(11, CF_RIFF)
37
+ assert_equal(12, CF_WAVE)
38
+ assert_equal(13, CF_UNICODETEXT)
39
+ assert_equal(14, CF_ENHMETAFILE)
40
+ end
41
+ end
data/test/tc_com.rb CHANGED
@@ -1,32 +1,32 @@
1
- #####################################################################
2
- # tc_com.rb
3
- #
4
- # Test case for the Windows::COM module.
5
- #####################################################################
6
- require "windows/com"
7
- require "test/unit"
8
-
9
- class TC_Windows_COM < Test::Unit::TestCase
10
- include Windows::COM
11
-
12
- def test_method_constants
13
- assert_respond_to(self, :BindMoniker)
14
- assert_respond_to(self, :CLSIDFromProgID)
15
- assert_respond_to(self, :CLSIDFromProgIDEx)
16
- assert_respond_to(self, :CoAddRefServerProcess)
17
- assert_respond_to(self, :CoAllowSetForegroundWindow)
18
- assert_respond_to(self, :CoCancelCall)
19
- assert_respond_to(self, :CoCopyProxy)
20
- assert_respond_to(self, :CoCreateFreeThreadedMarshaler)
21
- assert_respond_to(self, :CoCreateGuid)
22
- assert_respond_to(self, :CoCreateInstance)
23
- end
24
-
25
- def test_numeric_constants
26
- assert_equal(0, VT_EMPTY)
27
- assert_equal(1, VT_NULL)
28
- assert_equal(2, VT_I2)
29
- assert_equal(3, VT_I4)
30
- assert_equal(4, VT_R4)
31
- end
32
- end
1
+ #####################################################################
2
+ # tc_com.rb
3
+ #
4
+ # Test case for the Windows::COM module.
5
+ #####################################################################
6
+ require "windows/com"
7
+ require "test/unit"
8
+
9
+ class TC_Windows_COM < Test::Unit::TestCase
10
+ include Windows::COM
11
+
12
+ def test_method_constants
13
+ assert_respond_to(self, :BindMoniker)
14
+ assert_respond_to(self, :CLSIDFromProgID)
15
+ assert_respond_to(self, :CLSIDFromProgIDEx)
16
+ assert_respond_to(self, :CoAddRefServerProcess)
17
+ assert_respond_to(self, :CoAllowSetForegroundWindow)
18
+ assert_respond_to(self, :CoCancelCall)
19
+ assert_respond_to(self, :CoCopyProxy)
20
+ assert_respond_to(self, :CoCreateFreeThreadedMarshaler)
21
+ assert_respond_to(self, :CoCreateGuid)
22
+ assert_respond_to(self, :CoCreateInstance)
23
+ end
24
+
25
+ def test_numeric_constants
26
+ assert_equal(0, VT_EMPTY)
27
+ assert_equal(1, VT_NULL)
28
+ assert_equal(2, VT_I2)
29
+ assert_equal(3, VT_I4)
30
+ assert_equal(4, VT_R4)
31
+ end
32
+ end
@@ -1,15 +1,15 @@
1
- #####################################################################
2
- # tc_com_automation.rb
3
- #
4
- # Test case for the Windows::COM::Automation module.
5
- #####################################################################
6
- require 'windows/com/automation'
7
- require 'test/unit'
8
-
9
- class TC_Windows_COM_Automation < Test::Unit::TestCase
10
- include Windows::COM::Automation
11
-
12
- def test_method_constants
13
- assert_respond_to(self, :BstrFromVector)
14
- end
15
- end
1
+ #####################################################################
2
+ # tc_com_automation.rb
3
+ #
4
+ # Test case for the Windows::COM::Automation module.
5
+ #####################################################################
6
+ require 'windows/com/automation'
7
+ require 'test/unit'
8
+
9
+ class TC_Windows_COM_Automation < Test::Unit::TestCase
10
+ include Windows::COM::Automation
11
+
12
+ def test_method_constants
13
+ assert_respond_to(self, :BstrFromVector)
14
+ end
15
+ end
data/test/tc_console.rb CHANGED
@@ -1,108 +1,108 @@
1
- ######################################################################
2
- # tc_console.rb
3
- #
4
- # Test case for the Windows::Console module.
5
- ######################################################################
6
- require 'windows/console'
7
- require 'test/unit'
8
-
9
- class TC_Windows_Console < Test::Unit::TestCase
10
- include Windows::Console
11
-
12
- def setup
13
- @ver = `ver`.chomp
14
- end
15
-
16
- def test_numeric_constants
17
- assert_equal(0, CTRL_C_EVENT)
18
- assert_equal(1, CTRL_BREAK_EVENT)
19
- assert_equal(5, CTRL_LOGOFF_EVENT)
20
- assert_equal(6, CTRL_SHUTDOWN_EVENT)
21
- assert_equal(0x0001, ENABLE_PROCESSED_INPUT)
22
- assert_equal(0x0002, ENABLE_LINE_INPUT)
23
- assert_equal(0x0002, ENABLE_WRAP_AT_EOL_OUTPUT)
24
- assert_equal(0x0004, ENABLE_ECHO_INPUT)
25
- assert_equal(0x0008, ENABLE_WINDOW_INPUT)
26
- assert_equal(0x0010, ENABLE_MOUSE_INPUT)
27
- assert_equal(0x0020, ENABLE_INSERT_MODE)
28
- assert_equal(0x0040, ENABLE_QUICK_EDIT_MODE)
29
- assert_equal(-10, STD_INPUT_HANDLE)
30
- assert_equal(-11, STD_OUTPUT_HANDLE)
31
- assert_equal(-12, STD_ERROR_HANDLE)
32
- end
33
-
34
- def test_method_constants
35
- assert_respond_to(self, :AddConsoleAlias)
36
- assert_respond_to(self, :AllocConsole)
37
- assert_respond_to(self, :CreateConsoleScreenBuffer)
38
- assert_respond_to(self, :FillConsoleOutputAttribute)
39
- assert_respond_to(self, :FillConsoleOutputCharacter)
40
- assert_respond_to(self, :FlushConsoleInputBuffer)
41
- assert_respond_to(self, :FreeConsole)
42
- assert_respond_to(self, :GenerateConsoleCtrlEvent)
43
- assert_respond_to(self, :GetConsoleAlias)
44
- assert_respond_to(self, :GetConsoleAliases)
45
- assert_respond_to(self, :GetConsoleAliasesLength)
46
- assert_respond_to(self, :GetConsoleAliasExes)
47
- assert_respond_to(self, :GetConsoleAliasExesLength)
48
- assert_respond_to(self, :GetConsoleCP)
49
- assert_respond_to(self, :GetConsoleCursorInfo)
50
- assert_respond_to(self, :GetConsoleMode)
51
- assert_respond_to(self, :GetConsoleOutputCP)
52
- assert_respond_to(self, :GetConsoleScreenBufferInfo)
53
- assert_respond_to(self, :GetConsoleTitle)
54
- assert_respond_to(self, :GetConsoleWindow)
55
- assert_respond_to(self, :GetLargestConsoleWindowSize)
56
- assert_respond_to(self, :GetNumberOfConsoleInputEvents)
57
- assert_respond_to(self, :GetNumberOfConsoleMouseButtons)
58
- assert_respond_to(self, :GetStdHandle)
59
- assert_respond_to(self, :PeekConsoleInput)
60
- assert_respond_to(self, :ReadConsole)
61
- assert_respond_to(self, :ReadConsoleInput)
62
- assert_respond_to(self, :ReadConsoleOutput)
63
- assert_respond_to(self, :ReadConsoleOutputAttribute)
64
- assert_respond_to(self, :ReadConsoleOutputCharacter)
65
- assert_respond_to(self, :ScrollConsoleScreenBuffer)
66
- assert_respond_to(self, :SetConsoleActiveScreenBuffer)
67
- assert_respond_to(self, :SetConsoleCP)
68
- assert_respond_to(self, :SetConsoleCtrlHandler)
69
- assert_respond_to(self, :SetConsoleCursorInfo)
70
- assert_respond_to(self, :SetConsoleCursorPosition)
71
- assert_respond_to(self, :SetConsoleMode)
72
- assert_respond_to(self, :SetConsoleOutputCP)
73
- assert_respond_to(self, :SetConsoleScreenBufferSize)
74
- assert_respond_to(self, :SetConsoleTextAttribute)
75
- assert_respond_to(self, :SetConsoleTitle)
76
- assert_respond_to(self, :SetConsoleWindowInfo)
77
- assert_respond_to(self, :SetStdHandle)
78
- assert_respond_to(self, :WriteConsole)
79
- assert_respond_to(self, :WriteConsoleInput)
80
- assert_respond_to(self, :WriteConsoleOutput)
81
- assert_respond_to(self, :WriteConsoleOutputAttribute)
82
- assert_respond_to(self, :WriteConsoleOutputCharacter)
83
- end
84
-
85
- def test_method_constants_xp_or_later
86
- if @ver =~ /XP/
87
- assert_respond_to(self, :AttachConsole)
88
- assert_respond_to(self, :GetConsoleDisplayMode)
89
- assert_respond_to(self, :GetConsoleFontSize)
90
- assert_respond_to(self, :GetConsoleProcessList)
91
- assert_respond_to(self, :GetConsoleSelectionInfo)
92
- assert_respond_to(self, :GetCurrentConsoleFont)
93
- assert_respond_to(self, :SetConsoleDisplayMode)
94
- end
95
- end
96
-
97
- def test_explicit_ansi
98
- assert_respond_to(self, :GetConsoleAliasA)
99
- end
100
-
101
- def test_explicit_unicode
102
- assert_respond_to(self, :GetConsoleAliasW)
103
- end
104
-
105
- def teardown
106
- @ver = nil
107
- end
108
- end
1
+ ######################################################################
2
+ # tc_console.rb
3
+ #
4
+ # Test case for the Windows::Console module.
5
+ ######################################################################
6
+ require 'windows/console'
7
+ require 'test/unit'
8
+
9
+ class TC_Windows_Console < Test::Unit::TestCase
10
+ include Windows::Console
11
+
12
+ def setup
13
+ @ver = `ver`.chomp
14
+ end
15
+
16
+ def test_numeric_constants
17
+ assert_equal(0, CTRL_C_EVENT)
18
+ assert_equal(1, CTRL_BREAK_EVENT)
19
+ assert_equal(5, CTRL_LOGOFF_EVENT)
20
+ assert_equal(6, CTRL_SHUTDOWN_EVENT)
21
+ assert_equal(0x0001, ENABLE_PROCESSED_INPUT)
22
+ assert_equal(0x0002, ENABLE_LINE_INPUT)
23
+ assert_equal(0x0002, ENABLE_WRAP_AT_EOL_OUTPUT)
24
+ assert_equal(0x0004, ENABLE_ECHO_INPUT)
25
+ assert_equal(0x0008, ENABLE_WINDOW_INPUT)
26
+ assert_equal(0x0010, ENABLE_MOUSE_INPUT)
27
+ assert_equal(0x0020, ENABLE_INSERT_MODE)
28
+ assert_equal(0x0040, ENABLE_QUICK_EDIT_MODE)
29
+ assert_equal(-10, STD_INPUT_HANDLE)
30
+ assert_equal(-11, STD_OUTPUT_HANDLE)
31
+ assert_equal(-12, STD_ERROR_HANDLE)
32
+ end
33
+
34
+ def test_method_constants
35
+ assert_respond_to(self, :AddConsoleAlias)
36
+ assert_respond_to(self, :AllocConsole)
37
+ assert_respond_to(self, :CreateConsoleScreenBuffer)
38
+ assert_respond_to(self, :FillConsoleOutputAttribute)
39
+ assert_respond_to(self, :FillConsoleOutputCharacter)
40
+ assert_respond_to(self, :FlushConsoleInputBuffer)
41
+ assert_respond_to(self, :FreeConsole)
42
+ assert_respond_to(self, :GenerateConsoleCtrlEvent)
43
+ assert_respond_to(self, :GetConsoleAlias)
44
+ assert_respond_to(self, :GetConsoleAliases)
45
+ assert_respond_to(self, :GetConsoleAliasesLength)
46
+ assert_respond_to(self, :GetConsoleAliasExes)
47
+ assert_respond_to(self, :GetConsoleAliasExesLength)
48
+ assert_respond_to(self, :GetConsoleCP)
49
+ assert_respond_to(self, :GetConsoleCursorInfo)
50
+ assert_respond_to(self, :GetConsoleMode)
51
+ assert_respond_to(self, :GetConsoleOutputCP)
52
+ assert_respond_to(self, :GetConsoleScreenBufferInfo)
53
+ assert_respond_to(self, :GetConsoleTitle)
54
+ assert_respond_to(self, :GetConsoleWindow)
55
+ assert_respond_to(self, :GetLargestConsoleWindowSize)
56
+ assert_respond_to(self, :GetNumberOfConsoleInputEvents)
57
+ assert_respond_to(self, :GetNumberOfConsoleMouseButtons)
58
+ assert_respond_to(self, :GetStdHandle)
59
+ assert_respond_to(self, :PeekConsoleInput)
60
+ assert_respond_to(self, :ReadConsole)
61
+ assert_respond_to(self, :ReadConsoleInput)
62
+ assert_respond_to(self, :ReadConsoleOutput)
63
+ assert_respond_to(self, :ReadConsoleOutputAttribute)
64
+ assert_respond_to(self, :ReadConsoleOutputCharacter)
65
+ assert_respond_to(self, :ScrollConsoleScreenBuffer)
66
+ assert_respond_to(self, :SetConsoleActiveScreenBuffer)
67
+ assert_respond_to(self, :SetConsoleCP)
68
+ assert_respond_to(self, :SetConsoleCtrlHandler)
69
+ assert_respond_to(self, :SetConsoleCursorInfo)
70
+ assert_respond_to(self, :SetConsoleCursorPosition)
71
+ assert_respond_to(self, :SetConsoleMode)
72
+ assert_respond_to(self, :SetConsoleOutputCP)
73
+ assert_respond_to(self, :SetConsoleScreenBufferSize)
74
+ assert_respond_to(self, :SetConsoleTextAttribute)
75
+ assert_respond_to(self, :SetConsoleTitle)
76
+ assert_respond_to(self, :SetConsoleWindowInfo)
77
+ assert_respond_to(self, :SetStdHandle)
78
+ assert_respond_to(self, :WriteConsole)
79
+ assert_respond_to(self, :WriteConsoleInput)
80
+ assert_respond_to(self, :WriteConsoleOutput)
81
+ assert_respond_to(self, :WriteConsoleOutputAttribute)
82
+ assert_respond_to(self, :WriteConsoleOutputCharacter)
83
+ end
84
+
85
+ def test_method_constants_xp_or_later
86
+ if @ver =~ /XP/
87
+ assert_respond_to(self, :AttachConsole)
88
+ assert_respond_to(self, :GetConsoleDisplayMode)
89
+ assert_respond_to(self, :GetConsoleFontSize)
90
+ assert_respond_to(self, :GetConsoleProcessList)
91
+ assert_respond_to(self, :GetConsoleSelectionInfo)
92
+ assert_respond_to(self, :GetCurrentConsoleFont)
93
+ assert_respond_to(self, :SetConsoleDisplayMode)
94
+ end
95
+ end
96
+
97
+ def test_explicit_ansi
98
+ assert_respond_to(self, :GetConsoleAliasA)
99
+ end
100
+
101
+ def test_explicit_unicode
102
+ assert_respond_to(self, :GetConsoleAliasW)
103
+ end
104
+
105
+ def teardown
106
+ @ver = nil
107
+ end
108
+ end