ruby_on_ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (493) hide show
  1. data/.gitignore +18 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE +22 -0
  5. data/README.md +66 -0
  6. data/Rakefile +1 -0
  7. data/lib/ruby_on_ruby.rb +5 -0
  8. data/lib/ruby_on_ruby/console.rb +7 -0
  9. data/lib/ruby_on_ruby/context.rb +33 -0
  10. data/lib/ruby_on_ruby/file_loader.rb +31 -0
  11. data/lib/ruby_on_ruby/ruby_stream.rb +27 -0
  12. data/lib/ruby_on_ruby/version.rb +3 -0
  13. data/lib/rubyonruby.rb +1 -0
  14. data/ruby_in_ruby.gemspec +19 -0
  15. data/vendor/javascripts/emscripted-ruby/lib/.document +106 -0
  16. data/vendor/javascripts/emscripted-ruby/lib/English.rb +155 -0
  17. data/vendor/javascripts/emscripted-ruby/lib/Env.rb +18 -0
  18. data/vendor/javascripts/emscripted-ruby/lib/README +96 -0
  19. data/vendor/javascripts/emscripted-ruby/lib/abbrev.rb +103 -0
  20. data/vendor/javascripts/emscripted-ruby/lib/base64.rb +133 -0
  21. data/vendor/javascripts/emscripted-ruby/lib/benchmark.rb +572 -0
  22. data/vendor/javascripts/emscripted-ruby/lib/cgi-lib.rb +272 -0
  23. data/vendor/javascripts/emscripted-ruby/lib/cgi.rb +2308 -0
  24. data/vendor/javascripts/emscripted-ruby/lib/cgi/.document +2 -0
  25. data/vendor/javascripts/emscripted-ruby/lib/cgi/session.rb +498 -0
  26. data/vendor/javascripts/emscripted-ruby/lib/cgi/session/pstore.rb +111 -0
  27. data/vendor/javascripts/emscripted-ruby/lib/complex.rb +663 -0
  28. data/vendor/javascripts/emscripted-ruby/lib/csv.rb +992 -0
  29. data/vendor/javascripts/emscripted-ruby/lib/date.rb +1767 -0
  30. data/vendor/javascripts/emscripted-ruby/lib/date/format.rb +1190 -0
  31. data/vendor/javascripts/emscripted-ruby/lib/date2.rb +5 -0
  32. data/vendor/javascripts/emscripted-ruby/lib/debug.rb +947 -0
  33. data/vendor/javascripts/emscripted-ruby/lib/delegate.rb +337 -0
  34. data/vendor/javascripts/emscripted-ruby/lib/drb.rb +2 -0
  35. data/vendor/javascripts/emscripted-ruby/lib/drb/acl.rb +146 -0
  36. data/vendor/javascripts/emscripted-ruby/lib/drb/drb.rb +1782 -0
  37. data/vendor/javascripts/emscripted-ruby/lib/drb/eq.rb +16 -0
  38. data/vendor/javascripts/emscripted-ruby/lib/drb/extserv.rb +64 -0
  39. data/vendor/javascripts/emscripted-ruby/lib/drb/extservm.rb +89 -0
  40. data/vendor/javascripts/emscripted-ruby/lib/drb/gw.rb +122 -0
  41. data/vendor/javascripts/emscripted-ruby/lib/drb/invokemethod.rb +36 -0
  42. data/vendor/javascripts/emscripted-ruby/lib/drb/observer.rb +22 -0
  43. data/vendor/javascripts/emscripted-ruby/lib/drb/ssl.rb +190 -0
  44. data/vendor/javascripts/emscripted-ruby/lib/drb/timeridconv.rb +91 -0
  45. data/vendor/javascripts/emscripted-ruby/lib/drb/unix.rb +108 -0
  46. data/vendor/javascripts/emscripted-ruby/lib/e2mmap.rb +195 -0
  47. data/vendor/javascripts/emscripted-ruby/lib/erb.rb +880 -0
  48. data/vendor/javascripts/emscripted-ruby/lib/eregex.rb +37 -0
  49. data/vendor/javascripts/emscripted-ruby/lib/fileutils.rb +1591 -0
  50. data/vendor/javascripts/emscripted-ruby/lib/finalize.rb +193 -0
  51. data/vendor/javascripts/emscripted-ruby/lib/find.rb +79 -0
  52. data/vendor/javascripts/emscripted-ruby/lib/forwardable.rb +218 -0
  53. data/vendor/javascripts/emscripted-ruby/lib/ftools.rb +261 -0
  54. data/vendor/javascripts/emscripted-ruby/lib/generator.rb +418 -0
  55. data/vendor/javascripts/emscripted-ruby/lib/getoptlong.rb +621 -0
  56. data/vendor/javascripts/emscripted-ruby/lib/getopts.rb +127 -0
  57. data/vendor/javascripts/emscripted-ruby/lib/gserver.rb +253 -0
  58. data/vendor/javascripts/emscripted-ruby/lib/importenv.rb +33 -0
  59. data/vendor/javascripts/emscripted-ruby/lib/ipaddr.rb +814 -0
  60. data/vendor/javascripts/emscripted-ruby/lib/irb.rb +346 -0
  61. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/chws.rb +33 -0
  62. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/fork.rb +39 -0
  63. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/help.rb +34 -0
  64. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/load.rb +67 -0
  65. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/nop.rb +39 -0
  66. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/pushws.rb +39 -0
  67. data/vendor/javascripts/emscripted-ruby/lib/irb/cmd/subirb.rb +43 -0
  68. data/vendor/javascripts/emscripted-ruby/lib/irb/completion.rb +205 -0
  69. data/vendor/javascripts/emscripted-ruby/lib/irb/context.rb +255 -0
  70. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/change-ws.rb +62 -0
  71. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/history.rb +110 -0
  72. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/loader.rb +120 -0
  73. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/math-mode.rb +37 -0
  74. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/multi-irb.rb +241 -0
  75. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/save-history.rb +85 -0
  76. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/tracer.rb +61 -0
  77. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/use-loader.rb +65 -0
  78. data/vendor/javascripts/emscripted-ruby/lib/irb/ext/workspaces.rb +56 -0
  79. data/vendor/javascripts/emscripted-ruby/lib/irb/extend-command.rb +264 -0
  80. data/vendor/javascripts/emscripted-ruby/lib/irb/frame.rb +67 -0
  81. data/vendor/javascripts/emscripted-ruby/lib/irb/help.rb +33 -0
  82. data/vendor/javascripts/emscripted-ruby/lib/irb/init.rb +259 -0
  83. data/vendor/javascripts/emscripted-ruby/lib/irb/input-method.rb +120 -0
  84. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/error.rb +30 -0
  85. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/help-message +35 -0
  86. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/ja/error.rb +27 -0
  87. data/vendor/javascripts/emscripted-ruby/lib/irb/lc/ja/help-message +36 -0
  88. data/vendor/javascripts/emscripted-ruby/lib/irb/locale.rb +184 -0
  89. data/vendor/javascripts/emscripted-ruby/lib/irb/notifier.rb +145 -0
  90. data/vendor/javascripts/emscripted-ruby/lib/irb/output-method.rb +85 -0
  91. data/vendor/javascripts/emscripted-ruby/lib/irb/ruby-lex.rb +1149 -0
  92. data/vendor/javascripts/emscripted-ruby/lib/irb/ruby-token.rb +273 -0
  93. data/vendor/javascripts/emscripted-ruby/lib/irb/slex.rb +285 -0
  94. data/vendor/javascripts/emscripted-ruby/lib/irb/version.rb +16 -0
  95. data/vendor/javascripts/emscripted-ruby/lib/irb/workspace.rb +107 -0
  96. data/vendor/javascripts/emscripted-ruby/lib/irb/ws-for-case-2.rb +15 -0
  97. data/vendor/javascripts/emscripted-ruby/lib/irb/xmp.rb +86 -0
  98. data/vendor/javascripts/emscripted-ruby/lib/jcode.rb +220 -0
  99. data/vendor/javascripts/emscripted-ruby/lib/logger.rb +703 -0
  100. data/vendor/javascripts/emscripted-ruby/lib/mailread.rb +62 -0
  101. data/vendor/javascripts/emscripted-ruby/lib/mathn.rb +308 -0
  102. data/vendor/javascripts/emscripted-ruby/lib/matrix.rb +1278 -0
  103. data/vendor/javascripts/emscripted-ruby/lib/mkmf.rb +1811 -0
  104. data/vendor/javascripts/emscripted-ruby/lib/monitor.rb +352 -0
  105. data/vendor/javascripts/emscripted-ruby/lib/mutex_m.rb +122 -0
  106. data/vendor/javascripts/emscripted-ruby/lib/net/ftp.rb +927 -0
  107. data/vendor/javascripts/emscripted-ruby/lib/net/http.rb +2277 -0
  108. data/vendor/javascripts/emscripted-ruby/lib/net/https.rb +173 -0
  109. data/vendor/javascripts/emscripted-ruby/lib/net/imap.rb +3371 -0
  110. data/vendor/javascripts/emscripted-ruby/lib/net/pop.rb +999 -0
  111. data/vendor/javascripts/emscripted-ruby/lib/net/protocol.rb +392 -0
  112. data/vendor/javascripts/emscripted-ruby/lib/net/smtp.rb +1014 -0
  113. data/vendor/javascripts/emscripted-ruby/lib/net/telnet.rb +756 -0
  114. data/vendor/javascripts/emscripted-ruby/lib/observer.rb +192 -0
  115. data/vendor/javascripts/emscripted-ruby/lib/open-uri.rb +678 -0
  116. data/vendor/javascripts/emscripted-ruby/lib/open3.rb +101 -0
  117. data/vendor/javascripts/emscripted-ruby/lib/optparse.rb +1790 -0
  118. data/vendor/javascripts/emscripted-ruby/lib/optparse/date.rb +17 -0
  119. data/vendor/javascripts/emscripted-ruby/lib/optparse/shellwords.rb +6 -0
  120. data/vendor/javascripts/emscripted-ruby/lib/optparse/time.rb +10 -0
  121. data/vendor/javascripts/emscripted-ruby/lib/optparse/uri.rb +6 -0
  122. data/vendor/javascripts/emscripted-ruby/lib/optparse/version.rb +70 -0
  123. data/vendor/javascripts/emscripted-ruby/lib/ostruct.rb +146 -0
  124. data/vendor/javascripts/emscripted-ruby/lib/parsearg.rb +87 -0
  125. data/vendor/javascripts/emscripted-ruby/lib/parsedate.rb +53 -0
  126. data/vendor/javascripts/emscripted-ruby/lib/pathname.rb +1062 -0
  127. data/vendor/javascripts/emscripted-ruby/lib/ping.rb +64 -0
  128. data/vendor/javascripts/emscripted-ruby/lib/pp.rb +654 -0
  129. data/vendor/javascripts/emscripted-ruby/lib/prettyprint.rb +896 -0
  130. data/vendor/javascripts/emscripted-ruby/lib/profile.rb +6 -0
  131. data/vendor/javascripts/emscripted-ruby/lib/profiler.rb +59 -0
  132. data/vendor/javascripts/emscripted-ruby/lib/pstore.rb +395 -0
  133. data/vendor/javascripts/emscripted-ruby/lib/racc/parser.rb +442 -0
  134. data/vendor/javascripts/emscripted-ruby/lib/rational.rb +564 -0
  135. data/vendor/javascripts/emscripted-ruby/lib/readbytes.rb +41 -0
  136. data/vendor/javascripts/emscripted-ruby/lib/resolv-replace.rb +62 -0
  137. data/vendor/javascripts/emscripted-ruby/lib/resolv.rb +2210 -0
  138. data/vendor/javascripts/emscripted-ruby/lib/rexml/attlistdecl.rb +62 -0
  139. data/vendor/javascripts/emscripted-ruby/lib/rexml/attribute.rb +185 -0
  140. data/vendor/javascripts/emscripted-ruby/lib/rexml/cdata.rb +67 -0
  141. data/vendor/javascripts/emscripted-ruby/lib/rexml/child.rb +96 -0
  142. data/vendor/javascripts/emscripted-ruby/lib/rexml/comment.rb +80 -0
  143. data/vendor/javascripts/emscripted-ruby/lib/rexml/doctype.rb +271 -0
  144. data/vendor/javascripts/emscripted-ruby/lib/rexml/document.rb +208 -0
  145. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/attlistdecl.rb +10 -0
  146. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/dtd.rb +51 -0
  147. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/elementdecl.rb +17 -0
  148. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/entitydecl.rb +56 -0
  149. data/vendor/javascripts/emscripted-ruby/lib/rexml/dtd/notationdecl.rb +39 -0
  150. data/vendor/javascripts/emscripted-ruby/lib/rexml/element.rb +1227 -0
  151. data/vendor/javascripts/emscripted-ruby/lib/rexml/encoding.rb +71 -0
  152. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/CP-1252.rb +103 -0
  153. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/EUC-JP.rb +35 -0
  154. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ICONV.rb +22 -0
  155. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ISO-8859-1.rb +7 -0
  156. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/ISO-8859-15.rb +72 -0
  157. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/SHIFT-JIS.rb +37 -0
  158. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/SHIFT_JIS.rb +1 -0
  159. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UNILE.rb +34 -0
  160. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/US-ASCII.rb +30 -0
  161. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UTF-16.rb +35 -0
  162. data/vendor/javascripts/emscripted-ruby/lib/rexml/encodings/UTF-8.rb +18 -0
  163. data/vendor/javascripts/emscripted-ruby/lib/rexml/entity.rb +165 -0
  164. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/default.rb +109 -0
  165. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/pretty.rb +137 -0
  166. data/vendor/javascripts/emscripted-ruby/lib/rexml/formatters/transitive.rb +56 -0
  167. data/vendor/javascripts/emscripted-ruby/lib/rexml/functions.rb +382 -0
  168. data/vendor/javascripts/emscripted-ruby/lib/rexml/instruction.rb +70 -0
  169. data/vendor/javascripts/emscripted-ruby/lib/rexml/light/node.rb +196 -0
  170. data/vendor/javascripts/emscripted-ruby/lib/rexml/namespace.rb +47 -0
  171. data/vendor/javascripts/emscripted-ruby/lib/rexml/node.rb +75 -0
  172. data/vendor/javascripts/emscripted-ruby/lib/rexml/output.rb +24 -0
  173. data/vendor/javascripts/emscripted-ruby/lib/rexml/parent.rb +166 -0
  174. data/vendor/javascripts/emscripted-ruby/lib/rexml/parseexception.rb +51 -0
  175. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/baseparser.rb +503 -0
  176. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/lightparser.rb +60 -0
  177. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/pullparser.rb +196 -0
  178. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/sax2parser.rb +238 -0
  179. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/streamparser.rb +46 -0
  180. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/treeparser.rb +97 -0
  181. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/ultralightparser.rb +56 -0
  182. data/vendor/javascripts/emscripted-ruby/lib/rexml/parsers/xpathparser.rb +698 -0
  183. data/vendor/javascripts/emscripted-ruby/lib/rexml/quickpath.rb +266 -0
  184. data/vendor/javascripts/emscripted-ruby/lib/rexml/rexml.rb +32 -0
  185. data/vendor/javascripts/emscripted-ruby/lib/rexml/sax2listener.rb +97 -0
  186. data/vendor/javascripts/emscripted-ruby/lib/rexml/source.rb +251 -0
  187. data/vendor/javascripts/emscripted-ruby/lib/rexml/streamlistener.rb +92 -0
  188. data/vendor/javascripts/emscripted-ruby/lib/rexml/syncenumerator.rb +33 -0
  189. data/vendor/javascripts/emscripted-ruby/lib/rexml/text.rb +344 -0
  190. data/vendor/javascripts/emscripted-ruby/lib/rexml/undefinednamespaceexception.rb +8 -0
  191. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/relaxng.rb +559 -0
  192. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/validation.rb +155 -0
  193. data/vendor/javascripts/emscripted-ruby/lib/rexml/validation/validationexception.rb +9 -0
  194. data/vendor/javascripts/emscripted-ruby/lib/rexml/xmldecl.rb +119 -0
  195. data/vendor/javascripts/emscripted-ruby/lib/rexml/xmltokens.rb +18 -0
  196. data/vendor/javascripts/emscripted-ruby/lib/rexml/xpath.rb +66 -0
  197. data/vendor/javascripts/emscripted-ruby/lib/rexml/xpath_parser.rb +792 -0
  198. data/vendor/javascripts/emscripted-ruby/lib/rinda/rinda.rb +283 -0
  199. data/vendor/javascripts/emscripted-ruby/lib/rinda/ring.rb +271 -0
  200. data/vendor/javascripts/emscripted-ruby/lib/rinda/tuplespace.rb +642 -0
  201. data/vendor/javascripts/emscripted-ruby/lib/rss.rb +19 -0
  202. data/vendor/javascripts/emscripted-ruby/lib/rss/0.9.rb +428 -0
  203. data/vendor/javascripts/emscripted-ruby/lib/rss/1.0.rb +452 -0
  204. data/vendor/javascripts/emscripted-ruby/lib/rss/2.0.rb +111 -0
  205. data/vendor/javascripts/emscripted-ruby/lib/rss/atom.rb +749 -0
  206. data/vendor/javascripts/emscripted-ruby/lib/rss/content.rb +31 -0
  207. data/vendor/javascripts/emscripted-ruby/lib/rss/content/1.0.rb +10 -0
  208. data/vendor/javascripts/emscripted-ruby/lib/rss/content/2.0.rb +12 -0
  209. data/vendor/javascripts/emscripted-ruby/lib/rss/converter.rb +162 -0
  210. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore.rb +161 -0
  211. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/1.0.rb +13 -0
  212. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/2.0.rb +13 -0
  213. data/vendor/javascripts/emscripted-ruby/lib/rss/dublincore/atom.rb +17 -0
  214. data/vendor/javascripts/emscripted-ruby/lib/rss/image.rb +193 -0
  215. data/vendor/javascripts/emscripted-ruby/lib/rss/itunes.rb +410 -0
  216. data/vendor/javascripts/emscripted-ruby/lib/rss/maker.rb +44 -0
  217. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/0.9.rb +467 -0
  218. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/1.0.rb +434 -0
  219. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/2.0.rb +223 -0
  220. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/atom.rb +172 -0
  221. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/base.rb +868 -0
  222. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/content.rb +21 -0
  223. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/dublincore.rb +124 -0
  224. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/entry.rb +163 -0
  225. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/feed.rb +429 -0
  226. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/image.rb +111 -0
  227. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/itunes.rb +242 -0
  228. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/slash.rb +33 -0
  229. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/syndication.rb +18 -0
  230. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/taxonomy.rb +118 -0
  231. data/vendor/javascripts/emscripted-ruby/lib/rss/maker/trackback.rb +61 -0
  232. data/vendor/javascripts/emscripted-ruby/lib/rss/parser.rb +541 -0
  233. data/vendor/javascripts/emscripted-ruby/lib/rss/rexmlparser.rb +54 -0
  234. data/vendor/javascripts/emscripted-ruby/lib/rss/rss.rb +1312 -0
  235. data/vendor/javascripts/emscripted-ruby/lib/rss/slash.rb +49 -0
  236. data/vendor/javascripts/emscripted-ruby/lib/rss/syndication.rb +67 -0
  237. data/vendor/javascripts/emscripted-ruby/lib/rss/taxonomy.rb +145 -0
  238. data/vendor/javascripts/emscripted-ruby/lib/rss/trackback.rb +288 -0
  239. data/vendor/javascripts/emscripted-ruby/lib/rss/utils.rb +111 -0
  240. data/vendor/javascripts/emscripted-ruby/lib/rss/xml-stylesheet.rb +105 -0
  241. data/vendor/javascripts/emscripted-ruby/lib/rss/xml.rb +71 -0
  242. data/vendor/javascripts/emscripted-ruby/lib/rss/xmlparser.rb +93 -0
  243. data/vendor/javascripts/emscripted-ruby/lib/rss/xmlscanner.rb +121 -0
  244. data/vendor/javascripts/emscripted-ruby/lib/rubyunit.rb +6 -0
  245. data/vendor/javascripts/emscripted-ruby/lib/runit/assert.rb +73 -0
  246. data/vendor/javascripts/emscripted-ruby/lib/runit/cui/testrunner.rb +51 -0
  247. data/vendor/javascripts/emscripted-ruby/lib/runit/error.rb +9 -0
  248. data/vendor/javascripts/emscripted-ruby/lib/runit/testcase.rb +45 -0
  249. data/vendor/javascripts/emscripted-ruby/lib/runit/testresult.rb +44 -0
  250. data/vendor/javascripts/emscripted-ruby/lib/runit/testsuite.rb +26 -0
  251. data/vendor/javascripts/emscripted-ruby/lib/runit/topublic.rb +8 -0
  252. data/vendor/javascripts/emscripted-ruby/lib/scanf.rb +702 -0
  253. data/vendor/javascripts/emscripted-ruby/lib/securerandom.rb +137 -0
  254. data/vendor/javascripts/emscripted-ruby/lib/set.rb +1233 -0
  255. data/vendor/javascripts/emscripted-ruby/lib/shell.rb +269 -0
  256. data/vendor/javascripts/emscripted-ruby/lib/shell/builtin-command.rb +154 -0
  257. data/vendor/javascripts/emscripted-ruby/lib/shell/command-processor.rb +592 -0
  258. data/vendor/javascripts/emscripted-ruby/lib/shell/error.rb +26 -0
  259. data/vendor/javascripts/emscripted-ruby/lib/shell/filter.rb +110 -0
  260. data/vendor/javascripts/emscripted-ruby/lib/shell/process-controller.rb +260 -0
  261. data/vendor/javascripts/emscripted-ruby/lib/shell/system-command.rb +168 -0
  262. data/vendor/javascripts/emscripted-ruby/lib/shell/version.rb +16 -0
  263. data/vendor/javascripts/emscripted-ruby/lib/shellwords.rb +172 -0
  264. data/vendor/javascripts/emscripted-ruby/lib/singleton.rb +360 -0
  265. data/vendor/javascripts/emscripted-ruby/lib/soap/attachment.rb +107 -0
  266. data/vendor/javascripts/emscripted-ruby/lib/soap/baseData.rb +942 -0
  267. data/vendor/javascripts/emscripted-ruby/lib/soap/element.rb +258 -0
  268. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/aspDotNetHandler.rb +213 -0
  269. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/handler.rb +100 -0
  270. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/literalHandler.rb +226 -0
  271. data/vendor/javascripts/emscripted-ruby/lib/soap/encodingstyle/soapHandler.rb +582 -0
  272. data/vendor/javascripts/emscripted-ruby/lib/soap/generator.rb +268 -0
  273. data/vendor/javascripts/emscripted-ruby/lib/soap/header/handler.rb +57 -0
  274. data/vendor/javascripts/emscripted-ruby/lib/soap/header/handlerset.rb +70 -0
  275. data/vendor/javascripts/emscripted-ruby/lib/soap/header/simplehandler.rb +44 -0
  276. data/vendor/javascripts/emscripted-ruby/lib/soap/httpconfigloader.rb +119 -0
  277. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping.rb +10 -0
  278. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/factory.rb +355 -0
  279. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/mapping.rb +381 -0
  280. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/registry.rb +541 -0
  281. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/rubytypeFactory.rb +475 -0
  282. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/typeMap.rb +50 -0
  283. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/wsdlencodedregistry.rb +280 -0
  284. data/vendor/javascripts/emscripted-ruby/lib/soap/mapping/wsdlliteralregistry.rb +418 -0
  285. data/vendor/javascripts/emscripted-ruby/lib/soap/marshal.rb +59 -0
  286. data/vendor/javascripts/emscripted-ruby/lib/soap/mimemessage.rb +240 -0
  287. data/vendor/javascripts/emscripted-ruby/lib/soap/netHttpClient.rb +190 -0
  288. data/vendor/javascripts/emscripted-ruby/lib/soap/parser.rb +251 -0
  289. data/vendor/javascripts/emscripted-ruby/lib/soap/processor.rb +66 -0
  290. data/vendor/javascripts/emscripted-ruby/lib/soap/property.rb +333 -0
  291. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/cgistub.rb +206 -0
  292. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/driver.rb +254 -0
  293. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/element.rb +325 -0
  294. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/httpserver.rb +129 -0
  295. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/proxy.rb +497 -0
  296. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/router.rb +594 -0
  297. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/rpc.rb +25 -0
  298. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/soaplet.rb +162 -0
  299. data/vendor/javascripts/emscripted-ruby/lib/soap/rpc/standaloneServer.rb +43 -0
  300. data/vendor/javascripts/emscripted-ruby/lib/soap/soap.rb +140 -0
  301. data/vendor/javascripts/emscripted-ruby/lib/soap/streamHandler.rb +229 -0
  302. data/vendor/javascripts/emscripted-ruby/lib/soap/wsdlDriver.rb +575 -0
  303. data/vendor/javascripts/emscripted-ruby/lib/sync.rb +311 -0
  304. data/vendor/javascripts/emscripted-ruby/lib/tempfile.rb +209 -0
  305. data/vendor/javascripts/emscripted-ruby/lib/test/unit.rb +280 -0
  306. data/vendor/javascripts/emscripted-ruby/lib/test/unit/assertionfailederror.rb +14 -0
  307. data/vendor/javascripts/emscripted-ruby/lib/test/unit/assertions.rb +622 -0
  308. data/vendor/javascripts/emscripted-ruby/lib/test/unit/autorunner.rb +220 -0
  309. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector.rb +43 -0
  310. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector/dir.rb +107 -0
  311. data/vendor/javascripts/emscripted-ruby/lib/test/unit/collector/objectspace.rb +34 -0
  312. data/vendor/javascripts/emscripted-ruby/lib/test/unit/error.rb +56 -0
  313. data/vendor/javascripts/emscripted-ruby/lib/test/unit/failure.rb +51 -0
  314. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testcase.rb +160 -0
  315. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testresult.rb +80 -0
  316. data/vendor/javascripts/emscripted-ruby/lib/test/unit/testsuite.rb +76 -0
  317. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/console/testrunner.rb +127 -0
  318. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/fox/testrunner.rb +268 -0
  319. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/gtk/testrunner.rb +416 -0
  320. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/gtk2/testrunner.rb +465 -0
  321. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/testrunnermediator.rb +68 -0
  322. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/testrunnerutilities.rb +46 -0
  323. data/vendor/javascripts/emscripted-ruby/lib/test/unit/ui/tk/testrunner.rb +260 -0
  324. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/backtracefilter.rb +40 -0
  325. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/observable.rb +90 -0
  326. data/vendor/javascripts/emscripted-ruby/lib/test/unit/util/procwrapper.rb +48 -0
  327. data/vendor/javascripts/emscripted-ruby/lib/thread.rb +479 -0
  328. data/vendor/javascripts/emscripted-ruby/lib/thwait.rb +169 -0
  329. data/vendor/javascripts/emscripted-ruby/lib/time.rb +797 -0
  330. data/vendor/javascripts/emscripted-ruby/lib/timeout.rb +122 -0
  331. data/vendor/javascripts/emscripted-ruby/lib/tmpdir.rb +130 -0
  332. data/vendor/javascripts/emscripted-ruby/lib/tracer.rb +167 -0
  333. data/vendor/javascripts/emscripted-ruby/lib/tsort.rb +290 -0
  334. data/vendor/javascripts/emscripted-ruby/lib/un.rb +235 -0
  335. data/vendor/javascripts/emscripted-ruby/lib/uri.rb +29 -0
  336. data/vendor/javascripts/emscripted-ruby/lib/uri/common.rb +611 -0
  337. data/vendor/javascripts/emscripted-ruby/lib/uri/ftp.rb +198 -0
  338. data/vendor/javascripts/emscripted-ruby/lib/uri/generic.rb +1122 -0
  339. data/vendor/javascripts/emscripted-ruby/lib/uri/http.rb +100 -0
  340. data/vendor/javascripts/emscripted-ruby/lib/uri/https.rb +20 -0
  341. data/vendor/javascripts/emscripted-ruby/lib/uri/ldap.rb +190 -0
  342. data/vendor/javascripts/emscripted-ruby/lib/uri/ldaps.rb +12 -0
  343. data/vendor/javascripts/emscripted-ruby/lib/uri/mailto.rb +266 -0
  344. data/vendor/javascripts/emscripted-ruby/lib/weakref.rb +100 -0
  345. data/vendor/javascripts/emscripted-ruby/lib/webrick.rb +29 -0
  346. data/vendor/javascripts/emscripted-ruby/lib/webrick/accesslog.rb +67 -0
  347. data/vendor/javascripts/emscripted-ruby/lib/webrick/cgi.rb +257 -0
  348. data/vendor/javascripts/emscripted-ruby/lib/webrick/compat.rb +15 -0
  349. data/vendor/javascripts/emscripted-ruby/lib/webrick/config.rb +97 -0
  350. data/vendor/javascripts/emscripted-ruby/lib/webrick/cookie.rb +110 -0
  351. data/vendor/javascripts/emscripted-ruby/lib/webrick/htmlutils.rb +25 -0
  352. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth.rb +45 -0
  353. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/authenticator.rb +79 -0
  354. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/basicauth.rb +65 -0
  355. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/digestauth.rb +343 -0
  356. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htdigest.rb +91 -0
  357. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htgroup.rb +61 -0
  358. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/htpasswd.rb +83 -0
  359. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpauth/userdb.rb +29 -0
  360. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpproxy.rb +254 -0
  361. data/vendor/javascripts/emscripted-ruby/lib/webrick/httprequest.rb +365 -0
  362. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpresponse.rb +327 -0
  363. data/vendor/javascripts/emscripted-ruby/lib/webrick/https.rb +63 -0
  364. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpserver.rb +210 -0
  365. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet.rb +22 -0
  366. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/abstract.rb +71 -0
  367. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/cgi_runner.rb +47 -0
  368. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/cgihandler.rb +108 -0
  369. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/erbhandler.rb +54 -0
  370. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/filehandler.rb +435 -0
  371. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpservlet/prochandler.rb +33 -0
  372. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpstatus.rb +126 -0
  373. data/vendor/javascripts/emscripted-ruby/lib/webrick/httputils.rb +399 -0
  374. data/vendor/javascripts/emscripted-ruby/lib/webrick/httpversion.rb +49 -0
  375. data/vendor/javascripts/emscripted-ruby/lib/webrick/log.rb +88 -0
  376. data/vendor/javascripts/emscripted-ruby/lib/webrick/server.rb +200 -0
  377. data/vendor/javascripts/emscripted-ruby/lib/webrick/ssl.rb +126 -0
  378. data/vendor/javascripts/emscripted-ruby/lib/webrick/utils.rb +100 -0
  379. data/vendor/javascripts/emscripted-ruby/lib/webrick/version.rb +13 -0
  380. data/vendor/javascripts/emscripted-ruby/lib/wsdl/binding.rb +65 -0
  381. data/vendor/javascripts/emscripted-ruby/lib/wsdl/data.rb +64 -0
  382. data/vendor/javascripts/emscripted-ruby/lib/wsdl/definitions.rb +250 -0
  383. data/vendor/javascripts/emscripted-ruby/lib/wsdl/documentation.rb +32 -0
  384. data/vendor/javascripts/emscripted-ruby/lib/wsdl/import.rb +80 -0
  385. data/vendor/javascripts/emscripted-ruby/lib/wsdl/importer.rb +38 -0
  386. data/vendor/javascripts/emscripted-ruby/lib/wsdl/info.rb +39 -0
  387. data/vendor/javascripts/emscripted-ruby/lib/wsdl/message.rb +54 -0
  388. data/vendor/javascripts/emscripted-ruby/lib/wsdl/operation.rb +130 -0
  389. data/vendor/javascripts/emscripted-ruby/lib/wsdl/operationBinding.rb +108 -0
  390. data/vendor/javascripts/emscripted-ruby/lib/wsdl/param.rb +85 -0
  391. data/vendor/javascripts/emscripted-ruby/lib/wsdl/parser.rb +163 -0
  392. data/vendor/javascripts/emscripted-ruby/lib/wsdl/part.rb +52 -0
  393. data/vendor/javascripts/emscripted-ruby/lib/wsdl/port.rb +84 -0
  394. data/vendor/javascripts/emscripted-ruby/lib/wsdl/portType.rb +73 -0
  395. data/vendor/javascripts/emscripted-ruby/lib/wsdl/service.rb +61 -0
  396. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/address.rb +40 -0
  397. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/binding.rb +49 -0
  398. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/body.rb +56 -0
  399. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/cgiStubCreator.rb +76 -0
  400. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/classDefCreator.rb +314 -0
  401. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/classDefCreatorSupport.rb +126 -0
  402. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/clientSkeltonCreator.rb +78 -0
  403. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/complexType.rb +161 -0
  404. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/data.rb +42 -0
  405. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/definitions.rb +149 -0
  406. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/driverCreator.rb +95 -0
  407. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/element.rb +28 -0
  408. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/fault.rb +56 -0
  409. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/header.rb +86 -0
  410. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/headerfault.rb +56 -0
  411. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/mappingRegistryCreator.rb +92 -0
  412. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/methodDefCreator.rb +228 -0
  413. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/operation.rb +122 -0
  414. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/servantSkeltonCreator.rb +67 -0
  415. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/standaloneServerStubCreator.rb +85 -0
  416. data/vendor/javascripts/emscripted-ruby/lib/wsdl/soap/wsdl2ruby.rb +176 -0
  417. data/vendor/javascripts/emscripted-ruby/lib/wsdl/types.rb +43 -0
  418. data/vendor/javascripts/emscripted-ruby/lib/wsdl/wsdl.rb +23 -0
  419. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/all.rb +69 -0
  420. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/annotation.rb +34 -0
  421. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/any.rb +56 -0
  422. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/attribute.rb +127 -0
  423. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/choice.rb +69 -0
  424. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/complexContent.rb +92 -0
  425. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/complexType.rb +139 -0
  426. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/content.rb +96 -0
  427. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/data.rb +80 -0
  428. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/element.rb +154 -0
  429. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  430. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/import.rb +65 -0
  431. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/importer.rb +87 -0
  432. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/include.rb +54 -0
  433. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/length.rb +35 -0
  434. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/parser.rb +166 -0
  435. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/pattern.rb +36 -0
  436. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/schema.rb +143 -0
  437. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/sequence.rb +69 -0
  438. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleContent.rb +65 -0
  439. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleExtension.rb +54 -0
  440. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleRestriction.rb +73 -0
  441. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/simpleType.rb +73 -0
  442. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/unique.rb +34 -0
  443. data/vendor/javascripts/emscripted-ruby/lib/wsdl/xmlSchema/xsd2ruby.rb +107 -0
  444. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/.document +1 -0
  445. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/README.txt +31 -0
  446. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/base64.rb +81 -0
  447. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/client.rb +624 -0
  448. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/config.rb +40 -0
  449. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/create.rb +290 -0
  450. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/datetime.rb +142 -0
  451. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/httpserver.rb +178 -0
  452. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/marshal.rb +76 -0
  453. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/parser.rb +813 -0
  454. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/server.rb +780 -0
  455. data/vendor/javascripts/emscripted-ruby/lib/xmlrpc/utils.rb +165 -0
  456. data/vendor/javascripts/emscripted-ruby/lib/xsd/charset.rb +187 -0
  457. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen.rb +12 -0
  458. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/classdef.rb +203 -0
  459. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/commentdef.rb +34 -0
  460. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/gensupport.rb +166 -0
  461. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/methoddef.rb +63 -0
  462. data/vendor/javascripts/emscripted-ruby/lib/xsd/codegen/moduledef.rb +191 -0
  463. data/vendor/javascripts/emscripted-ruby/lib/xsd/datatypes.rb +1269 -0
  464. data/vendor/javascripts/emscripted-ruby/lib/xsd/datatypes1999.rb +20 -0
  465. data/vendor/javascripts/emscripted-ruby/lib/xsd/iconvcharset.rb +33 -0
  466. data/vendor/javascripts/emscripted-ruby/lib/xsd/mapping.rb +42 -0
  467. data/vendor/javascripts/emscripted-ruby/lib/xsd/namedelements.rb +95 -0
  468. data/vendor/javascripts/emscripted-ruby/lib/xsd/ns.rb +140 -0
  469. data/vendor/javascripts/emscripted-ruby/lib/xsd/qname.rb +78 -0
  470. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser.rb +61 -0
  471. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/parser.rb +96 -0
  472. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/rexmlparser.rb +54 -0
  473. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/xmlparser.rb +50 -0
  474. data/vendor/javascripts/emscripted-ruby/lib/xsd/xmlparser/xmlscanner.rb +147 -0
  475. data/vendor/javascripts/emscripted-ruby/lib/yaml.rb +440 -0
  476. data/vendor/javascripts/emscripted-ruby/lib/yaml/baseemitter.rb +247 -0
  477. data/vendor/javascripts/emscripted-ruby/lib/yaml/basenode.rb +216 -0
  478. data/vendor/javascripts/emscripted-ruby/lib/yaml/constants.rb +45 -0
  479. data/vendor/javascripts/emscripted-ruby/lib/yaml/dbm.rb +111 -0
  480. data/vendor/javascripts/emscripted-ruby/lib/yaml/encoding.rb +33 -0
  481. data/vendor/javascripts/emscripted-ruby/lib/yaml/error.rb +34 -0
  482. data/vendor/javascripts/emscripted-ruby/lib/yaml/loader.rb +14 -0
  483. data/vendor/javascripts/emscripted-ruby/lib/yaml/rubytypes.rb +408 -0
  484. data/vendor/javascripts/emscripted-ruby/lib/yaml/store.rb +43 -0
  485. data/vendor/javascripts/emscripted-ruby/lib/yaml/stream.rb +40 -0
  486. data/vendor/javascripts/emscripted-ruby/lib/yaml/stringio.rb +83 -0
  487. data/vendor/javascripts/emscripted-ruby/lib/yaml/syck.rb +19 -0
  488. data/vendor/javascripts/emscripted-ruby/lib/yaml/tag.rb +91 -0
  489. data/vendor/javascripts/emscripted-ruby/lib/yaml/types.rb +192 -0
  490. data/vendor/javascripts/emscripted-ruby/lib/yaml/yamlnode.rb +54 -0
  491. data/vendor/javascripts/emscripted-ruby/lib/yaml/ypath.rb +52 -0
  492. data/vendor/javascripts/emscripted-ruby/ruby.closure.js +7201 -0
  493. metadata +554 -0
