exerb 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/ChangeLog.ja.rd +305 -0
  4. data/README.en.txt +12 -0
  5. data/README.ja.html +143 -0
  6. data/README.ja.txt +6 -0
  7. data/README.md +50 -0
  8. data/Rakefile +205 -0
  9. data/bin/exerb +185 -0
  10. data/bin/mkexy +47 -0
  11. data/doc/LGPL +513 -0
  12. data/doc/class.ja.html +92 -0
  13. data/doc/command.ja.html +109 -0
  14. data/doc/core.ja.html +72 -0
  15. data/doc/example.ja.html +89 -0
  16. data/doc/faq.ja.html +59 -0
  17. data/doc/inside.ja.rd +404 -0
  18. data/doc/license.ja.html +62 -0
  19. data/doc/logo.gif +0 -0
  20. data/doc/misc.ja.html +72 -0
  21. data/doc/navi.gif +0 -0
  22. data/doc/recipe.ja.html +317 -0
  23. data/doc/style.css +187 -0
  24. data/doc/tutorial.ja.html +182 -0
  25. data/example/Makefile +54 -0
  26. data/example/cat_n.rb +14 -0
  27. data/example/exception.rb +9 -0
  28. data/example/ext/Win32API.so +0 -0
  29. data/example/ext/swin.so +0 -0
  30. data/example/msgbox.rb +14 -0
  31. data/example/rubytk.rb +22 -0
  32. data/example/runtime.ico +0 -0
  33. data/example/runtime.rb +19 -0
  34. data/example/vr/clipboard.rb +106 -0
  35. data/example/vr/compat/rubycompat.rb +18 -0
  36. data/example/vr/compat/vrcomctl.rb +12 -0
  37. data/example/vr/compat/vrcontrol.rb +50 -0
  38. data/example/vr/compat/vrmmedia.rb +24 -0
  39. data/example/vr/contrib/inifile.rb +116 -0
  40. data/example/vr/contrib/msgboxconst.rb +55 -0
  41. data/example/vr/contrib/toolbar.rb +371 -0
  42. data/example/vr/contrib/vrctlcolor.rb +110 -0
  43. data/example/vr/contrib/vrhotkey.rb +35 -0
  44. data/example/vr/contrib/vrlistviewex.rb +71 -0
  45. data/example/vr/contrib/vrstdscrollbar.rb +414 -0
  46. data/example/vr/contrib/vrwincomponent.rb +54 -0
  47. data/example/vr/dragdropformat.rb +209 -0
  48. data/example/vr/rscutil.rb +168 -0
  49. data/example/vr/sysmod.rb +249 -0
  50. data/example/vr/vractivex.rb +56 -0
  51. data/example/vr/vrclipboard.rb +53 -0
  52. data/example/vr/vrcomctl.rb +1819 -0
  53. data/example/vr/vrcontrol.rb +1374 -0
  54. data/example/vr/vrdde.rb +623 -0
  55. data/example/vr/vrddrop.rb +190 -0
  56. data/example/vr/vrdialog.rb +406 -0
  57. data/example/vr/vrhandler.rb +195 -0
  58. data/example/vr/vrlayout.old.rb +209 -0
  59. data/example/vr/vrlayout.rb +173 -0
  60. data/example/vr/vrlayout2.rb +340 -0
  61. data/example/vr/vrmargin.rb +141 -0
  62. data/example/vr/vrmgdlayout.rb +381 -0
  63. data/example/vr/vrmmedia.rb +287 -0
  64. data/example/vr/vrolednd.rb +192 -0
  65. data/example/vr/vrowndraw.rb +108 -0
  66. data/example/vr/vrrichedit.rb +366 -0
  67. data/example/vr/vrtimer.rb +148 -0
  68. data/example/vr/vrtooltip.rb +273 -0
  69. data/example/vr/vrtray.rb +143 -0
  70. data/example/vr/vrtvitem.rb +118 -0
  71. data/example/vr/vrtwopane.rb +223 -0
  72. data/example/vr/vruby.rb +1051 -0
  73. data/example/vr/winconst.rb +158 -0
  74. data/example/vruby.rb +38 -0
  75. data/exerb.gemspec +26 -0
  76. data/extconf.rb +7 -0
  77. data/lib/exerb/archive.rb +143 -0
  78. data/lib/exerb/config.rb +51 -0
  79. data/lib/exerb/error.rb +15 -0
  80. data/lib/exerb/executable.rb +68 -0
  81. data/lib/exerb/file_table.rb +189 -0
  82. data/lib/exerb/mkexy.rb +81 -0
  83. data/lib/exerb/name_table.rb +120 -0
  84. data/lib/exerb/recipe.rb +465 -0
  85. data/lib/exerb/resource.rb +190 -0
  86. data/lib/exerb/resource/base.rb +29 -0
  87. data/lib/exerb/resource/binary.rb +31 -0
  88. data/lib/exerb/resource/dialog.rb +30 -0
  89. data/lib/exerb/resource/group_icon.rb +85 -0
  90. data/lib/exerb/resource/icon.rb +52 -0
  91. data/lib/exerb/resource/version_info.rb +155 -0
  92. data/lib/exerb/resource_library.rb +120 -0
  93. data/lib/exerb/utility.rb +95 -0
  94. data/lib/exerb/utility2.rb +122 -0
  95. data/lib/exerb/version.rb +13 -0
  96. data/lib/exerb/win32/const/resource.rb +51 -0
  97. data/lib/exerb/win32/icon_file.rb +78 -0
  98. data/lib/exerb/win32/pe_file.rb +59 -0
  99. data/lib/exerb/win32/resource_directory.rb +105 -0
  100. data/lib/exerb/win32/resource_directory_root.rb +67 -0
  101. data/lib/exerb/win32/resource_entry.rb +98 -0
  102. data/lib/exerb/win32/struct/base.rb +43 -0
  103. data/lib/exerb/win32/struct/icon_dir_entry.rb +83 -0
  104. data/lib/exerb/win32/struct/icon_header.rb +43 -0
  105. data/lib/exerb/win32/struct/icon_res_entry.rb +48 -0
  106. data/lib/exerb/win32/struct/image_dos_header.rb +73 -0
  107. data/lib/exerb/win32/struct/image_file_header.rb +47 -0
  108. data/lib/exerb/win32/struct/image_nt_headers32.rb +53 -0
  109. data/lib/exerb/win32/struct/image_optional_header32.rb +107 -0
  110. data/lib/exerb/win32/struct/image_resource_data_entry.rb +45 -0
  111. data/lib/exerb/win32/struct/image_resource_directory.rb +47 -0
  112. data/lib/exerb/win32/struct/image_resource_directory_entry.rb +72 -0
  113. data/lib/exerb/win32/struct/image_section_header.rb +53 -0
  114. data/lib/exerb/win32/struct/version_info_block.rb +75 -0
  115. data/lib/exerb/win32/struct/vs_fixed_file_info.rb +62 -0
  116. data/src/exerb/cui.c +48 -0
  117. data/src/exerb/default.rb +1 -0
  118. data/src/exerb/exerb.c +877 -0
  119. data/src/exerb/exerb.h +92 -0
  120. data/src/exerb/gui.c +176 -0
  121. data/src/exerb/module.c +138 -0
  122. data/src/exerb/module.h +7 -0
  123. data/src/exerb/patch.c +27 -0
  124. data/src/exerb/resource.h +22 -0
  125. data/src/exerb/resource.rc +121 -0
  126. data/src/exerb/ruby.ico +0 -0
  127. data/src/exerb/utility.c +263 -0
  128. data/src/exerb/utility.h +33 -0
  129. data/test/alltests.rb +16 -0
  130. data/test/test-argv.rb +26 -0
  131. data/test/test-argv/test-argv.rb +9 -0
  132. data/test/test-argv/test-argv.ret +1 -0
  133. data/test/test-dollarzero.rb +26 -0
  134. data/test/test-dollarzero/test-dollarzero.rb +10 -0
  135. data/test/test-dollarzero/test-dollarzero.ret +2 -0
  136. data/test/test-dot.rb +26 -0
  137. data/test/test-dot/dot.dot.dot.rb +9 -0
  138. data/test/test-dot/dot.dot.rb +9 -0
  139. data/test/test-dot/test-dot.rb +13 -0
  140. data/test/test-dot/test-dot.ret +5 -0
  141. data/test/test-exitcode.rb +28 -0
  142. data/test/test-exitcode/test-exitcode.rb +9 -0
  143. data/test/test-kcode.rb +43 -0
  144. data/test/test-kcode/euc.rb +10 -0
  145. data/test/test-kcode/euc.ret +2 -0
  146. data/test/test-kcode/none.rb +10 -0
  147. data/test/test-kcode/none.ret +2 -0
  148. data/test/test-kcode/sjis.rb +10 -0
  149. data/test/test-kcode/sjis.ret +2 -0
  150. data/test/test-kcode/utf8.rb +10 -0
  151. data/test/test-kcode/utf8.ret +2 -0
  152. data/test/test-loadpath.rb +24 -0
  153. data/test/test-loadpath/test-loadpath.rb +9 -0
  154. data/test/test-nest.rb +18 -0
  155. data/test/test-nest/foo.rb +1 -0
  156. data/test/test-nest/foo/bar.rb +2 -0
  157. data/test/test-nest/foo/foo.rb +1 -0
  158. data/test/test-nest/test-nest.rb +1 -0
  159. data/test/test-nest/test-nest.ret +1 -0
  160. data/test/test-preload.rb +24 -0
  161. data/test/test-preload/test-preload.rb +9 -0
  162. data/test/test-regexp.rb +26 -0
  163. data/test/test-regexp/test-regexp.rb +23 -0
  164. data/test/test-regexp/test-regexp.ret +13 -0
  165. data/test/test-require1.rb +26 -0
  166. data/test/test-require1/require1.rb +9 -0
  167. data/test/test-require1/require2.rb +9 -0
  168. data/test/test-require1/require3.rb +9 -0
  169. data/test/test-require1/require4.rb +9 -0
  170. data/test/test-require1/require5.rb +9 -0
  171. data/test/test-require1/require6.rb +9 -0
  172. data/test/test-require1/test-require1.rb +41 -0
  173. data/test/test-require1/test-require1.ret +27 -0
  174. data/test/test-socket.rb +26 -0
  175. data/test/test-socket/test-socket.rb +7 -0
  176. data/test/test-socket/test-socket.ret +1 -0
  177. data/test/testcase.rb +66 -0
  178. data/vendor/mkexports.rb +167 -0
  179. metadata +352 -0