@@ -0,0 +1,896 @@
1
+ # $Id$
2
+
3
+ # This class implements a pretty printing algorithm. It finds line breaks and
4
+ # nice indentations for grouped structure.
5
+ #
6
+ # By default, the class assumes that primitive elements are strings and each
7
+ # byte in the strings have single column in width. But it can be used for
8
+ # other situations by giving suitable arguments for some methods:
9
+ # * newline object and space generation block for PrettyPrint.new
10
+ # * optional width argument for PrettyPrint#text
11
+ # * PrettyPrint#breakable
12
+ #
13
+ # There are several candidate uses:
14
+ # * text formatting using proportional fonts
15
+ # * multibyte characters which has columns different to number of bytes
16
+ # * non-string formatting
17
+ #
18
+ # == Bugs
19
+ # * Box based formatting?
20
+ # * Other (better) model/algorithm?
21
+ #
22
+ # == References
23
+ # Christian Lindig, Strictly Pretty, March 2000,
24
+ # http://www.st.cs.uni-sb.de/~lindig/papers/#pretty
25
+ #
26
+ # Philip Wadler, A prettier printer, March 1998,
27
+ # http://homepages.inf.ed.ac.uk/wadler/topics/language-design.html#prettier
28
+ #
29
+ # == Author
30
+ # Tanaka Akira <akr@m17n.org>
31
+ #
32
+ class PrettyPrint
33
+
34
+ # This is a convenience method which is same as follows:
35
+ #
36
+ # begin
37
+ # q = PrettyPrint.new(output, maxwidth, newline, &genspace)
38
+ # ...
39
+ # q.flush
40
+ # output
41
+ # end
42
+ #
43
+ def PrettyPrint.format(output='', maxwidth=79, newline="\n", genspace=lambda {|n| ' ' * n})
44
+ q = PrettyPrint.new(output, maxwidth, newline, &genspace)
45
+ yield q
46
+ q.flush
47
+ output
48
+ end
49
+
50
+ # This is similar to PrettyPrint::format but the result has no breaks.
51
+ #
52
+ # +maxwidth+, +newline+ and +genspace+ are ignored.
53
+ #
54
+ # The invocation of +breakable+ in the block doesn't break a line and is
55
+ # treated as just an invocation of +text+.
56
+ #
57
+ def PrettyPrint.singleline_format(output='', maxwidth=nil, newline=nil, genspace=nil)
58
+ q = SingleLine.new(output)
59
+ yield q
60
+ output
61
+ end
62
+
63
+ # Creates a buffer for pretty printing.
64
+ #
65
+ # +output+ is an output target. If it is not specified, '' is assumed. It
66
+ # should have a << method which accepts the first argument +obj+ of
67
+ # PrettyPrint#text, the first argument +sep+ of PrettyPrint#breakable, the
68
+ # first argument +newline+ of PrettyPrint.new, and the result of a given
69
+ # block for PrettyPrint.new.
70
+ #
71
+ # +maxwidth+ specifies maximum line length. If it is not specified, 79 is
72
+ # assumed. However actual outputs may overflow +maxwidth+ if long
73
+ # non-breakable texts are provided.
74
+ #
75
+ # +newline+ is used for line breaks. "\n" is used if it is not specified.
76
+ #
77
+ # The block is used to generate spaces. {|width| ' ' * width} is used if it
78
+ # is not given.
79
+ #
80
+ def initialize(output='', maxwidth=79, newline="\n", &genspace)
81
+ @output = output
82
+ @maxwidth = maxwidth
83
+ @newline = newline
84
+ @genspace = genspace || lambda {|n| ' ' * n}
85
+
86
+ @output_width = 0
87
+ @buffer_width = 0
88
+ @buffer = []
89
+
90
+ root_group = Group.new(0)
91
+ @group_stack = [root_group]
92
+ @group_queue = GroupQueue.new(root_group)
93
+ @indent = 0
94
+ end
95
+ attr_reader :output, :maxwidth, :newline, :genspace
96
+ attr_reader :indent, :group_queue
97
+
98
+ def current_group
99
+ @group_stack.last
100
+ end
101
+
102
+ # first? is a predicate to test the call is a first call to first? with
103
+ # current group.
104
+ #
105
+ # It is useful to format comma separated values as:
106
+ #
107
+ # q.group(1, '[', ']') {
108
+ # xxx.each {|yyy|
109
+ # unless q.first?
110
+ # q.text ','
111
+ # q.breakable
112
+ # end
113
+ # ... pretty printing yyy ...
114
+ # }
115
+ # }
116
+ #
117
+ # first? is obsoleted in 1.8.2.
118
+ #
119
+ def first?
120
+ warn "PrettyPrint#first? is obsoleted at 1.8.2."
121
+ current_group.first?
122
+ end
123
+
124
+ def break_outmost_groups
125
+ while @maxwidth < @output_width + @buffer_width
126
+ return unless group = @group_queue.deq
127
+ until group.breakables.empty?
128
+ data = @buffer.shift
129
+ @output_width = data.output(@output, @output_width)
130
+ @buffer_width -= data.width
131
+ end
132
+ while !@buffer.empty? && Text === @buffer.first
133
+ text = @buffer.shift
134
+ @output_width = text.output(@output, @output_width)
135
+ @buffer_width -= text.width
136
+ end
137
+ end
138
+ end
139
+
140
+ # This adds +obj+ as a text of +width+ columns in width.
141
+ #
142
+ # If +width+ is not specified, obj.length is used.
143
+ #
144
+ def text(obj, width=obj.length)
145
+ if @buffer.empty?
146
+ @output << obj
147
+ @output_width += width
148
+ else
149
+ text = @buffer.last
150
+ unless Text === text
151
+ text = Text.new
152
+ @buffer << text
153
+ end
154
+ text.add(obj, width)
155
+ @buffer_width += width
156
+ break_outmost_groups
157
+ end
158
+ end
159
+
160
+ def fill_breakable(sep=' ', width=sep.length)
161
+ group { breakable sep, width }
162
+ end
163
+
164
+ # This tells "you can break a line here if necessary", and a +width+\-column
165
+ # text +sep+ is inserted if a line is not broken at the point.
166
+ #
167
+ # If +sep+ is not specified, " " is used.
168
+ #
169
+ # If +width+ is not specified, +sep.length+ is used. You will have to
170
+ # specify this when +sep+ is a multibyte character, for example.
171
+ #
172
+ def breakable(sep=' ', width=sep.length)
173
+ group = @group_stack.last
174
+ if group.break?
175
+ flush
176
+ @output << @newline
177
+ @output << @genspace.call(@indent)
178
+ @output_width = @indent
179
+ @buffer_width = 0
180
+ else
181
+ @buffer << Breakable.new(sep, width, self)
182
+ @buffer_width += width
183
+ break_outmost_groups
184
+ end
185
+ end
186
+
187
+ # Groups line break hints added in the block. The line break hints are all
188
+ # to be used or not.
189
+ #
190
+ # If +indent+ is specified, the method call is regarded as nested by
191
+ # nest(indent) { ... }.
192
+ #
193
+ # If +open_obj+ is specified, <tt>text open_obj, open_width</tt> is called
194
+ # before grouping. If +close_obj+ is specified, <tt>text close_obj,
195
+ # close_width</tt> is called after grouping.
196
+ #
197
+ def group(indent=0, open_obj='', close_obj='', open_width=open_obj.length, close_width=close_obj.length)
198
+ text open_obj, open_width
199
+ group_sub {
200
+ nest(indent) {
201
+ yield
202
+ }
203
+ }
204
+ text close_obj, close_width
205
+ end
206
+
207
+ def group_sub
208
+ group = Group.new(@group_stack.last.depth + 1)
209
+ @group_stack.push group
210
+ @group_queue.enq group
211
+ begin
212
+ yield
213
+ ensure
214
+ @group_stack.pop
215
+ if group.breakables.empty?
216
+ @group_queue.delete group
217
+ end
218
+ end
219
+ end
220
+
221
+ # Increases left margin after newline with +indent+ for line breaks added in
222
+ # the block.
223
+ #
224
+ def nest(indent)
225
+ @indent += indent
226
+ begin
227
+ yield
228
+ ensure
229
+ @indent -= indent
230
+ end
231
+ end
232
+
233
+ # outputs buffered data.
234
+ #
235
+ def flush
236
+ @buffer.each {|data|
237
+ @output_width = data.output(@output, @output_width)
238
+ }
239
+ @buffer.clear
240
+ @buffer_width = 0
241
+ end
242
+
243
+ class Text
244
+ def initialize
245
+ @objs = []
246
+ @width = 0
247
+ end
248
+ attr_reader :width
249
+
250
+ def output(out, output_width)
251
+ @objs.each {|obj| out << obj}
252
+ output_width + @width
253
+ end
254
+
255
+ def add(obj, width)
256
+ @objs << obj
257
+ @width += width
258
+ end
259
+ end
260
+
261
+ class Breakable
262
+ def initialize(sep, width, q)
263
+ @obj = sep
264
+ @width = width
265
+ @pp = q
266
+ @indent = q.indent
267
+ @group = q.current_group
268
+ @group.breakables.push self
269
+ end
270
+ attr_reader :obj, :width, :indent
271
+
272
+ def output(out, output_width)
273
+ @group.breakables.shift
274
+ if @group.break?
275
+ out << @pp.newline
276
+ out << @pp.genspace.call(@indent)
277
+ @indent
278
+ else
279
+ @pp.group_queue.delete @group if @group.breakables.empty?
280
+ out << @obj
281
+ output_width + @width
282
+ end
283
+ end
284
+ end
285
+
286
+ class Group
287
+ def initialize(depth)
288
+ @depth = depth
289
+ @breakables = []
290
+ @break = false
291
+ end
292
+ attr_reader :depth, :breakables
293
+
294
+ def break
295
+ @break = true
296
+ end
297
+
298
+ def break?
299
+ @break
300
+ end
301
+
302
+ def first?
303
+ if defined? @first
304
+ false
305
+ else
306
+ @first = false
307
+ true
308
+ end
309
+ end
310
+ end
311
+
312
+ class GroupQueue
313
+ def initialize(*groups)
314
+ @queue = []
315
+ groups.each {|g| enq g}
316
+ end
317
+
318
+ def enq(group)
319
+ depth = group.depth
320
+ @queue << [] until depth < @queue.length
321
+ @queue[depth] << group
322
+ end
323
+
324
+ def deq
325
+ @queue.each {|gs|
326
+ (gs.length-1).downto(0) {|i|
327
+ unless gs[i].breakables.empty?
328
+ group = gs.slice!(i, 1).first
329
+ group.break
330
+ return group
331
+ end
332
+ }
333
+ gs.each {|group| group.break}
334
+ gs.clear
335
+ }
336
+ return nil
337
+ end
338
+
339
+ def delete(group)
340
+ @queue[group.depth].delete(group)
341
+ end
342
+ end
343
+
344
+ class SingleLine
345
+ def initialize(output, maxwidth=nil, newline=nil)
346
+ @output = output
347
+ @first = [true]
348
+ end
349
+
350
+ def text(obj, width=nil)
351
+ @output << obj
352
+ end
353
+
354
+ def breakable(sep=' ', width=nil)
355
+ @output << sep
356
+ end
357
+
358
+ def nest(indent)
359
+ yield
360
+ end
361
+
362
+ def group(indent=nil, open_obj='', close_obj='', open_width=nil, close_width=nil)
363
+ @first.push true
364
+ @output << open_obj
365
+ yield
366
+ @output << close_obj
367
+ @first.pop
368
+ end
369
+
370
+ def flush
371
+ end
372
+
373
+ def first?
374
+ result = @first[-1]
375
+ @first[-1] = false
376
+ result
377
+ end
378
+ end
379
+ end
380
+
381
+ if __FILE__ == $0
382
+ require 'test/unit'
383
+
384
+ class WadlerExample < Test::Unit::TestCase # :nodoc:
385
+ def setup
386
+ @tree = Tree.new("aaaa", Tree.new("bbbbb", Tree.new("ccc"),
387
+ Tree.new("dd")),
388
+ Tree.new("eee"),
389
+ Tree.new("ffff", Tree.new("gg"),
390
+ Tree.new("hhh"),
391
+ Tree.new("ii")))
392
+ end
393
+
394
+ def hello(width)
395
+ PrettyPrint.format('', width) {|hello|
396
+ hello.group {
397
+ hello.group {
398
+ hello.group {
399
+ hello.group {
400
+ hello.text 'hello'
401
+ hello.breakable; hello.text 'a'
402
+ }
403
+ hello.breakable; hello.text 'b'
404
+ }
405
+ hello.breakable; hello.text 'c'
406
+ }
407
+ hello.breakable; hello.text 'd'
408
+ }
409
+ }
410
+ end
411
+
412
+ def test_hello_00_06
413
+ expected = <<'End'.chomp
414
+ hello
415
+ a
416
+ b
417
+ c
418
+ d
419
+ End
420
+ assert_equal(expected, hello(0))
421
+ assert_equal(expected, hello(6))
422
+ end
423
+
424
+ def test_hello_07_08
425
+ expected = <<'End'.chomp
426
+ hello a
427
+ b
428
+ c
429
+ d
430
+ End
431
+ assert_equal(expected, hello(7))
432
+ assert_equal(expected, hello(8))
433
+ end
434
+
435
+ def test_hello_09_10
436
+ expected = <<'End'.chomp
437
+ hello a b
438
+ c
439
+ d
440
+ End
441
+ out = hello(9); assert_equal(expected, out)
442
+ out = hello(10); assert_equal(expected, out)
443
+ end
444
+
445
+ def test_hello_11_12
446
+ expected = <<'End'.chomp
447
+ hello a b c
448
+ d
449
+ End
450
+ assert_equal(expected, hello(11))
451
+ assert_equal(expected, hello(12))
452
+ end
453
+
454
+ def test_hello_13
455
+ expected = <<'End'.chomp
456
+ hello a b c d
457
+ End
458
+ assert_equal(expected, hello(13))
459
+ end
460
+
461
+ def tree(width)
462
+ PrettyPrint.format('', width) {|q| @tree.show(q)}
463
+ end
464
+
465
+ def test_tree_00_19
466
+ expected = <<'End'.chomp
467
+ aaaa[bbbbb[ccc,
468
+ dd],
469
+ eee,
470
+ ffff[gg,
471
+ hhh,
472
+ ii]]
473
+ End
474
+ assert_equal(expected, tree(0))
475
+ assert_equal(expected, tree(19))
476
+ end
477
+
478
+ def test_tree_20_22
479
+ expected = <<'End'.chomp
480
+ aaaa[bbbbb[ccc, dd],
481
+ eee,
482
+ ffff[gg,
483
+ hhh,
484
+ ii]]
485
+ End
486
+ assert_equal(expected, tree(20))
487
+ assert_equal(expected, tree(22))
488
+ end
489
+
490
+ def test_tree_23_43
491
+ expected = <<'End'.chomp
492
+ aaaa[bbbbb[ccc, dd],
493
+ eee,
494
+ ffff[gg, hhh, ii]]
495
+ End
496
+ assert_equal(expected, tree(23))
497
+ assert_equal(expected, tree(43))
498
+ end
499
+
500
+ def test_tree_44
501
+ assert_equal(<<'End'.chomp, tree(44))
502
+ aaaa[bbbbb[ccc, dd], eee, ffff[gg, hhh, ii]]
503
+ End
504
+ end
505
+
506
+ def tree_alt(width)
507
+ PrettyPrint.format('', width) {|q| @tree.altshow(q)}
508
+ end
509
+
510
+ def test_tree_alt_00_18
511
+ expected = <<'End'.chomp
512
+ aaaa[
513
+ bbbbb[
514
+ ccc,
515
+ dd
516
+ ],
517
+ eee,
518
+ ffff[
519
+ gg,
520
+ hhh,
521
+ ii
522
+ ]
523
+ ]
524
+ End
525
+ assert_equal(expected, tree_alt(0))
526
+ assert_equal(expected, tree_alt(18))
527
+ end
528
+
529
+ def test_tree_alt_19_20
530
+ expected = <<'End'.chomp
531
+ aaaa[
532
+ bbbbb[ ccc, dd ],
533
+ eee,
534
+ ffff[
535
+ gg,
536
+ hhh,
537
+ ii
538
+ ]
539
+ ]
540
+ End
541
+ assert_equal(expected, tree_alt(19))
542
+ assert_equal(expected, tree_alt(20))
543
+ end
544
+
545
+ def test_tree_alt_20_49
546
+ expected = <<'End'.chomp
547
+ aaaa[
548
+ bbbbb[ ccc, dd ],
549
+ eee,
550
+ ffff[ gg, hhh, ii ]
551
+ ]
552
+ End
553
+ assert_equal(expected, tree_alt(21))
554
+ assert_equal(expected, tree_alt(49))
555
+ end
556
+
557
+ def test_tree_alt_50
558
+ expected = <<'End'.chomp
559
+ aaaa[ bbbbb[ ccc, dd ], eee, ffff[ gg, hhh, ii ] ]
560
+ End
561
+ assert_equal(expected, tree_alt(50))
562
+ end
563
+
564
+ class Tree # :nodoc:
565
+ def initialize(string, *children)
566
+ @string = string
567
+ @children = children
568
+ end
569
+
570
+ def show(q)
571
+ q.group {
572
+ q.text @string
573
+ q.nest(@string.length) {
574
+ unless @children.empty?
575
+ q.text '['
576
+ q.nest(1) {
577
+ first = true
578
+ @children.each {|t|
579
+ if first
580
+ first = false
581
+ else
582
+ q.text ','
583
+ q.breakable
584
+ end
585
+ t.show(q)
586
+ }
587
+ }
588
+ q.text ']'
589
+ end
590
+ }
591
+ }
592
+ end
593
+
594
+ def altshow(q)
595
+ q.group {
596
+ q.text @string
597
+ unless @children.empty?
598
+ q.text '['
599
+ q.nest(2) {
600
+ q.breakable
601
+ first = true
602
+ @children.each {|t|
603
+ if first
604
+ first = false
605
+ else
606
+ q.text ','
607
+ q.breakable
608
+ end
609
+ t.altshow(q)
610
+ }
611
+ }
612
+ q.breakable
613
+ q.text ']'
614
+ end
615
+ }
616
+ end
617
+
618
+ end
619
+ end
620
+
621
+ class StrictPrettyExample < Test::Unit::TestCase # :nodoc:
622
+ def prog(width)
623
+ PrettyPrint.format('', width) {|q|
624
+ q.group {
625
+ q.group {q.nest(2) {
626
+ q.text "if"; q.breakable;
627
+ q.group {
628
+ q.nest(2) {
629
+ q.group {q.text "a"; q.breakable; q.text "=="}
630
+ q.breakable; q.text "b"}}}}
631
+ q.breakable
632
+ q.group {q.nest(2) {
633
+ q.text "then"; q.breakable;
634
+ q.group {
635
+ q.nest(2) {
636
+ q.group {q.text "a"; q.breakable; q.text "<<"}
637
+ q.breakable; q.text "2"}}}}
638
+ q.breakable
639
+ q.group {q.nest(2) {
640
+ q.text "else"; q.breakable;
641
+ q.group {
642
+ q.nest(2) {
643
+ q.group {q.text "a"; q.breakable; q.text "+"}
644
+ q.breakable; q.text "b"}}}}}
645
+ }
646
+ end
647
+
648
+ def test_00_04
649
+ expected = <<'End'.chomp
650
+ if
651
+ a
652
+ ==
653
+ b
654
+ then
655
+ a
656
+ <<
657
+ 2
658
+ else
659
+ a
660
+ +
661
+ b
662
+ End
663
+ assert_equal(expected, prog(0))
664
+ assert_equal(expected, prog(4))
665
+ end
666
+
667
+ def test_05
668
+ expected = <<'End'.chomp
669
+ if
670
+ a
671
+ ==
672
+ b
673
+ then
674
+ a
675
+ <<
676
+ 2
677
+ else
678
+ a +
679
+ b
680
+ End
681
+ assert_equal(expected, prog(5))
682
+ end
683
+
684
+ def test_06
685
+ expected = <<'End'.chomp
686
+ if
687
+ a ==
688
+ b
689
+ then
690
+ a <<
691
+ 2
692
+ else
693
+ a +
694
+ b
695
+ End
696
+ assert_equal(expected, prog(6))
697
+ end
698
+
699
+ def test_07
700
+ expected = <<'End'.chomp
701
+ if
702
+ a ==
703
+ b
704
+ then
705
+ a <<
706
+ 2
707
+ else
708
+ a + b
709
+ End
710
+ assert_equal(expected, prog(7))
711
+ end
712
+
713
+ def test_08
714
+ expected = <<'End'.chomp
715
+ if
716
+ a == b
717
+ then
718
+ a << 2
719
+ else
720
+ a + b
721
+ End
722
+ assert_equal(expected, prog(8))
723
+ end
724
+
725
+ def test_09
726
+ expected = <<'End'.chomp
727
+ if a == b
728
+ then
729
+ a << 2
730
+ else
731
+ a + b
732
+ End
733
+ assert_equal(expected, prog(9))
734
+ end
735
+
736
+ def test_10
737
+ expected = <<'End'.chomp
738
+ if a == b
739
+ then
740
+ a << 2
741
+ else a + b
742
+ End
743
+ assert_equal(expected, prog(10))
744
+ end
745
+
746
+ def test_11_31
747
+ expected = <<'End'.chomp
748
+ if a == b
749
+ then a << 2
750
+ else a + b
751
+ End
752
+ assert_equal(expected, prog(11))
753
+ assert_equal(expected, prog(15))
754
+ assert_equal(expected, prog(31))
755
+ end
756
+
757
+ def test_32
758
+ expected = <<'End'.chomp
759
+ if a == b then a << 2 else a + b
760
+ End
761
+ assert_equal(expected, prog(32))
762
+ end
763
+
764
+ end
765
+
766
+ class TailGroup < Test::Unit::TestCase # :nodoc:
767
+ def test_1
768
+ out = PrettyPrint.format('', 10) {|q|
769
+ q.group {
770
+ q.group {
771
+ q.text "abc"
772
+ q.breakable
773
+ q.text "def"
774
+ }
775
+ q.group {
776
+ q.text "ghi"
777
+ q.breakable
778
+ q.text "jkl"
779
+ }
780
+ }
781
+ }
782
+ assert_equal("abc defghi\njkl", out)
783
+ end
784
+ end
785
+
786
+ class NonString < Test::Unit::TestCase # :nodoc:
787
+ def format(width)
788
+ PrettyPrint.format([], width, 'newline', lambda {|n| "#{n} spaces"}) {|q|
789
+ q.text(3, 3)
790
+ q.breakable(1, 1)
791
+ q.text(3, 3)
792
+ }
793
+ end
794
+
795
+ def test_6
796
+ assert_equal([3, "newline", "0 spaces", 3], format(6))
797
+ end
798
+
799
+ def test_7
800
+ assert_equal([3, 1, 3], format(7))
801
+ end
802
+
803
+ end
804
+
805
+ class Fill < Test::Unit::TestCase # :nodoc:
806
+ def format(width)
807
+ PrettyPrint.format('', width) {|q|
808
+ q.group {
809
+ q.text 'abc'
810
+ q.fill_breakable
811
+ q.text 'def'
812
+ q.fill_breakable
813
+ q.text 'ghi'
814
+ q.fill_breakable
815
+ q.text 'jkl'
816
+ q.fill_breakable
817
+ q.text 'mno'
818
+ q.fill_breakable
819
+ q.text 'pqr'
820
+ q.fill_breakable
821
+ q.text 'stu'
822
+ }
823
+ }
824
+ end
825
+
826
+ def test_00_06
827
+ expected = <<'End'.chomp
828
+ abc
829
+ def
830
+ ghi
831
+ jkl
832
+ mno
833
+ pqr
834
+ stu
835
+ End
836
+ assert_equal(expected, format(0))
837
+ assert_equal(expected, format(6))
838
+ end
839
+
840
+ def test_07_10
841
+ expected = <<'End'.chomp
842
+ abc def
843
+ ghi jkl
844
+ mno pqr
845
+ stu
846
+ End
847
+ assert_equal(expected, format(7))
848
+ assert_equal(expected, format(10))
849
+ end
850
+
851
+ def test_11_14
852
+ expected = <<'End'.chomp
853
+ abc def ghi
854
+ jkl mno pqr
855
+ stu
856
+ End
857
+ assert_equal(expected, format(11))
858
+ assert_equal(expected, format(14))
859
+ end
860
+
861
+ def test_15_18
862
+ expected = <<'End'.chomp
863
+ abc def ghi jkl
864
+ mno pqr stu
865
+ End
866
+ assert_equal(expected, format(15))
867
+ assert_equal(expected, format(18))
868
+ end
869
+
870
+ def test_19_22
871
+ expected = <<'End'.chomp
872
+ abc def ghi jkl mno
873
+ pqr stu
874
+ End
875
+ assert_equal(expected, format(19))
876
+ assert_equal(expected, format(22))
877
+ end
878
+
879
+ def test_23_26
880
+ expected = <<'End'.chomp
881
+ abc def ghi jkl mno pqr
882
+ stu
883
+ End
884
+ assert_equal(expected, format(23))
885
+ assert_equal(expected, format(26))
886
+ end
887
+
888
+ def test_27
889
+ expected = <<'End'.chomp
890
+ abc def ghi jkl mno pqr stu
891
+ End
892
+ assert_equal(expected, format(27))
893
+ end
894
+
895
+ end
896
+ end