@@ -0,0 +1,9 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-argv.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p(ARGV)
7
+
8
+ #==============================================================================#
9
+ #==============================================================================#
@@ -0,0 +1 @@
1
+ ["a", "b", "c", "d", "e"]
@@ -0,0 +1,26 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-dollarzero.rb,v 1.2 2005/04/15 09:42:52 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ require 'testcase'
7
+
8
+ #==============================================================================#
9
+
10
+ class DollarZeroTestCase < Minitest::Test
11
+ include ExerbTestCase
12
+
13
+ def name2
14
+ return 'test-dollarzero'
15
+ end
16
+
17
+ def test_loadpath
18
+ ret1 = read_result(@name)
19
+ ret2 = execute_exe(@name)
20
+ assert_equal(ret1, ret2)
21
+ end
22
+
23
+ end # DollarZeroTestCase
24
+
25
+ #==============================================================================#
26
+ #==============================================================================#
@@ -0,0 +1,10 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-dollarzero.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p($0)
7
+ p(__FILE__)
8
+
9
+ #==============================================================================#
10
+ #==============================================================================#
@@ -0,0 +1,2 @@
1
+ "test-dollarzero.rb"
2
+ "test-dollarzero.rb"
@@ -0,0 +1,26 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-dot.rb,v 1.6 2005/04/15 09:42:52 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ require 'testcase'
7
+
8
+ #==============================================================================#
9
+
10
+ class DotTestCase < Minitest::Test
11
+ include ExerbTestCase
12
+
13
+ def name2
14
+ return 'test-dot'
15
+ end
16
+
17
+ def test_dot
18
+ ret1 = read_result(@name)
19
+ ret2 = execute_exe(@name)
20
+ assert_equal(ret1, ret2)
21
+ end
22
+
23
+ end # DotTestCase
24
+
25
+ #==============================================================================#
26
+ #==============================================================================#
@@ -0,0 +1,9 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: dot.dot.dot.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p([File.basename(__FILE__), $"])
7
+
8
+ #==============================================================================#
9
+ #==============================================================================#
@@ -0,0 +1,9 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: dot.dot.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p([File.basename(__FILE__), $"])
7
+
8
+ #==============================================================================#
9
+ #==============================================================================#
@@ -0,0 +1,13 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-dot.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p([File.basename(__FILE__), $"])
7
+ require 'dot.dot'
8
+ p([File.basename(__FILE__), $"])
9
+ require 'dot.dot.dot'
10
+ p([File.basename(__FILE__), $"])
11
+
12
+ #==============================================================================#
13
+ #==============================================================================#
@@ -0,0 +1,5 @@
1
+ ["test-dot.rb", ["enumerator.so"]]
2
+ ["dot.dot.rb", ["enumerator.so"]]
3
+ ["test-dot.rb", ["enumerator.so", "dot.dot.rb"]]
4
+ ["dot.dot.dot.rb", ["enumerator.so", "dot.dot.rb"]]
5
+ ["test-dot.rb", ["enumerator.so", "dot.dot.rb", "dot.dot.dot.rb"]]
@@ -0,0 +1,28 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-exitcode.rb,v 1.3 2005/04/15 09:42:52 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ require 'testcase'
7
+
8
+ #==============================================================================#
9
+
10
+ class ExitCodeTestCase < Minitest::Test
11
+ include ExerbTestCase
12
+
13
+ def name2
14
+ return 'test-exitcode'
15
+ end
16
+
17
+ def test_exitcode
18
+ if /mswin|mingw/ =~ RUBY_PLATFORM
19
+ assert_equal("10\n", execute_cmd("#{@name}\\#{@name}.exe || if errorlevel 10 echo 10"))
20
+ else
21
+ assert_equal("10\n", execute_cmd("#{@name}/#{@name}.exe || echo $?"))
22
+ end
23
+ end
24
+
25
+ end # ExitCodeTestCase
26
+
27
+ #==============================================================================#
28
+ #==============================================================================#
@@ -0,0 +1,9 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-exitcode.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ exit(10)
7
+
8
+ #==============================================================================#
9
+ #==============================================================================#
@@ -0,0 +1,43 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-kcode.rb,v 1.6 2005/04/15 09:42:52 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ require 'testcase'
7
+
8
+ #==============================================================================#
9
+
10
+ class KcodeTestCase < Minitest::Test
11
+ include ExerbTestCase
12
+
13
+ def name2
14
+ return 'test-kcode'
15
+ end
16
+
17
+ def setup_exe
18
+ create_exe(@name, 'none')
19
+ create_exe(@name, 'euc')
20
+ create_exe(@name, 'sjis')
21
+ create_exe(@name, 'utf8')
22
+ end
23
+
24
+ def test_none
25
+ assert_equal(read_file("#{@name}/none.ret"), execute_cmd("#{@name}/none.exe"))
26
+ end
27
+
28
+ def test_euc
29
+ assert_equal(read_file("#{@name}/euc.ret"), execute_cmd("#{@name}/euc.exe"))
30
+ end
31
+
32
+ def test_sjis
33
+ assert_equal(read_file("#{@name}/sjis.ret"), execute_cmd("#{@name}/sjis.exe"))
34
+ end
35
+
36
+ def test_utf8
37
+ assert_equal(read_file("#{@name}/utf8.ret"), execute_cmd("#{@name}/utf8.exe"))
38
+ end
39
+
40
+ end # KcodeTestCase
41
+
42
+ #==============================================================================#
43
+ #==============================================================================#
@@ -0,0 +1,10 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: euc.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p($KCODE)
7
+ p("�ţգ�")
8
+
9
+ #==============================================================================#
10
+ #==============================================================================#
@@ -0,0 +1,2 @@
1
+ "EUC"
2
+ "�ţգ�"
@@ -0,0 +1,10 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: none.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p($KCODE)
7
+ p("NONE")
8
+
9
+ #==============================================================================#
10
+ #==============================================================================#
@@ -0,0 +1,2 @@
1
+ "NONE"
2
+ "NONE"
@@ -0,0 +1,10 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: sjis.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p($KCODE)
7
+ p("�r�i�h�r")
8
+
9
+ #==============================================================================#
10
+ #==============================================================================#
@@ -0,0 +1,2 @@
1
+ "SJIS"
2
+ "�r�i�h�r"
@@ -0,0 +1,10 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: utf8.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p($KCODE)
7
+ p("UTF-8")
8
+
9
+ #==============================================================================#
10
+ #==============================================================================#
@@ -0,0 +1,2 @@
1
+ "UTF8"
2
+ "UTF-8"
@@ -0,0 +1,24 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-loadpath.rb,v 1.3 2005/04/15 09:42:52 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ require 'testcase'
7
+
8
+ #==============================================================================#
9
+
10
+ class LoadPathTestCase < Minitest::Test
11
+ include ExerbTestCase
12
+
13
+ def name2
14
+ return 'test-loadpath'
15
+ end
16
+
17
+ def test_loadpath
18
+ assert_equal(%|["."]\n|, execute_exe(@name))
19
+ end
20
+
21
+ end # LoadPathTestCase
22
+
23
+ #==============================================================================#
24
+ #==============================================================================#
@@ -0,0 +1,9 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-loadpath.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p($:)
7
+
8
+ #==============================================================================#
9
+ #==============================================================================#
@@ -0,0 +1,18 @@
1
+ # $Id: test-nest.rb,v 1.1 2008/07/01 15:39:53 arton Exp $
2
+
3
+ require 'testcase'
4
+
5
+ class NestTestCase < Minitest::Test
6
+ include ExerbTestCase
7
+
8
+ def name2
9
+ return 'test-nest'
10
+ end
11
+
12
+ def test_nest
13
+ ret1 = read_result(@name)
14
+ ret2 = execute_exe(@name)
15
+ assert_equal(ret1, ret2)
16
+ end
17
+
18
+ end
@@ -0,0 +1 @@
1
+ require 'foo/foo'
@@ -0,0 +1,2 @@
1
+ require 'foo/foo'
2
+ puts 'hello world'
@@ -0,0 +1 @@
1
+ require 'foo/bar'
@@ -0,0 +1 @@
1
+ require 'foo'
@@ -0,0 +1 @@
1
+ hello world
@@ -0,0 +1,24 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-preload.rb,v 1.1 2009/09/07 18:17:37 arton Exp $
4
+ #==============================================================================#
5
+
6
+ require 'testcase'
7
+
8
+ #==============================================================================#
9
+
10
+ class PreloadTestCase < Minitest::Test
11
+ include ExerbTestCase
12
+
13
+ def name2
14
+ return 'test-preload'
15
+ end
16
+
17
+ def test_preload
18
+ assert_equal("10\n", execute_cmd("#{@name}\\#{@name}.exe || if errorlevel 10 echo 10"))
19
+ end
20
+
21
+ end # PreloadTestCase
22
+
23
+ #==============================================================================#
24
+ #==============================================================================#
@@ -0,0 +1,9 @@
1
+ #==============================================================================#
2
+ # $Id: test-preload.rb,v 1.2 2009/09/08 00:21:29 arton Exp $
3
+ #==============================================================================#
4
+ begin
5
+ require 'enumerator'
6
+ rescue LoadError
7
+ exit(0)
8
+ end
9
+ exit(10)
@@ -0,0 +1,26 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-regexp.rb,v 1.5 2005/04/15 09:42:52 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ require 'testcase'
7
+
8
+ #==============================================================================#
9
+
10
+ class RegexpTestCase < Minitest::Test
11
+ include ExerbTestCase
12
+
13
+ def name2
14
+ return 'test-regexp'
15
+ end
16
+
17
+ def test_regexp
18
+ ret1 = read_result(@name)
19
+ ret2 = execute_exe(@name)
20
+ assert_equal(ret1, ret2)
21
+ end
22
+
23
+ end # RegexpTestCase
24
+
25
+ #==============================================================================#
26
+ #==============================================================================#
@@ -0,0 +1,23 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: test-regexp.rb,v 1.2 2003/11/29 08:55:59 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ p(/Foo/)
7
+ p(/Foo/i)
8
+ p(/Foo/e)
9
+ p(/Foo/s)
10
+ p(/Foo/m)
11
+
12
+ p(/Foo Bar/i)
13
+ p(/Foo\s+Bar/i)
14
+
15
+ p(/Foo Bar/i =~ "Foo Bar")
16
+ p(/Foo Bar/i =~ "Foo\tBar")
17
+ p(/Foo Bar/i =~ "Foo\nBar")
18
+ p(/Foo\s+Bar/i =~ "Foo Bar")
19
+ p(/Foo\s+Bar/i =~ "Foo\tBar")
20
+ p(/Foo\s+Bar/i =~ "Foo\nBar")
21
+
22
+ #==============================================================================#
23
+ #==============================================================================#
@@ -0,0 +1,13 @@
1
+ /Foo/
2
+ /Foo/i
3
+ /Foo/e
4
+ /Foo/s
5
+ /Foo/m
6
+ /Foo Bar/i
7
+ /Foo\s+Bar/i
8
+ 0
9
+ nil
10
+ nil
11
+ 0
12
+ 0
13
+ 0