mdbe 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (688) hide show
  1. checksums.yaml +15 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +53 -0
  4. data/app.rb +182 -0
  5. data/bin/mdbe +5 -0
  6. data/config.ru +2 -0
  7. data/environment.rb +8 -0
  8. data/lib/mdbe.rb +39 -0
  9. data/lib/mdbe/action_controller_debug_patch.rb +12 -0
  10. data/lib/mdbe/code_evaluation.rb +46 -0
  11. data/lib/mdbe/database_views.rb +24 -0
  12. data/lib/mdbe/database_views/abstract_dictionary.rb +69 -0
  13. data/lib/mdbe/database_views/abstract_exception.rb +25 -0
  14. data/lib/mdbe/database_views/array.rb +28 -0
  15. data/lib/mdbe/database_views/boolean.rb +12 -0
  16. data/lib/mdbe/database_views/class.rb +46 -0
  17. data/lib/mdbe/database_views/exception.rb +3 -0
  18. data/lib/mdbe/database_views/execblock.rb +5 -0
  19. data/lib/mdbe/database_views/fixnum.rb +5 -0
  20. data/lib/mdbe/database_views/float.rb +5 -0
  21. data/lib/mdbe/database_views/globals.rb +2 -0
  22. data/lib/mdbe/database_views/gsnmethod.rb +29 -0
  23. data/lib/mdbe/database_views/hash.rb +5 -0
  24. data/lib/mdbe/database_views/maglev_record.rb +42 -0
  25. data/lib/mdbe/database_views/module.rb +103 -0
  26. data/lib/mdbe/database_views/nilclass.rb +5 -0
  27. data/lib/mdbe/database_views/object.rb +80 -0
  28. data/lib/mdbe/database_views/proc.rb +3 -0
  29. data/lib/mdbe/database_views/repository.rb +3 -0
  30. data/lib/mdbe/database_views/ruby_workspace.rb +5 -0
  31. data/lib/mdbe/database_views/smalltalk_classes.rb +34 -0
  32. data/lib/mdbe/database_views/smalltalk_classes.st +60 -0
  33. data/lib/mdbe/database_views/string.rb +31 -0
  34. data/lib/mdbe/database_views/symbol.rb +32 -0
  35. data/lib/mdbe/database_views/system.rb +61 -0
  36. data/lib/mdbe/database_views/thread.rb +101 -0
  37. data/lib/mdbe/debug_server.rb +22 -0
  38. data/lib/mdbe/halt.rb +42 -0
  39. data/lib/mdbe/ruby_workspace.rb +29 -0
  40. data/lib/mdbe/version.rb +3 -0
  41. data/lib/tasks/maglev-database-explorer_tasks.rake +4 -0
  42. data/public/LICENSE +35 -0
  43. data/public/amber/CHANGELOG +65 -0
  44. data/public/amber/LICENSE +22 -0
  45. data/public/amber/Makefile +53 -0
  46. data/public/amber/README.md +30 -0
  47. data/public/amber/bin/amber +3 -0
  48. data/public/amber/bin/amberc +352 -0
  49. data/public/amber/bin/nodecompile.js +33 -0
  50. data/public/amber/bin/server +3 -0
  51. data/public/amber/bin/server.bat +3 -0
  52. data/public/amber/css/amber-normalize.css +468 -0
  53. data/public/amber/css/amber-normalize.less +501 -0
  54. data/public/amber/css/amber.css +539 -0
  55. data/public/amber/css/documentation.css +84 -0
  56. data/public/amber/css/profstef.css +75 -0
  57. data/public/amber/css/style.css +313 -0
  58. data/public/amber/documentation.html +37 -0
  59. data/public/amber/examples/Makefile +23 -0
  60. data/public/amber/examples/README +4 -0
  61. data/public/amber/examples/android/helloamber/AndroidManifest.xml +19 -0
  62. data/public/amber/examples/android/helloamber/HelloAmber.st +13 -0
  63. data/public/amber/examples/android/helloamber/Makefile +56 -0
  64. data/public/amber/examples/android/helloamber/README.md +80 -0
  65. data/public/amber/examples/android/helloamber/ant.properties +17 -0
  66. data/public/amber/examples/android/helloamber/assets/index.html +15 -0
  67. data/public/amber/examples/android/helloamber/assets/jquery-1.7.2.min.js +4 -0
  68. data/public/amber/examples/android/helloamber/build.xml +83 -0
  69. data/public/amber/examples/android/helloamber/local.properties +10 -0
  70. data/public/amber/examples/android/helloamber/proguard-project.txt +20 -0
  71. data/public/amber/examples/android/helloamber/project.properties +14 -0
  72. data/public/amber/examples/android/helloamber/res/layout/main.xml +6 -0
  73. data/public/amber/examples/android/helloamber/res/values/strings.xml +4 -0
  74. data/public/amber/examples/android/helloamber/src/org/amberlang/android/helloamber/HelloAmber.java +59 -0
  75. data/public/amber/examples/myproject/index.html +16 -0
  76. data/public/amber/examples/nodejs/README +9 -0
  77. data/public/amber/examples/nodejs/benchfib/Benchfib.st +124 -0
  78. data/public/amber/examples/nodejs/benchfib/Makefile +8 -0
  79. data/public/amber/examples/nodejs/benchfib/benchfib +1 -0
  80. data/public/amber/examples/nodejs/hello/Hello.st +9 -0
  81. data/public/amber/examples/nodejs/hello/Makefile +8 -0
  82. data/public/amber/examples/nodejs/hello/README +13 -0
  83. data/public/amber/examples/nodejs/hello/hello +1 -0
  84. data/public/amber/examples/nodejs/meta/Makefile +8 -0
  85. data/public/amber/examples/nodejs/meta/MyScript.st +27 -0
  86. data/public/amber/examples/nodejs/meta/meta +1 -0
  87. data/public/amber/examples/nodejs/pystone/Makefile +8 -0
  88. data/public/amber/examples/nodejs/pystone/Pystone.st +306 -0
  89. data/public/amber/examples/nodejs/pystone/pystone +1 -0
  90. data/public/amber/examples/nodejs/trivialserver/Makefile +8 -0
  91. data/public/amber/examples/nodejs/trivialserver/TrivialServer.st +51 -0
  92. data/public/amber/examples/nodejs/trivialserver/trivial +1 -0
  93. data/public/amber/examples/presentation/esug2011/images/asterix.png +0 -0
  94. data/public/amber/examples/presentation/esug2011/images/background_box.png +0 -0
  95. data/public/amber/examples/presentation/esug2011/images/background_header.png +0 -0
  96. data/public/amber/examples/presentation/esug2011/images/balloon.jpg +0 -0
  97. data/public/amber/examples/presentation/esug2011/images/balloon_header.png +0 -0
  98. data/public/amber/examples/presentation/esug2011/images/devices.jpg +0 -0
  99. data/public/amber/examples/presentation/esug2011/images/enyo.png +0 -0
  100. data/public/amber/examples/presentation/esug2011/images/ide_star_wars.png +0 -0
  101. data/public/amber/examples/presentation/esug2011/images/nodejs.png +0 -0
  102. data/public/amber/examples/presentation/esug2011/images/terminal.png +0 -0
  103. data/public/amber/examples/presentation/esug2011/images/webos.png +0 -0
  104. data/public/amber/examples/presentation/fosdem2012/images/amber.png +0 -0
  105. data/public/amber/examples/presentation/fosdem2012/images/ambrhino.jpg +0 -0
  106. data/public/amber/examples/presentation/fosdem2012/images/nodejs.png +0 -0
  107. data/public/amber/examples/presentation/fosdem2012/images/pharo.png +0 -0
  108. data/public/amber/examples/presentation/fosdem2012/images/php.gif +0 -0
  109. data/public/amber/examples/presentation/fosdem2012/images/rails.png +0 -0
  110. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-next.png +0 -0
  111. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-prev.png +0 -0
  112. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/closedhand.cur +0 -0
  113. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/openhand.cur +0 -0
  114. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-back.png +0 -0
  115. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-forward.png +0 -0
  116. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow.png +0 -0
  117. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.css +100 -0
  118. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.js +1232 -0
  119. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.min.js +13 -0
  120. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.easing.1.3.js +38 -0
  121. data/public/amber/examples/presentation/index.html +17 -0
  122. data/public/amber/examples/presentation/js/Presentation.deploy.js +1922 -0
  123. data/public/amber/examples/presentation/js/Presentation.js +2712 -0
  124. data/public/amber/examples/presentation/st/Presentation.st +1996 -0
  125. data/public/amber/examples/trysmalltalk/index.html +18 -0
  126. data/public/amber/examples/trysmalltalk/js/TrySmalltalk.deploy.js +837 -0
  127. data/public/amber/examples/trysmalltalk/js/TrySmalltalk.js +1206 -0
  128. data/public/amber/examples/trysmalltalk/st/TrySmalltalk.st +964 -0
  129. data/public/amber/examples/twitterwall/css/twitterwall.css +19 -0
  130. data/public/amber/examples/twitterwall/index.html +35 -0
  131. data/public/amber/examples/twitterwall/js/TwitterWall.deploy.js +116 -0
  132. data/public/amber/examples/twitterwall/js/TwitterWall.js +146 -0
  133. data/public/amber/examples/twitterwall/st/TwitterWall.st +91 -0
  134. data/public/amber/examples/webos/README +11 -0
  135. data/public/amber/examples/webos/eris/DuckQwaq.wav +0 -0
  136. data/public/amber/examples/webos/eris/EnyoAmber.st +36 -0
  137. data/public/amber/examples/webos/eris/Eris.css +0 -0
  138. data/public/amber/examples/webos/eris/Eris.st +86 -0
  139. data/public/amber/examples/webos/eris/Makefile +37 -0
  140. data/public/amber/examples/webos/eris/README +3 -0
  141. data/public/amber/examples/webos/eris/appinfo.json +10 -0
  142. data/public/amber/examples/webos/eris/index.html +12 -0
  143. data/public/amber/examples/webos/helloamber/EnyoAmber.st +36 -0
  144. data/public/amber/examples/webos/helloamber/HelloAmber.st +86 -0
  145. data/public/amber/examples/webos/helloamber/Makefile +38 -0
  146. data/public/amber/examples/webos/helloamber/README +5 -0
  147. data/public/amber/examples/webos/helloamber/appinfo.json +10 -0
  148. data/public/amber/examples/webos/helloamber/index.html +12 -0
  149. data/public/amber/favicon.ico +0 -0
  150. data/public/amber/images/amber.png +0 -0
  151. data/public/amber/images/amber.svg +706 -0
  152. data/public/amber/images/amber_small.png +0 -0
  153. data/public/amber/images/off.amber.png +0 -0
  154. data/public/amber/images/off.png +0 -0
  155. data/public/amber/images/offHover.amber.png +0 -0
  156. data/public/amber/images/offHover.png +0 -0
  157. data/public/amber/images/presentation.png +0 -0
  158. data/public/amber/images/profstef.png +0 -0
  159. data/public/amber/images/sprite.amber.png +0 -0
  160. data/public/amber/images/sprite.png +0 -0
  161. data/public/amber/images/tinylogo.amber.png +0 -0
  162. data/public/amber/images/tinylogo.png +0 -0
  163. data/public/amber/images/twitterwall.png +0 -0
  164. data/public/amber/index.html +55 -0
  165. data/public/amber/js/Additional-Examples.deploy.js +15 -0
  166. data/public/amber/js/Additional-Examples.js +21 -0
  167. data/public/amber/js/Benchfib.deploy.js +132 -0
  168. data/public/amber/js/Benchfib.js +167 -0
  169. data/public/amber/js/Canvas.deploy.js +2446 -0
  170. data/public/amber/js/Canvas.js +3547 -0
  171. data/public/amber/js/Compiler-Tests.deploy.js +97 -0
  172. data/public/amber/js/Compiler-Tests.js +137 -0
  173. data/public/amber/js/Compiler.deploy.js +1877 -0
  174. data/public/amber/js/Compiler.js +2622 -0
  175. data/public/amber/js/Documentation.deploy.js +961 -0
  176. data/public/amber/js/Documentation.js +1376 -0
  177. data/public/amber/js/Examples.deploy.js +53 -0
  178. data/public/amber/js/Examples.js +73 -0
  179. data/public/amber/js/IDE.deploy.js +3557 -0
  180. data/public/amber/js/IDE.js +5002 -0
  181. data/public/amber/js/Kernel-Announcements.deploy.js +107 -0
  182. data/public/amber/js/Kernel-Announcements.js +152 -0
  183. data/public/amber/js/Kernel-Classes.deploy.js +774 -0
  184. data/public/amber/js/Kernel-Classes.js +1095 -0
  185. data/public/amber/js/Kernel-Collections.deploy.js +3121 -0
  186. data/public/amber/js/Kernel-Collections.js +4427 -0
  187. data/public/amber/js/Kernel-Exceptions.deploy.js +244 -0
  188. data/public/amber/js/Kernel-Exceptions.js +349 -0
  189. data/public/amber/js/Kernel-Methods.deploy.js +573 -0
  190. data/public/amber/js/Kernel-Methods.js +807 -0
  191. data/public/amber/js/Kernel-Objects.deploy.js +2877 -0
  192. data/public/amber/js/Kernel-Objects.js +4107 -0
  193. data/public/amber/js/Kernel-Tests.deploy.js +1513 -0
  194. data/public/amber/js/Kernel-Tests.js +2053 -0
  195. data/public/amber/js/Kernel-Transcript.deploy.js +142 -0
  196. data/public/amber/js/Kernel-Transcript.js +202 -0
  197. data/public/amber/js/Maglev-Core.deploy.js +2996 -0
  198. data/public/amber/js/Maglev-Core.js +4246 -0
  199. data/public/amber/js/Maglev-Database-Explorer.deploy.js +4476 -0
  200. data/public/amber/js/Maglev-Database-Explorer.js +6232 -0
  201. data/public/amber/js/Maglev-Vendor.deploy.js +350 -0
  202. data/public/amber/js/Maglev-Vendor.js +465 -0
  203. data/public/amber/js/README.md +5 -0
  204. data/public/amber/js/SUnit.deploy.js +351 -0
  205. data/public/amber/js/SUnit.js +501 -0
  206. data/public/amber/js/amber.js +273 -0
  207. data/public/amber/js/boot.js +602 -0
  208. data/public/amber/js/compat.js +22 -0
  209. data/public/amber/js/init.js +9 -0
  210. data/public/amber/js/lib/CodeMirror/LICENSE +19 -0
  211. data/public/amber/js/lib/CodeMirror/active-line.js +39 -0
  212. data/public/amber/js/lib/CodeMirror/amber.css +21 -0
  213. data/public/amber/js/lib/CodeMirror/codemirror.css +67 -0
  214. data/public/amber/js/lib/CodeMirror/codemirror.js +2144 -0
  215. data/public/amber/js/lib/CodeMirror/smalltalk.js +134 -0
  216. data/public/amber/js/lib/jQuery/jquery-1.4.4.min.js +167 -0
  217. data/public/amber/js/lib/jQuery/jquery-1.6.4.min.js +4 -0
  218. data/public/amber/js/lib/jQuery/jquery-ui-1.8.16.custom.min.js +791 -0
  219. data/public/amber/js/lib/jQuery/jquery.textarea.js +267 -0
  220. data/public/amber/js/lib/peg-0.6.2.min.js +2 -0
  221. data/public/amber/js/lib/showdown.js +419 -0
  222. data/public/amber/js/parser.js +4222 -0
  223. data/public/amber/js/parser.pegjs +223 -0
  224. data/public/amber/learn.html +40 -0
  225. data/public/amber/repl/Makefile +8 -0
  226. data/public/amber/repl/REPL.js +124 -0
  227. data/public/amber/repl/REPL.st +56 -0
  228. data/public/amber/repl/amber.js +18085 -0
  229. data/public/amber/server/FileServer.st +576 -0
  230. data/public/amber/server/Makefile +8 -0
  231. data/public/amber/server/server.js +13049 -0
  232. data/public/amber/st/Benchfib.js +297 -0
  233. data/public/amber/st/Benchfib.st +124 -0
  234. data/public/amber/st/Canvas.st +968 -0
  235. data/public/amber/st/Compiler-Tests.st +471 -0
  236. data/public/amber/st/Compiler.st +1445 -0
  237. data/public/amber/st/Documentation.st +758 -0
  238. data/public/amber/st/Examples.js +100 -0
  239. data/public/amber/st/Examples.st +38 -0
  240. data/public/amber/st/IDE.st +2404 -0
  241. data/public/amber/st/Kernel-Announcements.st +61 -0
  242. data/public/amber/st/Kernel-Classes.st +462 -0
  243. data/public/amber/st/Kernel-Collections.st +1611 -0
  244. data/public/amber/st/Kernel-Exceptions.st +124 -0
  245. data/public/amber/st/Kernel-Methods.st +291 -0
  246. data/public/amber/st/Kernel-Objects.st +1587 -0
  247. data/public/amber/st/Kernel-Tests.st +953 -0
  248. data/public/amber/st/Kernel-Transcript.st +70 -0
  249. data/public/amber/st/Maglev-Core.st +1694 -0
  250. data/public/amber/st/Maglev-Database-Explorer.st +3148 -0
  251. data/public/amber/st/Maglev-Vendor.st +151 -0
  252. data/public/amber/st/Makefile +104 -0
  253. data/public/amber/st/README.md +4 -0
  254. data/public/amber/st/SUnit.st +172 -0
  255. data/public/css/bootstrap-combined.no-icons.min.css +731 -0
  256. data/public/css/bootstrap.css +6811 -0
  257. data/public/css/images/animated-overlay.gif +0 -0
  258. data/public/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  259. data/public/css/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  260. data/public/css/images/ui-bg_flat_10_000000_40x100.png +0 -0
  261. data/public/css/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  262. data/public/css/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  263. data/public/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  264. data/public/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  265. data/public/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  266. data/public/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  267. data/public/css/images/ui-icons_222222_256x240.png +0 -0
  268. data/public/css/images/ui-icons_228ef1_256x240.png +0 -0
  269. data/public/css/images/ui-icons_ef8c08_256x240.png +0 -0
  270. data/public/css/images/ui-icons_ffd27a_256x240.png +0 -0
  271. data/public/css/images/ui-icons_ffffff_256x240.png +0 -0
  272. data/public/css/jquery-ui.min.css +5 -0
  273. data/public/css/smalltalk_code.css +42 -0
  274. data/public/css/style.css +210 -0
  275. data/public/images/bg_tile.png +0 -0
  276. data/public/images/maglev-logo.gif +0 -0
  277. data/public/images/mchammer.gif +0 -0
  278. data/public/images/rails_tiny.png +0 -0
  279. data/public/images/ruby.png +0 -0
  280. data/public/images/ruby_smalltalk_bridge.png +0 -0
  281. data/public/images/smalltalk.png +0 -0
  282. data/public/img/glyphicons-halflings.png +0 -0
  283. data/public/index.html +118 -0
  284. data/public/libs/bootstrap.min.js +7 -0
  285. data/public/libs/codemirror/CONTRIBUTING.md +72 -0
  286. data/public/libs/codemirror/LICENSE +23 -0
  287. data/public/libs/codemirror/README.md +11 -0
  288. data/public/libs/codemirror/addon/dialog/dialog.css +32 -0
  289. data/public/libs/codemirror/addon/dialog/dialog.js +80 -0
  290. data/public/libs/codemirror/addon/display/placeholder.js +54 -0
  291. data/public/libs/codemirror/addon/edit/closebrackets.js +54 -0
  292. data/public/libs/codemirror/addon/edit/closetag.js +86 -0
  293. data/public/libs/codemirror/addon/edit/continuecomment.js +44 -0
  294. data/public/libs/codemirror/addon/edit/continuelist.js +25 -0
  295. data/public/libs/codemirror/addon/edit/matchbrackets.js +82 -0
  296. data/public/libs/codemirror/addon/fold/brace-fold.js +31 -0
  297. data/public/libs/codemirror/addon/fold/foldcode.js +32 -0
  298. data/public/libs/codemirror/addon/fold/indent-fold.js +11 -0
  299. data/public/libs/codemirror/addon/fold/xml-fold.js +64 -0
  300. data/public/libs/codemirror/addon/hint/html-hint.js +582 -0
  301. data/public/libs/codemirror/addon/hint/javascript-hint.js +142 -0
  302. data/public/libs/codemirror/addon/hint/pig-hint.js +117 -0
  303. data/public/libs/codemirror/addon/hint/python-hint.js +93 -0
  304. data/public/libs/codemirror/addon/hint/show-hint.css +38 -0
  305. data/public/libs/codemirror/addon/hint/show-hint.js +180 -0
  306. data/public/libs/codemirror/addon/hint/xml-hint.js +118 -0
  307. data/public/libs/codemirror/addon/lint/javascript-lint.js +127 -0
  308. data/public/libs/codemirror/addon/lint/json-lint.js +14 -0
  309. data/public/libs/codemirror/addon/lint/lint.css +96 -0
  310. data/public/libs/codemirror/addon/lint/lint.js +197 -0
  311. data/public/libs/codemirror/addon/mode/loadmode.js +51 -0
  312. data/public/libs/codemirror/addon/mode/multiplex.js +95 -0
  313. data/public/libs/codemirror/addon/mode/overlay.js +59 -0
  314. data/public/libs/codemirror/addon/runmode/colorize.js +29 -0
  315. data/public/libs/codemirror/addon/runmode/runmode-standalone.js +130 -0
  316. data/public/libs/codemirror/addon/runmode/runmode.js +52 -0
  317. data/public/libs/codemirror/addon/runmode/runmode.node.js +89 -0
  318. data/public/libs/codemirror/addon/search/match-highlighter.js +60 -0
  319. data/public/libs/codemirror/addon/search/search.js +131 -0
  320. data/public/libs/codemirror/addon/search/searchcursor.js +133 -0
  321. data/public/libs/codemirror/addon/selection/active-line.js +39 -0
  322. data/public/libs/codemirror/addon/selection/mark-selection.js +34 -0
  323. data/public/libs/codemirror/bin/compress +91 -0
  324. data/public/libs/codemirror/bin/lint +11 -0
  325. data/public/libs/codemirror/demo/activeline.html +70 -0
  326. data/public/libs/codemirror/demo/bidi.html +61 -0
  327. data/public/libs/codemirror/demo/btree.html +87 -0
  328. data/public/libs/codemirror/demo/buffers.html +98 -0
  329. data/public/libs/codemirror/demo/changemode.html +50 -0
  330. data/public/libs/codemirror/demo/closebrackets.html +63 -0
  331. data/public/libs/codemirror/demo/closetag.html +37 -0
  332. data/public/libs/codemirror/demo/complete.html +70 -0
  333. data/public/libs/codemirror/demo/emacs.html +60 -0
  334. data/public/libs/codemirror/demo/folding.html +69 -0
  335. data/public/libs/codemirror/demo/fullscreen.html +147 -0
  336. data/public/libs/codemirror/demo/html5complete.html +92 -0
  337. data/public/libs/codemirror/demo/indentwrap.html +49 -0
  338. data/public/libs/codemirror/demo/lint.html +90 -0
  339. data/public/libs/codemirror/demo/loadmode.html +40 -0
  340. data/public/libs/codemirror/demo/marker.html +59 -0
  341. data/public/libs/codemirror/demo/markselection.html +36 -0
  342. data/public/libs/codemirror/demo/matchhighlighter.html +38 -0
  343. data/public/libs/codemirror/demo/multiplex.html +60 -0
  344. data/public/libs/codemirror/demo/mustache.html +59 -0
  345. data/public/libs/codemirror/demo/placeholder.html +36 -0
  346. data/public/libs/codemirror/demo/preview.html +76 -0
  347. data/public/libs/codemirror/demo/resize.html +49 -0
  348. data/public/libs/codemirror/demo/runmode.html +50 -0
  349. data/public/libs/codemirror/demo/search.html +85 -0
  350. data/public/libs/codemirror/demo/spanaffectswrapping_shim.html +73 -0
  351. data/public/libs/codemirror/demo/theme.html +89 -0
  352. data/public/libs/codemirror/demo/variableheight.html +52 -0
  353. data/public/libs/codemirror/demo/vim.html +65 -0
  354. data/public/libs/codemirror/demo/visibletabs.html +53 -0
  355. data/public/libs/codemirror/demo/widget.html +74 -0
  356. data/public/libs/codemirror/demo/xmlcomplete.html +81 -0
  357. data/public/libs/codemirror/index.html +487 -0
  358. data/public/libs/codemirror/keymap/emacs.js +30 -0
  359. data/public/libs/codemirror/keymap/vim.js +3044 -0
  360. data/public/libs/codemirror/lib/codemirror.css +253 -0
  361. data/public/libs/codemirror/lib/codemirror.js +5585 -0
  362. data/public/libs/codemirror/mode/apl/apl.js +160 -0
  363. data/public/libs/codemirror/mode/apl/index.html +61 -0
  364. data/public/libs/codemirror/mode/asterisk/asterisk.js +183 -0
  365. data/public/libs/codemirror/mode/asterisk/index.html +142 -0
  366. data/public/libs/codemirror/mode/clike/clike.js +302 -0
  367. data/public/libs/codemirror/mode/clike/index.html +103 -0
  368. data/public/libs/codemirror/mode/clike/scala.html +767 -0
  369. data/public/libs/codemirror/mode/clojure/clojure.js +222 -0
  370. data/public/libs/codemirror/mode/clojure/index.html +76 -0
  371. data/public/libs/codemirror/mode/coffeescript/LICENSE +22 -0
  372. data/public/libs/codemirror/mode/coffeescript/coffeescript.js +346 -0
  373. data/public/libs/codemirror/mode/coffeescript/index.html +728 -0
  374. data/public/libs/codemirror/mode/commonlisp/commonlisp.js +101 -0
  375. data/public/libs/codemirror/mode/commonlisp/index.html +165 -0
  376. data/public/libs/codemirror/mode/css/css.js +567 -0
  377. data/public/libs/codemirror/mode/css/index.html +58 -0
  378. data/public/libs/codemirror/mode/css/scss.html +145 -0
  379. data/public/libs/codemirror/mode/css/scss_test.js +80 -0
  380. data/public/libs/codemirror/mode/css/test.js +113 -0
  381. data/public/libs/codemirror/mode/d/d.js +205 -0
  382. data/public/libs/codemirror/mode/d/index.html +262 -0
  383. data/public/libs/codemirror/mode/diff/diff.js +32 -0
  384. data/public/libs/codemirror/mode/diff/index.html +105 -0
  385. data/public/libs/codemirror/mode/ecl/ecl.js +192 -0
  386. data/public/libs/codemirror/mode/ecl/index.html +39 -0
  387. data/public/libs/codemirror/mode/erlang/erlang.js +463 -0
  388. data/public/libs/codemirror/mode/erlang/index.html +64 -0
  389. data/public/libs/codemirror/mode/gas/gas.js +326 -0
  390. data/public/libs/codemirror/mode/gas/index.html +57 -0
  391. data/public/libs/codemirror/mode/gfm/gfm.js +96 -0
  392. data/public/libs/codemirror/mode/gfm/index.html +74 -0
  393. data/public/libs/codemirror/mode/gfm/test.js +112 -0
  394. data/public/libs/codemirror/mode/go/go.js +165 -0
  395. data/public/libs/codemirror/mode/go/index.html +74 -0
  396. data/public/libs/codemirror/mode/groovy/groovy.js +210 -0
  397. data/public/libs/codemirror/mode/groovy/index.html +73 -0
  398. data/public/libs/codemirror/mode/haskell/haskell.js +242 -0
  399. data/public/libs/codemirror/mode/haskell/index.html +62 -0
  400. data/public/libs/codemirror/mode/haxe/haxe.js +429 -0
  401. data/public/libs/codemirror/mode/haxe/index.html +90 -0
  402. data/public/libs/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
  403. data/public/libs/codemirror/mode/htmlembedded/index.html +49 -0
  404. data/public/libs/codemirror/mode/htmlmixed/htmlmixed.js +104 -0
  405. data/public/libs/codemirror/mode/htmlmixed/index.html +73 -0
  406. data/public/libs/codemirror/mode/http/http.js +98 -0
  407. data/public/libs/codemirror/mode/http/index.html +32 -0
  408. data/public/libs/codemirror/mode/javascript/index.html +92 -0
  409. data/public/libs/codemirror/mode/javascript/javascript.js +467 -0
  410. data/public/libs/codemirror/mode/javascript/typescript.html +48 -0
  411. data/public/libs/codemirror/mode/jinja2/index.html +38 -0
  412. data/public/libs/codemirror/mode/jinja2/jinja2.js +42 -0
  413. data/public/libs/codemirror/mode/less/index.html +741 -0
  414. data/public/libs/codemirror/mode/less/less.js +266 -0
  415. data/public/libs/codemirror/mode/livescript/LICENSE +23 -0
  416. data/public/libs/codemirror/mode/livescript/index.html +446 -0
  417. data/public/libs/codemirror/mode/livescript/livescript.js +267 -0
  418. data/public/libs/codemirror/mode/livescript/livescript.ls +266 -0
  419. data/public/libs/codemirror/mode/lua/index.html +74 -0
  420. data/public/libs/codemirror/mode/lua/lua.js +140 -0
  421. data/public/libs/codemirror/mode/markdown/index.html +344 -0
  422. data/public/libs/codemirror/mode/markdown/markdown.js +526 -0
  423. data/public/libs/codemirror/mode/markdown/test.js +636 -0
  424. data/public/libs/codemirror/mode/meta.js +75 -0
  425. data/public/libs/codemirror/mode/mirc/index.html +149 -0
  426. data/public/libs/codemirror/mode/mirc/mirc.js +177 -0
  427. data/public/libs/codemirror/mode/ntriples/index.html +33 -0
  428. data/public/libs/codemirror/mode/ntriples/ntriples.js +170 -0
  429. data/public/libs/codemirror/mode/ocaml/index.html +131 -0
  430. data/public/libs/codemirror/mode/ocaml/ocaml.js +113 -0
  431. data/public/libs/codemirror/mode/pascal/LICENSE +7 -0
  432. data/public/libs/codemirror/mode/pascal/index.html +48 -0
  433. data/public/libs/codemirror/mode/pascal/pascal.js +94 -0
  434. data/public/libs/codemirror/mode/perl/LICENSE +19 -0
  435. data/public/libs/codemirror/mode/perl/index.html +62 -0
  436. data/public/libs/codemirror/mode/perl/perl.js +816 -0
  437. data/public/libs/codemirror/mode/php/index.html +51 -0
  438. data/public/libs/codemirror/mode/php/php.js +129 -0
  439. data/public/libs/codemirror/mode/pig/index.html +42 -0
  440. data/public/libs/codemirror/mode/pig/pig.js +171 -0
  441. data/public/libs/codemirror/mode/properties/index.html +41 -0
  442. data/public/libs/codemirror/mode/properties/properties.js +63 -0
  443. data/public/libs/codemirror/mode/python/LICENSE.txt +21 -0
  444. data/public/libs/codemirror/mode/python/index.html +135 -0
  445. data/public/libs/codemirror/mode/python/python.js +340 -0
  446. data/public/libs/codemirror/mode/q/index.html +131 -0
  447. data/public/libs/codemirror/mode/q/q.js +124 -0
  448. data/public/libs/codemirror/mode/r/LICENSE +24 -0
  449. data/public/libs/codemirror/mode/r/index.html +74 -0
  450. data/public/libs/codemirror/mode/r/r.js +141 -0
  451. data/public/libs/codemirror/mode/rpm/changes/changes.js +19 -0
  452. data/public/libs/codemirror/mode/rpm/changes/index.html +53 -0
  453. data/public/libs/codemirror/mode/rpm/spec/index.html +99 -0
  454. data/public/libs/codemirror/mode/rpm/spec/spec.css +5 -0
  455. data/public/libs/codemirror/mode/rpm/spec/spec.js +66 -0
  456. data/public/libs/codemirror/mode/rst/LICENSE.txt +21 -0
  457. data/public/libs/codemirror/mode/rst/index.html +524 -0
  458. data/public/libs/codemirror/mode/rst/rst.js +550 -0
  459. data/public/libs/codemirror/mode/ruby/LICENSE +24 -0
  460. data/public/libs/codemirror/mode/ruby/index.html +173 -0
  461. data/public/libs/codemirror/mode/ruby/ruby.js +197 -0
  462. data/public/libs/codemirror/mode/rust/index.html +48 -0
  463. data/public/libs/codemirror/mode/rust/rust.js +432 -0
  464. data/public/libs/codemirror/mode/sass/index.html +54 -0
  465. data/public/libs/codemirror/mode/sass/sass.js +349 -0
  466. data/public/libs/codemirror/mode/scheme/index.html +65 -0
  467. data/public/libs/codemirror/mode/scheme/scheme.js +230 -0
  468. data/public/libs/codemirror/mode/shell/index.html +51 -0
  469. data/public/libs/codemirror/mode/shell/shell.js +118 -0
  470. data/public/libs/codemirror/mode/sieve/LICENSE +19 -0
  471. data/public/libs/codemirror/mode/sieve/index.html +81 -0
  472. data/public/libs/codemirror/mode/sieve/sieve.js +183 -0
  473. data/public/libs/codemirror/mode/smalltalk/index.html +57 -0
  474. data/public/libs/codemirror/mode/smalltalk/smalltalk.js +141 -0
  475. data/public/libs/codemirror/mode/smarty/index.html +83 -0
  476. data/public/libs/codemirror/mode/smarty/smarty.js +148 -0
  477. data/public/libs/codemirror/mode/sparql/index.html +42 -0
  478. data/public/libs/codemirror/mode/sparql/sparql.js +143 -0
  479. data/public/libs/codemirror/mode/sql/index.html +68 -0
  480. data/public/libs/codemirror/mode/sql/sql.js +268 -0
  481. data/public/libs/codemirror/mode/stex/index.html +98 -0
  482. data/public/libs/codemirror/mode/stex/stex.js +246 -0
  483. data/public/libs/codemirror/mode/stex/test.js +117 -0
  484. data/public/libs/codemirror/mode/tcl/index.html +129 -0
  485. data/public/libs/codemirror/mode/tcl/tcl.js +131 -0
  486. data/public/libs/codemirror/mode/tiddlywiki/index.html +142 -0
  487. data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  488. data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
  489. data/public/libs/codemirror/mode/tiki/index.html +81 -0
  490. data/public/libs/codemirror/mode/tiki/tiki.css +26 -0
  491. data/public/libs/codemirror/mode/tiki/tiki.js +308 -0
  492. data/public/libs/codemirror/mode/turtle/index.html +39 -0
  493. data/public/libs/codemirror/mode/turtle/turtle.js +145 -0
  494. data/public/libs/codemirror/mode/vb/LICENSE.txt +21 -0
  495. data/public/libs/codemirror/mode/vb/index.html +88 -0
  496. data/public/libs/codemirror/mode/vb/vb.js +259 -0
  497. data/public/libs/codemirror/mode/vbscript/index.html +42 -0
  498. data/public/libs/codemirror/mode/vbscript/vbscript.js +26 -0
  499. data/public/libs/codemirror/mode/velocity/index.html +103 -0
  500. data/public/libs/codemirror/mode/velocity/velocity.js +144 -0
  501. data/public/libs/codemirror/mode/verilog/index.html +121 -0
  502. data/public/libs/codemirror/mode/verilog/verilog.js +182 -0
  503. data/public/libs/codemirror/mode/xml/index.html +45 -0
  504. data/public/libs/codemirror/mode/xml/xml.js +328 -0
  505. data/public/libs/codemirror/mode/xquery/LICENSE +20 -0
  506. data/public/libs/codemirror/mode/xquery/index.html +221 -0
  507. data/public/libs/codemirror/mode/xquery/test.js +64 -0
  508. data/public/libs/codemirror/mode/xquery/xquery.js +450 -0
  509. data/public/libs/codemirror/mode/yaml/index.html +68 -0
  510. data/public/libs/codemirror/mode/yaml/yaml.js +95 -0
  511. data/public/libs/codemirror/mode/z80/index.html +39 -0
  512. data/public/libs/codemirror/mode/z80/z80.js +85 -0
  513. data/public/libs/codemirror/package.json +21 -0
  514. data/public/libs/codemirror/test/doc_test.js +329 -0
  515. data/public/libs/codemirror/test/driver.js +138 -0
  516. data/public/libs/codemirror/test/index.html +182 -0
  517. data/public/libs/codemirror/test/lint/acorn.js +1593 -0
  518. data/public/libs/codemirror/test/lint/lint.js +112 -0
  519. data/public/libs/codemirror/test/lint/parse-js.js +1372 -0
  520. data/public/libs/codemirror/test/lint/walk.js +216 -0
  521. data/public/libs/codemirror/test/mode_test.css +10 -0
  522. data/public/libs/codemirror/test/mode_test.js +192 -0
  523. data/public/libs/codemirror/test/phantom_driver.js +31 -0
  524. data/public/libs/codemirror/test/run.js +33 -0
  525. data/public/libs/codemirror/test/test.js +1400 -0
  526. data/public/libs/codemirror/test/vim_test.js +1688 -0
  527. data/public/libs/codemirror/theme/ambiance-mobile.css +5 -0
  528. data/public/libs/codemirror/theme/ambiance.css +75 -0
  529. data/public/libs/codemirror/theme/blackboard.css +25 -0
  530. data/public/libs/codemirror/theme/cobalt.css +18 -0
  531. data/public/libs/codemirror/theme/eclipse.css +25 -0
  532. data/public/libs/codemirror/theme/elegant.css +10 -0
  533. data/public/libs/codemirror/theme/erlang-dark.css +21 -0
  534. data/public/libs/codemirror/theme/lesser-dark.css +44 -0
  535. data/public/libs/codemirror/theme/midnight.css +52 -0
  536. data/public/libs/codemirror/theme/monokai.css +28 -0
  537. data/public/libs/codemirror/theme/neat.css +9 -0
  538. data/public/libs/codemirror/theme/night.css +21 -0
  539. data/public/libs/codemirror/theme/rubyblue.css +21 -0
  540. data/public/libs/codemirror/theme/solarized.css +207 -0
  541. data/public/libs/codemirror/theme/twilight.css +26 -0
  542. data/public/libs/codemirror/theme/vibrant-ink.css +27 -0
  543. data/public/libs/codemirror/theme/xq-dark.css +46 -0
  544. data/public/libs/codemirror/theme/xq-light.css +43 -0
  545. data/public/libs/font-awesome/css/font-awesome-ie7.css +983 -0
  546. data/public/libs/font-awesome/css/font-awesome-ie7.min.css +24 -0
  547. data/public/libs/font-awesome/css/font-awesome.css +1268 -0
  548. data/public/libs/font-awesome/css/font-awesome.min.css +24 -0
  549. data/public/libs/font-awesome/font/FontAwesome.otf +0 -0
  550. data/public/libs/font-awesome/font/fontawesome-webfont.eot +0 -0
  551. data/public/libs/font-awesome/font/fontawesome-webfont.svg +339 -0
  552. data/public/libs/font-awesome/font/fontawesome-webfont.ttf +0 -0
  553. data/public/libs/font-awesome/font/fontawesome-webfont.woff +0 -0
  554. data/public/libs/font-awesome/less/bootstrap.less +78 -0
  555. data/public/libs/font-awesome/less/core.less +132 -0
  556. data/public/libs/font-awesome/less/extras.less +79 -0
  557. data/public/libs/font-awesome/less/font-awesome-ie7.less +413 -0
  558. data/public/libs/font-awesome/less/font-awesome.less +32 -0
  559. data/public/libs/font-awesome/less/icons.less +330 -0
  560. data/public/libs/font-awesome/less/mixins.less +34 -0
  561. data/public/libs/font-awesome/less/path.less +15 -0
  562. data/public/libs/font-awesome/less/variables.less +9 -0
  563. data/public/libs/jquery-1.10.0.min.js +6 -0
  564. data/public/libs/jquery-ui.min.js +12 -0
  565. data/public/libs/jquery.jsPlumb-1.4.0-all.js +9571 -0
  566. data/public/libs/jquery.livequery.js +226 -0
  567. data/public/libs/jsPlumbInitializer.js +72 -0
  568. data/public/libs/jstree/README.txt +10 -0
  569. data/public/libs/jstree/_demo/_dump.sql +20 -0
  570. data/public/libs/jstree/_demo/_inc/__mysql_errors.log +0 -0
  571. data/public/libs/jstree/_demo/_inc/class._database.php +146 -0
  572. data/public/libs/jstree/_demo/_inc/class._database_i.php +152 -0
  573. data/public/libs/jstree/_demo/_inc/class.tree.php +602 -0
  574. data/public/libs/jstree/_demo/_install.txt +6 -0
  575. data/public/libs/jstree/_demo/config.php +14 -0
  576. data/public/libs/jstree/_demo/file.png +0 -0
  577. data/public/libs/jstree/_demo/folder.png +0 -0
  578. data/public/libs/jstree/_demo/index.html +461 -0
  579. data/public/libs/jstree/_demo/root.png +0 -0
  580. data/public/libs/jstree/_demo/server.php +69 -0
  581. data/public/libs/jstree/_docs/!style.css +48 -0
  582. data/public/libs/jstree/_docs/_drive.png +0 -0
  583. data/public/libs/jstree/_docs/_html_data.html +2 -0
  584. data/public/libs/jstree/_docs/_json_data.json +4 -0
  585. data/public/libs/jstree/_docs/_search_data.json +6 -0
  586. data/public/libs/jstree/_docs/_search_result.json +1 -0
  587. data/public/libs/jstree/_docs/_xml_flat.xml +12 -0
  588. data/public/libs/jstree/_docs/_xml_nest.xml +18 -0
  589. data/public/libs/jstree/_docs/checkbox.html +171 -0
  590. data/public/libs/jstree/_docs/contextmenu.html +121 -0
  591. data/public/libs/jstree/_docs/cookies.html +97 -0
  592. data/public/libs/jstree/_docs/core.html +689 -0
  593. data/public/libs/jstree/_docs/crrm.html +316 -0
  594. data/public/libs/jstree/_docs/dnd.html +199 -0
  595. data/public/libs/jstree/_docs/hotkeys.html +82 -0
  596. data/public/libs/jstree/_docs/html_data.html +175 -0
  597. data/public/libs/jstree/_docs/index.html +86 -0
  598. data/public/libs/jstree/_docs/json_data.html +249 -0
  599. data/public/libs/jstree/_docs/languages.html +152 -0
  600. data/public/libs/jstree/_docs/logo.png +0 -0
  601. data/public/libs/jstree/_docs/search.html +153 -0
  602. data/public/libs/jstree/_docs/sort.html +85 -0
  603. data/public/libs/jstree/_docs/syntax/!script.js +2232 -0
  604. data/public/libs/jstree/_docs/syntax/!style.css +511 -0
  605. data/public/libs/jstree/_docs/syntax/clipboard.swf +0 -0
  606. data/public/libs/jstree/_docs/syntax/help.png +0 -0
  607. data/public/libs/jstree/_docs/syntax/magnifier.png +0 -0
  608. data/public/libs/jstree/_docs/syntax/page_white_code.png +0 -0
  609. data/public/libs/jstree/_docs/syntax/page_white_copy.png +0 -0
  610. data/public/libs/jstree/_docs/syntax/printer.png +0 -0
  611. data/public/libs/jstree/_docs/syntax/wrapping.png +0 -0
  612. data/public/libs/jstree/_docs/themeroller.html +107 -0
  613. data/public/libs/jstree/_docs/themes.html +127 -0
  614. data/public/libs/jstree/_docs/types.html +178 -0
  615. data/public/libs/jstree/_docs/ui.html +197 -0
  616. data/public/libs/jstree/_docs/unique.html +85 -0
  617. data/public/libs/jstree/_docs/xml_data.html +218 -0
  618. data/public/libs/jstree/_lib/jquery.cookie.js +96 -0
  619. data/public/libs/jstree/_lib/jquery.hotkeys.js +99 -0
  620. data/public/libs/jstree/_lib/jquery.js +5 -0
  621. data/public/libs/jstree/jquery.jstree.js +4564 -0
  622. data/public/libs/jstree/themes/apple/bg.jpg +0 -0
  623. data/public/libs/jstree/themes/apple/d.png +0 -0
  624. data/public/libs/jstree/themes/apple/dot_for_ie.gif +0 -0
  625. data/public/libs/jstree/themes/apple/style.css +61 -0
  626. data/public/libs/jstree/themes/apple/throbber.gif +0 -0
  627. data/public/libs/jstree/themes/classic/d.gif +0 -0
  628. data/public/libs/jstree/themes/classic/d.png +0 -0
  629. data/public/libs/jstree/themes/classic/dot_for_ie.gif +0 -0
  630. data/public/libs/jstree/themes/classic/style.css +77 -0
  631. data/public/libs/jstree/themes/classic/throbber.gif +0 -0
  632. data/public/libs/jstree/themes/default-rtl/d.gif +0 -0
  633. data/public/libs/jstree/themes/default-rtl/d.png +0 -0
  634. data/public/libs/jstree/themes/default-rtl/dots.gif +0 -0
  635. data/public/libs/jstree/themes/default-rtl/style.css +84 -0
  636. data/public/libs/jstree/themes/default-rtl/throbber.gif +0 -0
  637. data/public/libs/jstree/themes/default/d.gif +0 -0
  638. data/public/libs/jstree/themes/default/d.png +0 -0
  639. data/public/libs/jstree/themes/default/style.css +74 -0
  640. data/public/libs/jstree/themes/default/throbber.gif +0 -0
  641. data/public/themes/geo-bootstrap/README.md +25 -0
  642. data/public/themes/geo-bootstrap/img/flames.gif +0 -0
  643. data/public/themes/geo-bootstrap/img/glyphicons-halflings-white.png +0 -0
  644. data/public/themes/geo-bootstrap/img/glyphicons-halflings.png +0 -0
  645. data/public/themes/geo-bootstrap/img/microfab.gif +0 -0
  646. data/public/themes/geo-bootstrap/img/progress.gif +0 -0
  647. data/public/themes/geo-bootstrap/img/rainbow.gif +0 -0
  648. data/public/themes/geo-bootstrap/img/stars.gif +0 -0
  649. data/public/themes/geo-bootstrap/img/test/7upspot.gif +0 -0
  650. data/public/themes/geo-bootstrap/img/test/americanflag.gif +0 -0
  651. data/public/themes/geo-bootstrap/img/test/community.gif +0 -0
  652. data/public/themes/geo-bootstrap/img/test/computer-01.gif +0 -0
  653. data/public/themes/geo-bootstrap/img/test/computer.gif +0 -0
  654. data/public/themes/geo-bootstrap/img/test/construction.gif +0 -0
  655. data/public/themes/geo-bootstrap/img/test/counter.gif +0 -0
  656. data/public/themes/geo-bootstrap/img/test/counter2.gif +0 -0
  657. data/public/themes/geo-bootstrap/img/test/divider.gif +0 -0
  658. data/public/themes/geo-bootstrap/img/test/divider1.gif +0 -0
  659. data/public/themes/geo-bootstrap/img/test/divider2.gif +0 -0
  660. data/public/themes/geo-bootstrap/img/test/divider3.gif +0 -0
  661. data/public/themes/geo-bootstrap/img/test/divider4.gif +0 -0
  662. data/public/themes/geo-bootstrap/img/test/drudgesiren.gif +0 -0
  663. data/public/themes/geo-bootstrap/img/test/emailme.gif +0 -0
  664. data/public/themes/geo-bootstrap/img/test/funky.gif +0 -0
  665. data/public/themes/geo-bootstrap/img/test/geocities.jpg +0 -0
  666. data/public/themes/geo-bootstrap/img/test/hacker.gif +0 -0
  667. data/public/themes/geo-bootstrap/img/test/heart.gif +0 -0
  668. data/public/themes/geo-bootstrap/img/test/hot.gif +0 -0
  669. data/public/themes/geo-bootstrap/img/test/ie_logo.gif +0 -0
  670. data/public/themes/geo-bootstrap/img/test/mailkitten.gif +0 -0
  671. data/public/themes/geo-bootstrap/img/test/mchammer.gif +0 -0
  672. data/public/themes/geo-bootstrap/img/test/new.gif +0 -0
  673. data/public/themes/geo-bootstrap/img/test/new2.gif +0 -0
  674. data/public/themes/geo-bootstrap/img/test/noframes.gif +0 -0
  675. data/public/themes/geo-bootstrap/img/test/notepad.gif +0 -0
  676. data/public/themes/geo-bootstrap/img/test/ns_logo.gif +0 -0
  677. data/public/themes/geo-bootstrap/img/test/sign-in.gif +0 -0
  678. data/public/themes/geo-bootstrap/img/test/spinningearth.gif +0 -0
  679. data/public/themes/geo-bootstrap/img/test/underconstruction.gif +0 -0
  680. data/public/themes/geo-bootstrap/img/test/wabwalk.gif +0 -0
  681. data/public/themes/geo-bootstrap/img/test/webtrips.gif +0 -0
  682. data/public/themes/geo-bootstrap/img/test/yahooweek.gif +0 -0
  683. data/public/themes/geo-bootstrap/package.json +21 -0
  684. data/public/themes/geo-bootstrap/swatch/bootstrap-responsive.css +1109 -0
  685. data/public/themes/geo-bootstrap/swatch/bootstrap-responsive.min.css +9 -0
  686. data/public/themes/geo-bootstrap/swatch/bootstrap.css +6462 -0
  687. data/public/themes/geo-bootstrap/swatch/bootstrap.min.css +9 -0
  688. metadata +791 -0
@@ -0,0 +1,2053 @@
1
+ smalltalk.addPackage('Kernel-Tests', {});
2
+ smalltalk.addClass('ArrayTest', smalltalk.TestCase, [], 'Kernel-Tests');
3
+ smalltalk.addMethod(
4
+ unescape('_testFirstN'),
5
+ smalltalk.method({
6
+ selector: unescape('testFirstN'),
7
+ category: 'testing',
8
+ fn: function (){
9
+ var self=this;
10
+ smalltalk.send(self, "_assert_equals_", [[(1),(2),(3)], smalltalk.send([(1),(2),(3),(4),(5)], "_first_", [(3)])]);
11
+ return self;},
12
+ args: [],
13
+ source: unescape('testFirstN%0A%09self%20assert%3A%20%7B1.%202.%203%7D%20equals%3A%20%28%7B1.%202.%A03.%204.%205%7D%20first%3A%203%29.'),
14
+ messageSends: ["assert:equals:", "first:"],
15
+ referencedClasses: []
16
+ }),
17
+ smalltalk.ArrayTest);
18
+
19
+ smalltalk.addMethod(
20
+ unescape('_testIfEmpty'),
21
+ smalltalk.method({
22
+ selector: unescape('testIfEmpty'),
23
+ category: 'testing',
24
+ fn: function (){
25
+ var self=this;
26
+ smalltalk.send(self, "_assert_equals_", ["zork", smalltalk.send("", "_ifEmpty_", [(function(){return "zork";})])]);
27
+ return self;},
28
+ args: [],
29
+ source: unescape('testIfEmpty%0A%09self%20assert%3A%20%27zork%27%20equals%3A%20%28%20%27%27%20ifEmpty%3A%20%5B%27zork%27%5D%20%29'),
30
+ messageSends: ["assert:equals:", "ifEmpty:"],
31
+ referencedClasses: []
32
+ }),
33
+ smalltalk.ArrayTest);
34
+
35
+
36
+
37
+ smalltalk.addClass('BlockClosureTest', smalltalk.TestCase, [], 'Kernel-Tests');
38
+ smalltalk.addMethod(
39
+ unescape('_testCompiledSource'),
40
+ smalltalk.method({
41
+ selector: unescape('testCompiledSource'),
42
+ category: 'tests',
43
+ fn: function () {
44
+ var self=this;
45
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((function(){return (1) + (1);}), "_compiledSource", []), "_includesSubString_", ["function"])]);
46
+ return self;},
47
+ args: [],
48
+ source: unescape('testCompiledSource%0A%09self%20assert%3A%20%28%5B1+1%5D%20compiledSource%20includesSubString%3A%20%27function%27%29'),
49
+ messageSends: ["assert:", "includesSubString:", "compiledSource", unescape("+")],
50
+ referencedClasses: []
51
+ }),
52
+ smalltalk.BlockClosureTest);
53
+
54
+ smalltalk.addMethod(
55
+ unescape('_testEnsure'),
56
+ smalltalk.method({
57
+ selector: unescape('testEnsure'),
58
+ category: 'tests',
59
+ fn: function () {
60
+ var self=this;
61
+ smalltalk.send(self, "_assert_", [smalltalk.send((function(){return smalltalk.send((smalltalk.Error || Error), "_new", []);}), "_ensure_", [(function(){return true;})])]);
62
+ return self;},
63
+ args: [],
64
+ source: unescape('testEnsure%0A%09self%20assert%3A%20%28%5BError%20new%5D%20ensure%3A%20%5Btrue%5D%29'),
65
+ messageSends: ["assert:", "ensure:", "new"],
66
+ referencedClasses: ["Error"]
67
+ }),
68
+ smalltalk.BlockClosureTest);
69
+
70
+ smalltalk.addMethod(
71
+ unescape('_testNumArgs'),
72
+ smalltalk.method({
73
+ selector: unescape('testNumArgs'),
74
+ category: 'tests',
75
+ fn: function () {
76
+ var self=this;
77
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(){return nil;}), "_numArgs", []), (0)]);
78
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(a, b){return nil;}), "_numArgs", []), (2)]);
79
+ return self;},
80
+ args: [],
81
+ source: unescape('testNumArgs%0A%09self%20assert%3A%20%5B%5D%20numArgs%20equals%3A%200.%0A%09self%20assert%3A%20%5B%3Aa%20%3Ab%20%7C%20%5D%20numArgs%20equals%3A%202'),
82
+ messageSends: ["assert:equals:", "numArgs"],
83
+ referencedClasses: []
84
+ }),
85
+ smalltalk.BlockClosureTest);
86
+
87
+ smalltalk.addMethod(
88
+ unescape('_testOnDo'),
89
+ smalltalk.method({
90
+ selector: unescape('testOnDo'),
91
+ category: 'tests',
92
+ fn: function () {
93
+ var self=this;
94
+ smalltalk.send(self, "_assert_", [smalltalk.send((function(){return smalltalk.send(smalltalk.send((smalltalk.Error || Error), "_new", []), "_signal", []);}), "_on_do_", [(smalltalk.Error || Error), (function(ex){return true;})])]);
95
+ return self;},
96
+ args: [],
97
+ source: unescape('testOnDo%0A%09self%20assert%3A%20%28%5BError%20new%20signal%5D%20on%3A%20Error%20do%3A%20%5B%3Aex%20%7C%20true%5D%29'),
98
+ messageSends: ["assert:", "on:do:", "signal", "new"],
99
+ referencedClasses: ["Error"]
100
+ }),
101
+ smalltalk.BlockClosureTest);
102
+
103
+ smalltalk.addMethod(
104
+ unescape('_testValue'),
105
+ smalltalk.method({
106
+ selector: unescape('testValue'),
107
+ category: 'tests',
108
+ fn: function () {
109
+ var self=this;
110
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(){return (1) + (1);}), "_value", []), (2)]);
111
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(x){return ((($receiver = x).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]));}), "_value_", [(2)]), (3)]);
112
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(x, y){return ((($receiver = x).klass === smalltalk.Number) ? $receiver *y : smalltalk.send($receiver, "__star", [y]));}), "_value_value_", [(2), (4)]), (8)]);
113
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(a, b, c){return (1);}), "_value", []), (1)]);
114
+ return self;},
115
+ args: [],
116
+ source: unescape('testValue%0A%09self%20assert%3A%20%28%5B1+1%5D%20value%29%20equals%3A%202.%0A%09self%20assert%3A%20%28%5B%3Ax%20%7C%20x%20+1%5D%20value%3A%202%29%20equals%3A%203.%0A%09self%20assert%3A%20%28%5B%3Ax%20%3Ay%20%7C%20x*y%5D%20value%3A%202%20value%3A%204%29%20equals%3A%208.%20%0A%0A%09%22Arguments%20are%20optional%20in%20Amber.%20This%20isn%27t%20ANSI%20compliant.%22%0A%0A%09self%20assert%3A%20%28%5B%3Aa%20%3Ab%20%3Ac%20%7C%201%5D%20value%29%20equals%3A%201'),
117
+ messageSends: ["assert:equals:", "value", unescape("+"), "value:", "value:value:", unescape("*")],
118
+ referencedClasses: []
119
+ }),
120
+ smalltalk.BlockClosureTest);
121
+
122
+ smalltalk.addMethod(
123
+ unescape('_testValueWithPossibleArguments'),
124
+ smalltalk.method({
125
+ selector: unescape('testValueWithPossibleArguments'),
126
+ category: 'tests',
127
+ fn: function () {
128
+ var self=this;
129
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(){return (1);}), "_valueWithPossibleArguments_", [[(3), (4)]]), (1)]);
130
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(a){return ((($receiver = a).klass === smalltalk.Number) ? $receiver +(4) : smalltalk.send($receiver, "__plus", [(4)]));}), "_valueWithPossibleArguments_", [[(3), (4)]]), (7)]);
131
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((function(a, b){return ((($receiver = a).klass === smalltalk.Number) ? $receiver +b : smalltalk.send($receiver, "__plus", [b]));}), "_valueWithPossibleArguments_", [[(3), (4), (5)]]), (7)]);
132
+ return self;},
133
+ args: [],
134
+ source: unescape('testValueWithPossibleArguments%0A%09self%20assert%3A%20%28%5B1%5D%20valueWithPossibleArguments%3A%20%23%283%204%29%29%20equals%3A%201.%0A%09self%20assert%3A%20%28%5B%3Aa%20%7C%20a%20+%204%5D%20valueWithPossibleArguments%3A%20%23%283%204%29%29%20equals%3A%207.%0A%09self%20assert%3A%20%28%5B%3Aa%20%3Ab%20%7C%20a%20+%20b%5D%20valueWithPossibleArguments%3A%20%23%283%204%205%29%29%20equals%3A%207.'),
135
+ messageSends: ["assert:equals:", "valueWithPossibleArguments:", unescape("+")],
136
+ referencedClasses: []
137
+ }),
138
+ smalltalk.BlockClosureTest);
139
+
140
+ smalltalk.addMethod(
141
+ unescape('_testWhileFalse'),
142
+ smalltalk.method({
143
+ selector: unescape('testWhileFalse'),
144
+ category: 'tests',
145
+ fn: function () {
146
+ var self=this;
147
+ var i=nil;
148
+ (i=(0));
149
+ (function(){while(!(function(){return ((($receiver = i).klass === smalltalk.Number) ? $receiver >(5) : smalltalk.send($receiver, "__gt", [(5)]));})()) {(function(){return (i=((($receiver = i).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));})()}})();
150
+ smalltalk.send(self, "_assert_equals_", [i, (6)]);
151
+ (i=(0));
152
+ (function(){while(!(function(){(i=((($receiver = i).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));return ((($receiver = i).klass === smalltalk.Number) ? $receiver >(5) : smalltalk.send($receiver, "__gt", [(5)]));})()) {}})();
153
+ smalltalk.send(self, "_assert_equals_", [i, (6)]);
154
+ return self;},
155
+ args: [],
156
+ source: unescape('testWhileFalse%0A%09%7C%20i%20%7C%0A%09i%20%3A%3D%200.%0A%09%5Bi%20%3E%205%5D%20whileFalse%3A%20%5Bi%20%3A%3D%20i%20+%201%5D.%0A%09self%20assert%3A%20i%20equals%3A%206.%0A%0A%09i%20%3A%3D%200.%0A%09%5Bi%20%3A%3D%20i%20+%201.%20i%20%3E%205%5D%20whileFalse.%0A%09self%20assert%3A%20i%20equals%3A%206'),
157
+ messageSends: ["whileFalse:", unescape("%3E"), unescape("+"), "assert:equals:", "whileFalse"],
158
+ referencedClasses: []
159
+ }),
160
+ smalltalk.BlockClosureTest);
161
+
162
+ smalltalk.addMethod(
163
+ unescape('_testWhileTrue'),
164
+ smalltalk.method({
165
+ selector: unescape('testWhileTrue'),
166
+ category: 'tests',
167
+ fn: function () {
168
+ var self=this;
169
+ var i=nil;
170
+ (i=(0));
171
+ (function(){while((function(){return ((($receiver = i).klass === smalltalk.Number) ? $receiver <(5) : smalltalk.send($receiver, "__lt", [(5)]));})()) {(function(){return (i=((($receiver = i).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));})()}})();
172
+ smalltalk.send(self, "_assert_equals_", [i, (5)]);
173
+ (i=(0));
174
+ (function(){while((function(){(i=((($receiver = i).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));return ((($receiver = i).klass === smalltalk.Number) ? $receiver <(5) : smalltalk.send($receiver, "__lt", [(5)]));})()) {}})();
175
+ smalltalk.send(self, "_assert_equals_", [i, (5)]);
176
+ return self;},
177
+ args: [],
178
+ source: unescape('testWhileTrue%0A%09%7C%20i%20%7C%0A%09i%20%3A%3D%200.%0A%09%5Bi%20%3C%205%5D%20whileTrue%3A%20%5Bi%20%3A%3D%20i%20+%201%5D.%0A%09self%20assert%3A%20i%20equals%3A%205.%0A%0A%09i%20%3A%3D%200.%0A%09%5Bi%20%3A%3D%20i%20+%201.%20i%20%3C%205%5D%20whileTrue.%0A%09self%20assert%3A%20i%20equals%3A%205'),
179
+ messageSends: ["whileTrue:", unescape("%3C"), unescape("+"), "assert:equals:", "whileTrue"],
180
+ referencedClasses: []
181
+ }),
182
+ smalltalk.BlockClosureTest);
183
+
184
+
185
+
186
+ smalltalk.addClass('BooleanTest', smalltalk.TestCase, [], 'Kernel-Tests');
187
+ smalltalk.addMethod(
188
+ unescape('_testEquality'),
189
+ smalltalk.method({
190
+ selector: unescape('testEquality'),
191
+ category: 'tests',
192
+ fn: function () {
193
+ var self=this;
194
+ smalltalk.send(self, "_deny_", [smalltalk.send((0), "__eq", [false])]);
195
+ smalltalk.send(self, "_deny_", [smalltalk.send(false, "__eq", [(0)])]);
196
+ smalltalk.send(self, "_deny_", [smalltalk.send("", "__eq", [false])]);
197
+ smalltalk.send(self, "_deny_", [smalltalk.send(false, "__eq", [""])]);
198
+ smalltalk.send(self, "_assert_", [smalltalk.send(true, "__eq", [true])]);
199
+ smalltalk.send(self, "_deny_", [smalltalk.send(false, "__eq", [true])]);
200
+ smalltalk.send(self, "_deny_", [smalltalk.send(true, "__eq", [false])]);
201
+ smalltalk.send(self, "_assert_", [smalltalk.send(false, "__eq", [false])]);
202
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(true, "_yourself", []), "__eq", [true])]);
203
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(true, "_yourself", []), "__eq", [smalltalk.send(true, "_yourself", [])])]);
204
+ return self;},
205
+ args: [],
206
+ source: unescape('testEquality%0A%09%22We%27re%20on%20top%20of%20JS...just%20be%20sure%20to%20check%20the%20basics%21%22%0A%0A%09self%20deny%3A%200%20%3D%20false.%20%0A%09self%20deny%3A%20false%20%3D%200.%0A%09self%20deny%3A%20%27%27%20%3D%20false.%0A%09self%20deny%3A%20false%20%3D%20%27%27.%0A%0A%09self%20assert%3A%20true%20%3D%20true.%0A%09self%20deny%3A%20false%20%3D%20true.%0A%09self%20deny%3A%20true%20%3D%20false.%0A%09self%20assert%3A%20false%20%3D%20false.%0A%0A%09%22JS%20may%20do%20some%20type%20coercing%20after%20sending%20a%20message%22%0A%09self%20assert%3A%20true%20yourself%20%3D%20true.%0A%09self%20assert%3A%20true%20yourself%20%3D%20true%20yourself'),
207
+ messageSends: ["deny:", unescape("%3D"), "assert:", "yourself"],
208
+ referencedClasses: []
209
+ }),
210
+ smalltalk.BooleanTest);
211
+
212
+ smalltalk.addMethod(
213
+ unescape('_testIfTrueIfFalse'),
214
+ smalltalk.method({
215
+ selector: unescape('testIfTrueIfFalse'),
216
+ category: 'tests',
217
+ fn: function () {
218
+ var self=this;
219
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = true).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "alternative block";})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return "alternative block";})])), "__eq", ["alternative block"])]);
220
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = true).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return "alternative block";})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return "alternative block";})])), "__eq", [nil])]);
221
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = false).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "alternative block";})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return "alternative block";})])), "__eq", [nil])]);
222
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = false).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return "alternative block";})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return "alternative block";})])), "__eq", ["alternative block"])]);
223
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = false).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "alternative block";})() : (function(){return "alternative block2";})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "alternative block";}), (function(){return "alternative block2";})])), "__eq", ["alternative block2"])]);
224
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = false).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return "alternative block";})() : (function(){return "alternative block2";})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){return "alternative block";}), (function(){return "alternative block2";})])), "__eq", ["alternative block"])]);
225
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = true).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "alternative block";})() : (function(){return "alternative block2";})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "alternative block";}), (function(){return "alternative block2";})])), "__eq", ["alternative block"])]);
226
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = true).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return "alternative block";})() : (function(){return "alternative block2";})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){return "alternative block";}), (function(){return "alternative block2";})])), "__eq", ["alternative block2"])]);
227
+ return self;},
228
+ args: [],
229
+ source: unescape('testIfTrueIfFalse%0A%20%0A%09self%20assert%3A%20%28true%20ifTrue%3A%20%5B%27alternative%20block%27%5D%29%20%3D%20%27alternative%20block%27.%0A%09self%20assert%3A%20%28true%20ifFalse%3A%20%5B%27alternative%20block%27%5D%29%20%3D%20nil.%0A%0A%09self%20assert%3A%20%28false%20ifTrue%3A%20%5B%27alternative%20block%27%5D%29%20%3D%20nil.%0A%09self%20assert%3A%20%28false%20ifFalse%3A%20%5B%27alternative%20block%27%5D%29%20%3D%20%27alternative%20block%27.%0A%0A%09self%20assert%3A%20%28false%20ifTrue%3A%20%5B%27alternative%20block%27%5D%20ifFalse%3A%20%5B%27alternative%20block2%27%5D%29%20%3D%20%27alternative%20block2%27.%0A%09self%20assert%3A%20%28false%20ifFalse%3A%20%5B%27alternative%20block%27%5D%20ifTrue%3A%20%5B%27alternative%20block2%27%5D%29%20%3D%20%27alternative%20block%27.%0A%0A%09self%20assert%3A%20%28true%20ifTrue%3A%20%5B%27alternative%20block%27%5D%20ifFalse%3A%20%5B%27alternative%20block2%27%5D%29%20%3D%20%27alternative%20block%27.%0A%09self%20assert%3A%20%28true%20ifFalse%3A%20%5B%27alternative%20block%27%5D%20ifTrue%3A%20%5B%27alternative%20block2%27%5D%29%20%3D%20%27alternative%20block2%27.'),
230
+ messageSends: ["assert:", unescape("%3D"), "ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:"],
231
+ referencedClasses: []
232
+ }),
233
+ smalltalk.BooleanTest);
234
+
235
+ smalltalk.addMethod(
236
+ unescape('_testLogic'),
237
+ smalltalk.method({
238
+ selector: unescape('testLogic'),
239
+ category: 'tests',
240
+ fn: function () {
241
+ var self=this;
242
+ (function($rec){smalltalk.send($rec, "_assert_", [smalltalk.send(true, "_&", [true])]);smalltalk.send($rec, "_deny_", [smalltalk.send(true, "_&", [false])]);smalltalk.send($rec, "_deny_", [smalltalk.send(false, "_&", [true])]);return smalltalk.send($rec, "_deny_", [smalltalk.send(false, "_&", [false])]);})(self);
243
+ (function($rec){smalltalk.send($rec, "_assert_", [smalltalk.send(true, "_|", [true])]);smalltalk.send($rec, "_assert_", [smalltalk.send(true, "_|", [false])]);smalltalk.send($rec, "_assert_", [smalltalk.send(false, "_|", [true])]);return smalltalk.send($rec, "_deny_", [smalltalk.send(false, "_|", [false])]);})(self);
244
+ (function($rec){smalltalk.send($rec, "_assert_", [smalltalk.send(true, "_&", [(1) > (0)])]);smalltalk.send($rec, "_deny_", [smalltalk.send((1) > (0), "_&", [false])]);return smalltalk.send($rec, "_deny_", [smalltalk.send((1) > (0), "_&", [(1) > (2)])]);})(self);
245
+ (function($rec){smalltalk.send($rec, "_assert_", [smalltalk.send(false, "_|", [(1) > (0)])]);smalltalk.send($rec, "_assert_", [smalltalk.send((1) > (0), "_|", [false])]);return smalltalk.send($rec, "_assert_", [smalltalk.send((1) > (0), "_|", [(1) > (2)])]);})(self);
246
+ return self;},
247
+ args: [],
248
+ source: unescape('testLogic%0A%20%0A%09%22Trivial%20logic%20table%22%0A%09self%20assert%3A%20%28true%20%26%20true%29%3B%20deny%3A%20%28true%20%26%20false%29%3B%20deny%3A%20%28false%20%26%20true%29%3B%20deny%3A%20%28false%20%26%20false%29.%0A%09self%20assert%3A%20%28true%20%7C%20true%29%3B%20assert%3A%20%28true%20%7C%20false%29%3B%20assert%3A%20%28false%20%7C%20true%29%3B%20deny%3A%20%28false%20%7C%20false%29.%0A%20%20%20%20%20%20%20%20%22Checking%20that%20expressions%20work%20fine%20too%22%0A%09self%20assert%3A%20%28true%20%26%20%281%20%3E%200%29%29%3B%20deny%3A%20%28%281%20%3E%200%29%20%26%20false%29%3B%20deny%3A%20%28%281%20%3E%200%29%20%26%20%281%20%3E%202%29%29.%0A%20%20%20%20%20%20%20%20self%20assert%3A%20%28false%20%7C%20%281%20%3E%200%29%29%3B%20assert%3A%20%28%281%20%3E%200%29%20%7C%20false%29%3B%20assert%3A%20%28%281%20%3E%200%29%20%7C%20%281%20%3E%202%29%29'),
249
+ messageSends: ["assert:", unescape("%26"), "deny:", unescape("%7C"), unescape("%3E")],
250
+ referencedClasses: []
251
+ }),
252
+ smalltalk.BooleanTest);
253
+
254
+ smalltalk.addMethod(
255
+ unescape('_testLogicKeywords'),
256
+ smalltalk.method({
257
+ selector: unescape('testLogicKeywords'),
258
+ category: 'tests',
259
+ fn: function () {
260
+ var self=this;
261
+ (function($rec){smalltalk.send($rec, "_assert_", [smalltalk.send(true, "_and_", [(function(){return true;})])]);smalltalk.send($rec, "_deny_", [smalltalk.send(true, "_and_", [(function(){return false;})])]);smalltalk.send($rec, "_deny_", [smalltalk.send(false, "_and_", [(function(){return true;})])]);return smalltalk.send($rec, "_deny_", [smalltalk.send(false, "_and_", [(function(){return false;})])]);})(self);
262
+ (function($rec){smalltalk.send($rec, "_assert_", [smalltalk.send(true, "_or_", [(function(){return true;})])]);smalltalk.send($rec, "_assert_", [smalltalk.send(true, "_or_", [(function(){return false;})])]);smalltalk.send($rec, "_assert_", [smalltalk.send(false, "_or_", [(function(){return true;})])]);return smalltalk.send($rec, "_deny_", [smalltalk.send(false, "_or_", [(function(){return false;})])]);})(self);
263
+ (function($rec){smalltalk.send($rec, "_assert_", [smalltalk.send(true, "_and_", [(function(){return (1) > (0);})])]);smalltalk.send($rec, "_deny_", [smalltalk.send((1) > (0), "_and_", [(function(){return false;})])]);return smalltalk.send($rec, "_deny_", [smalltalk.send((1) > (0), "_and_", [(function(){return (1) > (2);})])]);})(self);
264
+ (function($rec){smalltalk.send($rec, "_assert_", [smalltalk.send(false, "_or_", [(function(){return (1) > (0);})])]);smalltalk.send($rec, "_assert_", [smalltalk.send((1) > (0), "_or_", [(function(){return false;})])]);return smalltalk.send($rec, "_assert_", [smalltalk.send((1) > (0), "_or_", [(function(){return (1) > (2);})])]);})(self);
265
+ return self;},
266
+ args: [],
267
+ source: unescape('testLogicKeywords%0A%20%0A%09%22Trivial%20logic%20table%22%0A%09self%20%0A%09%09assert%3A%20%28true%20and%3A%20%5B%20true%5D%29%3B%20%0A%09%09deny%3A%20%28true%20and%3A%20%5B%20false%20%5D%29%3B%20%0A%09%09deny%3A%20%28false%20and%3A%20%5B%20true%20%5D%29%3B%20%0A%09%09deny%3A%20%28false%20and%3A%20%5B%20false%20%5D%29.%0A%09self%20%0A%09%09assert%3A%20%28true%20or%3A%20%5B%20true%20%5D%29%3B%20%0A%09%09assert%3A%20%28true%20or%3A%20%5B%20false%20%5D%29%3B%20%0A%09%09assert%3A%20%28false%20or%3A%20%5B%20true%20%5D%29%3B%20%0A%09%09deny%3A%20%28false%20or%3A%20%5B%20false%20%5D%29.%0A%20%20%20%20%20%20%20%20%0A%09%22Checking%20that%20expressions%20work%20fine%20too%22%0A%09self%20%0A%09%09assert%3A%20%28true%20and%3A%20%5B%201%20%3E%200%20%5D%29%3B%20%0A%09%09deny%3A%20%28%281%20%3E%200%29%20and%3A%20%5B%20false%20%5D%29%3B%20%0A%09%09deny%3A%20%28%281%20%3E%200%29%20and%3A%20%5B%201%20%3E%202%20%5D%29.%0A%20%20%20%20%20%20%20%20self%20%0A%09%09assert%3A%20%28false%20or%3A%20%5B%201%20%3E%200%20%5D%29%3B%20%0A%09%09assert%3A%20%28%281%20%3E%200%29%20or%3A%20%5B%20false%20%5D%29%3B%20%0A%09%09assert%3A%20%28%281%20%3E%200%29%20or%3A%20%5B%201%20%3E%202%20%5D%29'),
268
+ messageSends: ["assert:", "and:", "deny:", "or:", unescape("%3E")],
269
+ referencedClasses: []
270
+ }),
271
+ smalltalk.BooleanTest);
272
+
273
+
274
+
275
+ smalltalk.addClass('ClassBuilderTest', smalltalk.TestCase, ['builder', 'theClass'], 'Kernel-Tests');
276
+ smalltalk.addMethod(
277
+ unescape('_setUp'),
278
+ smalltalk.method({
279
+ selector: unescape('setUp'),
280
+ category: 'running',
281
+ fn: function () {
282
+ var self=this;
283
+ (self['@builder']=smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []));
284
+ return self;},
285
+ args: [],
286
+ source: unescape('setUp%0A%09builder%20%3A%3D%20ClassBuilder%20new'),
287
+ messageSends: ["new"],
288
+ referencedClasses: ["ClassBuilder"]
289
+ }),
290
+ smalltalk.ClassBuilderTest);
291
+
292
+ smalltalk.addMethod(
293
+ unescape('_tearDown'),
294
+ smalltalk.method({
295
+ selector: unescape('tearDown'),
296
+ category: 'running',
297
+ fn: function () {
298
+ var self=this;
299
+ (($receiver = self['@theClass']) != nil && $receiver != undefined) ? (function(){smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_removeClass_", [self['@theClass']]);return (self['@theClass']=nil);})() : nil;
300
+ return self;},
301
+ args: [],
302
+ source: unescape('tearDown%0A%09theClass%20ifNotNil%3A%20%5BSmalltalk%20current%20removeClass%3A%20theClass.%20theClass%20%3A%3D%20nil%5D'),
303
+ messageSends: ["ifNotNil:", "removeClass:", "current"],
304
+ referencedClasses: ["Smalltalk"]
305
+ }),
306
+ smalltalk.ClassBuilderTest);
307
+
308
+ smalltalk.addMethod(
309
+ unescape('_testClassCopy'),
310
+ smalltalk.method({
311
+ selector: unescape('testClassCopy'),
312
+ category: 'running',
313
+ fn: function () {
314
+ var self=this;
315
+ (self['@theClass']=smalltalk.send(self['@builder'], "_copyClass_named_", [(smalltalk.ObjectMock || ObjectMock), "ObjectMock2"]));
316
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(self['@theClass'], "_superclass", []), "__eq_eq", [smalltalk.send((smalltalk.ObjectMock || ObjectMock), "_superclass", [])])]);
317
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(self['@theClass'], "_instanceVariableNames", []), "__eq_eq", [smalltalk.send((smalltalk.ObjectMock || ObjectMock), "_instanceVariableNames", [])])]);
318
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(self['@theClass'], "_name", []), "ObjectMock2"]);
319
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(self['@theClass'], "_package", []), "__eq_eq", [smalltalk.send((smalltalk.ObjectMock || ObjectMock), "_package", [])])]);
320
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send(self['@theClass'], "_methodDictionary", []), "_keys", []), smalltalk.send(smalltalk.send((smalltalk.ObjectMock || ObjectMock), "_methodDictionary", []), "_keys", [])]);
321
+ return self;},
322
+ args: [],
323
+ source: unescape('testClassCopy%0A%09theClass%20%3A%3D%20builder%20copyClass%3A%20ObjectMock%20named%3A%20%27ObjectMock2%27.%0A%09self%20assert%3A%20theClass%20superclass%20%3D%3D%20ObjectMock%20superclass.%0A%09self%20assert%3A%20theClass%20instanceVariableNames%20%3D%3D%20ObjectMock%20instanceVariableNames.%0A%09self%20assert%3A%20theClass%20name%20equals%3A%20%27ObjectMock2%27.%0A%09self%20assert%3A%20theClass%20package%20%3D%3D%20ObjectMock%20package.%0A%09self%20assert%3A%20theClass%20methodDictionary%20keys%20equals%3A%20ObjectMock%20methodDictionary%20keys'),
324
+ messageSends: ["copyClass:named:", "assert:", unescape("%3D%3D"), "superclass", "instanceVariableNames", "assert:equals:", "name", "package", "keys", "methodDictionary"],
325
+ referencedClasses: ["ObjectMock"]
326
+ }),
327
+ smalltalk.ClassBuilderTest);
328
+
329
+ smalltalk.addMethod(
330
+ unescape('_testInstanceVariableNames'),
331
+ smalltalk.method({
332
+ selector: unescape('testInstanceVariableNames'),
333
+ category: 'running',
334
+ fn: function () {
335
+ var self=this;
336
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(self['@builder'], "_instanceVariableNamesFor_", [" hello world "]), ["hello", "world"]]);
337
+ return self;},
338
+ args: [],
339
+ source: unescape('testInstanceVariableNames%0A%09self%20assert%3A%20%28builder%20instanceVariableNamesFor%3A%20%27%20%20hello%20%20%20world%20%20%20%27%29%20equals%3A%20%23%28%27hello%27%20%27world%27%29'),
340
+ messageSends: ["assert:equals:", "instanceVariableNamesFor:"],
341
+ referencedClasses: []
342
+ }),
343
+ smalltalk.ClassBuilderTest);
344
+
345
+
346
+
347
+ smalltalk.addClass('DictionaryTest', smalltalk.TestCase, [], 'Kernel-Tests');
348
+ smalltalk.addMethod(
349
+ unescape('_testAccessing'),
350
+ smalltalk.method({
351
+ selector: unescape('testAccessing'),
352
+ category: 'tests',
353
+ fn: function () {
354
+ var self=this;
355
+ var d=nil;
356
+ (d=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []));
357
+ smalltalk.send(d, "_at_put_", ["hello", "world"]);
358
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_at_", ["hello"]), "__eq", ["world"])]);
359
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_at_ifAbsent_", ["hello", (function(){return nil;})]), "__eq", ["world"])]);
360
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.send(d, "_at_ifAbsent_", ["foo", (function(){return nil;})]), "__eq", ["world"])]);
361
+ smalltalk.send(d, "_at_put_", [(1), (2)]);
362
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_at_", [(1)]), "__eq", [(2)])]);
363
+ smalltalk.send(d, "_at_put_", [smalltalk.send((1), "__at", [(3)]), (3)]);
364
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_at_", [smalltalk.send((1), "__at", [(3)])]), "__eq", [(3)])]);
365
+ return self;},
366
+ args: [],
367
+ source: unescape('testAccessing%0A%09%7C%20d%20%7C%0A%0A%09d%20%3A%3D%20Dictionary%20new.%0A%0A%09d%20at%3A%20%27hello%27%20put%3A%20%27world%27.%0A%09self%20assert%3A%20%28d%20at%3A%20%27hello%27%29%20%3D%20%27world%27.%0A%09self%20assert%3A%20%28d%20at%3A%20%27hello%27%20ifAbsent%3A%20%5Bnil%5D%29%20%3D%20%27world%27.%0A%09self%20deny%3A%20%28d%20at%3A%20%27foo%27%20ifAbsent%3A%20%5Bnil%5D%29%20%3D%20%27world%27.%0A%0A%09d%20at%3A%201%20put%3A%202.%0A%09self%20assert%3A%20%28d%20at%3A%201%29%20%3D%202.%0A%0A%09d%20at%3A%201@3%20put%3A%203.%0A%09self%20assert%3A%20%28d%20at%3A%201@3%29%20%3D%203'),
368
+ messageSends: ["new", "at:put:", "assert:", unescape("%3D"), "at:", "at:ifAbsent:", "deny:", unescape("@")],
369
+ referencedClasses: ["Dictionary"]
370
+ }),
371
+ smalltalk.DictionaryTest);
372
+
373
+ smalltalk.addMethod(
374
+ unescape('_testDynamicDictionaries'),
375
+ smalltalk.method({
376
+ selector: unescape('testDynamicDictionaries'),
377
+ category: 'tests',
378
+ fn: function () {
379
+ var self=this;
380
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.HashedCollection._fromPairs_([smalltalk.send("hello", "__minus_gt", [(1)])]), "_asDictionary", []), "__eq", [smalltalk.send((smalltalk.Dictionary || Dictionary), "_with_", [smalltalk.send("hello", "__minus_gt", [(1)])])])]);
381
+ return self;},
382
+ args: [],
383
+ source: unescape('testDynamicDictionaries%0A%09self%20assert%3A%20%23%7B%27hello%27%20-%3E%201%7D%20asDictionary%20%3D%20%28Dictionary%20with%3A%20%27hello%27%20-%3E%201%29'),
384
+ messageSends: ["assert:", unescape("%3D"), "asDictionary", unescape("-%3E"), "with:"],
385
+ referencedClasses: ["Dictionary"]
386
+ }),
387
+ smalltalk.DictionaryTest);
388
+
389
+ smalltalk.addMethod(
390
+ unescape('_testEquality'),
391
+ smalltalk.method({
392
+ selector: unescape('testEquality'),
393
+ category: 'tests',
394
+ fn: function () {
395
+ var self=this;
396
+ var d1=nil;
397
+ var d2=nil;
398
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []), "__eq", [smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", [])])]);
399
+ (d1=(function($rec){smalltalk.send($rec, "_at_put_", [(1), (2)]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", [])));
400
+ (d2=(function($rec){smalltalk.send($rec, "_at_put_", [(1), (2)]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", [])));
401
+ smalltalk.send(self, "_assert_", [smalltalk.send(d1, "__eq", [d2])]);
402
+ (d2=(function($rec){smalltalk.send($rec, "_at_put_", [(1), (3)]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", [])));
403
+ smalltalk.send(self, "_deny_", [smalltalk.send(d1, "__eq", [d2])]);
404
+ (d2=(function($rec){smalltalk.send($rec, "_at_put_", [(2), (2)]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", [])));
405
+ smalltalk.send(self, "_deny_", [smalltalk.send(d1, "__eq", [d2])]);
406
+ (d2=(function($rec){smalltalk.send($rec, "_at_put_", [(1), (2)]);smalltalk.send($rec, "_at_put_", [(3), (4)]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", [])));
407
+ smalltalk.send(self, "_deny_", [smalltalk.send(d1, "__eq", [d2])]);
408
+ return self;},
409
+ args: [],
410
+ source: unescape('testEquality%0A%09%7C%20d1%20d2%20%7C%0A%0A%09self%20assert%3A%20Dictionary%20new%20%3D%20Dictionary%20new.%0A%09%09%0A%09d1%20%3A%3D%20Dictionary%20new%20at%3A%201%20put%3A%202%3B%20yourself.%0A%09d2%20%3A%3D%20Dictionary%20new%20at%3A%201%20put%3A%202%3B%20yourself.%0A%09self%20assert%3A%20d1%20%3D%20d2.%0A%0A%09d2%20%3A%3D%20Dictionary%20new%20at%3A%201%20put%3A%203%3B%20yourself.%0A%09self%20deny%3A%20d1%20%3D%20d2.%0A%0A%09d2%20%3A%3D%20Dictionary%20new%20at%3A%202%20put%3A%202%3B%20yourself.%0A%09self%20deny%3A%20d1%20%3D%20d2.%0A%0A%09d2%20%3A%3D%20Dictionary%20new%20at%3A%201%20put%3A%202%3B%20at%3A%203%20put%3A%204%3B%20yourself.%0A%09self%20deny%3A%20d1%20%3D%20d2.'),
411
+ messageSends: ["assert:", unescape("%3D"), "new", "at:put:", "yourself", "deny:"],
412
+ referencedClasses: ["Dictionary"]
413
+ }),
414
+ smalltalk.DictionaryTest);
415
+
416
+ smalltalk.addMethod(
417
+ unescape('_testKeys'),
418
+ smalltalk.method({
419
+ selector: unescape('testKeys'),
420
+ category: 'tests',
421
+ fn: function () {
422
+ var self=this;
423
+ var d=nil;
424
+ (d=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []));
425
+ smalltalk.send(d, "_at_put_", [(1), (2)]);
426
+ smalltalk.send(d, "_at_put_", [(2), (3)]);
427
+ smalltalk.send(d, "_at_put_", [(3), (4)]);
428
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_keys", []), "__eq", [[(1), (2), (3)]])]);
429
+ return self;},
430
+ args: [],
431
+ source: unescape('testKeys%0A%09%7C%20d%20%7C%0A%0A%09d%20%3A%3D%20Dictionary%20new.%0A%09d%20at%3A%201%20put%3A%202.%0A%09d%20at%3A%202%20put%3A%203.%0A%09d%20at%3A%203%20put%3A%204.%0A%0A%09self%20assert%3A%20d%20keys%20%3D%20%23%281%202%203%29'),
432
+ messageSends: ["new", "at:put:", "assert:", unescape("%3D"), "keys"],
433
+ referencedClasses: ["Dictionary"]
434
+ }),
435
+ smalltalk.DictionaryTest);
436
+
437
+ smalltalk.addMethod(
438
+ unescape('_testPrintString'),
439
+ smalltalk.method({
440
+ selector: unescape('testPrintString'),
441
+ category: 'tests',
442
+ fn: function () {
443
+ var self=this;
444
+ smalltalk.send(self, "_assert_equals_", [unescape("a%20Dictionary%28%27firstname%27%20-%3E%20%27James%27%20%2C%20%27lastname%27%20-%3E%20%27Bond%27%29"), (function($rec){smalltalk.send($rec, "_at_put_", ["firstname", "James"]);smalltalk.send($rec, "_at_put_", ["lastname", "Bond"]);return smalltalk.send($rec, "_printString", []);})(smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []))]);
445
+ return self;},
446
+ args: [],
447
+ source: unescape('testPrintString%0A%09self%0A%09%09assert%3A%20%27a%20Dictionary%28%27%27firstname%27%27%20-%3E%20%27%27James%27%27%20%2C%20%27%27lastname%27%27%20-%3E%20%27%27Bond%27%27%29%27%20%0A%09%09equals%3A%20%28Dictionary%20new%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09at%3A%27firstname%27%20put%3A%20%27James%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09at%3A%27lastname%27%20put%3A%20%27Bond%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09printString%29'),
448
+ messageSends: ["assert:equals:", "at:put:", "printString", "new"],
449
+ referencedClasses: ["Dictionary"]
450
+ }),
451
+ smalltalk.DictionaryTest);
452
+
453
+ smalltalk.addMethod(
454
+ unescape('_testRemoveKey'),
455
+ smalltalk.method({
456
+ selector: unescape('testRemoveKey'),
457
+ category: 'tests',
458
+ fn: function (){
459
+ var self=this;
460
+ var d=nil;
461
+ var key=nil;
462
+ (d=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []));
463
+ smalltalk.send(d, "_at_put_", [(1), (2)]);
464
+ smalltalk.send(d, "_at_put_", [(2), (3)]);
465
+ smalltalk.send(d, "_at_put_", [(3), (4)]);
466
+ (key=(2));
467
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_keys", []), "__eq", [[(1), (2), (3)]])]);
468
+ smalltalk.send(d, "_removeKey_", [key]);
469
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_keys", []), "__eq", [[(1), (3)]])]);
470
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_values", []), "__eq", [[(2), (4)]])]);
471
+ smalltalk.send(self, "_deny_", [smalltalk.send(d, "_includesKey_", [(2)])]);
472
+ return self;},
473
+ args: [],
474
+ source: unescape('testRemoveKey%0A%20%20%20%20%7C%20d%20key%20%7C%0A%0A%20%20%20%20d%20%3A%3D%20Dictionary%20new.%0A%20%20%20%20d%20at%3A%201%20put%3A%202.%0A%20%20%20%20d%20at%3A%202%20put%3A%203.%0A%20%20%20%20d%20at%3A%203%20put%3A%204.%0A%0A%20%20%20%20key%20%3A%3D%202.%0A%0A%20%20%20%20self%20assert%3A%20d%20keys%20%3D%20%23%281%202%203%29.%0A%0A%20%20%20%20d%20removeKey%3A%20key.%0A%20%20%20%20self%20assert%3A%20d%20keys%20%3D%20%23%281%203%29.%0A%20%20%20%20self%20assert%3A%20d%20values%20%3D%20%23%282%204%29.%0A%20%20%20%20self%20deny%3A%20%28d%20includesKey%3A%202%29'),
475
+ messageSends: ["new", "at:put:", "assert:", unescape("%3D"), "keys", "removeKey:", "values", "deny:", "includesKey:"],
476
+ referencedClasses: ["Dictionary"]
477
+ }),
478
+ smalltalk.DictionaryTest);
479
+
480
+ smalltalk.addMethod(
481
+ unescape('_testRemoveKeyIfAbsent'),
482
+ smalltalk.method({
483
+ selector: unescape('testRemoveKeyIfAbsent'),
484
+ category: 'tests',
485
+ fn: function (){
486
+ var self=this;
487
+ var d=nil;
488
+ var key=nil;
489
+ (d=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []));
490
+ smalltalk.send(d, "_at_put_", [(1), (2)]);
491
+ smalltalk.send(d, "_at_put_", [(2), (3)]);
492
+ smalltalk.send(d, "_at_put_", [(3), (4)]);
493
+ (key=(2));
494
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_removeKey_", [key]), "__eq", [(3)])]);
495
+ (key=(3));
496
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_removeKey_ifAbsent_", [key, (function(){return (42);})]), "__eq", [(4)])]);
497
+ (key="why");
498
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_removeKey_ifAbsent_", [key, (function(){return (42);})]), "__eq", [(42)])]);
499
+ return self;},
500
+ args: [],
501
+ source: unescape('testRemoveKeyIfAbsent%0A%20%20%20%20%7C%20d%20key%20%7C%0A%0A%20%20%20%20d%20%3A%3D%20Dictionary%20new.%0A%20%20%20%20d%20at%3A%201%20put%3A%202.%0A%20%20%20%20d%20at%3A%202%20put%3A%203.%0A%20%20%20%20d%20at%3A%203%20put%3A%204.%0A%0A%20%20%20%20key%20%3A%3D%202.%0A%20%20%20%20self%20assert%3A%20%28d%20removeKey%3A%20key%29%20%3D%203.%0A%0A%20%20%20%20key%20%3A%3D%203.%0A%20%20%20%20self%20assert%3A%20%28d%20removeKey%3A%20key%20ifAbsent%3A%20%5B42%5D%29%20%3D%204.%0A%0A%20%20%20%20key%20%3A%3D%20%27why%27.%0A%20%20%20%20self%20assert%3A%20%28d%20removeKey%3A%20key%20ifAbsent%3A%20%5B42%5D%20%29%20%3D%2042.'),
502
+ messageSends: ["new", "at:put:", "assert:", unescape("%3D"), "removeKey:", "removeKey:ifAbsent:"],
503
+ referencedClasses: ["Dictionary"]
504
+ }),
505
+ smalltalk.DictionaryTest);
506
+
507
+ smalltalk.addMethod(
508
+ unescape('_testSize'),
509
+ smalltalk.method({
510
+ selector: unescape('testSize'),
511
+ category: 'tests',
512
+ fn: function () {
513
+ var self=this;
514
+ var d=nil;
515
+ (d=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []));
516
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_size", []), "__eq", [(0)])]);
517
+ smalltalk.send(d, "_at_put_", [(1), (2)]);
518
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_size", []), "__eq", [(1)])]);
519
+ smalltalk.send(d, "_at_put_", [(2), (3)]);
520
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_size", []), "__eq", [(2)])]);
521
+ return self;},
522
+ args: [],
523
+ source: unescape('testSize%0A%09%7C%20d%20%7C%0A%0A%09d%20%3A%3D%20Dictionary%20new.%0A%09self%20assert%3A%20d%20size%20%3D%200.%0A%0A%09d%20at%3A%201%20put%3A%202.%0A%09self%20assert%3A%20d%20size%20%3D%201.%0A%0A%09d%20at%3A%202%20put%3A%203.%0A%09self%20assert%3A%20d%20size%20%3D%202.'),
524
+ messageSends: ["new", "assert:", unescape("%3D"), "size", "at:put:"],
525
+ referencedClasses: ["Dictionary"]
526
+ }),
527
+ smalltalk.DictionaryTest);
528
+
529
+ smalltalk.addMethod(
530
+ unescape('_testValues'),
531
+ smalltalk.method({
532
+ selector: unescape('testValues'),
533
+ category: 'tests',
534
+ fn: function () {
535
+ var self=this;
536
+ var d=nil;
537
+ (d=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []));
538
+ smalltalk.send(d, "_at_put_", [(1), (2)]);
539
+ smalltalk.send(d, "_at_put_", [(2), (3)]);
540
+ smalltalk.send(d, "_at_put_", [(3), (4)]);
541
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(d, "_values", []), "__eq", [[(2), (3), (4)]])]);
542
+ return self;},
543
+ args: [],
544
+ source: unescape('testValues%0A%09%7C%20d%20%7C%0A%0A%09d%20%3A%3D%20Dictionary%20new.%0A%09d%20at%3A%201%20put%3A%202.%0A%09d%20at%3A%202%20put%3A%203.%0A%09d%20at%3A%203%20put%3A%204.%0A%0A%09self%20assert%3A%20d%20values%20%3D%20%23%282%203%204%29'),
545
+ messageSends: ["new", "at:put:", "assert:", unescape("%3D"), "values"],
546
+ referencedClasses: ["Dictionary"]
547
+ }),
548
+ smalltalk.DictionaryTest);
549
+
550
+
551
+
552
+ smalltalk.addClass('JSObjectProxyTest', smalltalk.TestCase, [], 'Kernel-Tests');
553
+ smalltalk.addMethod(
554
+ unescape('_jsObject'),
555
+ smalltalk.method({
556
+ selector: unescape('jsObject'),
557
+ category: 'accessing',
558
+ fn: function () {
559
+ var self=this;
560
+ return jsObject = {a: 1, b: function() {return 2;}, c: function(object) {return object;}};
561
+ return self;},
562
+ args: [],
563
+ source: unescape('jsObject%0A%09%3Creturn%20jsObject%20%3D%20%7Ba%3A%201%2C%20b%3A%20function%28%29%20%7Breturn%202%3B%7D%2C%20c%3A%20function%28object%29%20%7Breturn%20object%3B%7D%7D%3E'),
564
+ messageSends: [],
565
+ referencedClasses: []
566
+ }),
567
+ smalltalk.JSObjectProxyTest);
568
+
569
+ smalltalk.addMethod(
570
+ unescape('_testDNU'),
571
+ smalltalk.method({
572
+ selector: unescape('testDNU'),
573
+ category: 'tests',
574
+ fn: function () {
575
+ var self=this;
576
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send(smalltalk.send(self, "_jsObject", []), "_foo", []);}), (smalltalk.MessageNotUnderstood || MessageNotUnderstood)]);
577
+ return self;},
578
+ args: [],
579
+ source: unescape('testDNU%0A%09self%20should%3A%20%5Bself%20jsObject%20foo%5D%20raise%3A%20MessageNotUnderstood'),
580
+ messageSends: ["should:raise:", "foo", "jsObject"],
581
+ referencedClasses: ["MessageNotUnderstood"]
582
+ }),
583
+ smalltalk.JSObjectProxyTest);
584
+
585
+ smalltalk.addMethod(
586
+ unescape('_testMessageSend'),
587
+ smalltalk.method({
588
+ selector: unescape('testMessageSend'),
589
+ category: 'tests',
590
+ fn: function () {
591
+ var self=this;
592
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send(self, "_jsObject", []), "_a", []), (1)]);
593
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send(self, "_jsObject", []), "_b", []), (2)]);
594
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send(self, "_jsObject", []), "_c_", [(3)]), (3)]);
595
+ return self;},
596
+ args: [],
597
+ source: unescape('testMessageSend%0A%0A%09self%20assert%3A%20self%20jsObject%20a%20equals%3A%201.%0A%09self%20assert%3A%20self%20jsObject%20b%20equals%3A%202.%0A%09self%20assert%3A%20%28self%20jsObject%20c%3A%203%29%20equals%3A%203'),
598
+ messageSends: ["assert:equals:", "a", "jsObject", "b", "c:"],
599
+ referencedClasses: []
600
+ }),
601
+ smalltalk.JSObjectProxyTest);
602
+
603
+ smalltalk.addMethod(
604
+ unescape('_testMethodWithArguments'),
605
+ smalltalk.method({
606
+ selector: unescape('testMethodWithArguments'),
607
+ category: 'tests',
608
+ fn: function () {
609
+ var self=this;
610
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.send("body", "_asJQuery", []), "_hasClass_", ["amber"])]);
611
+ smalltalk.send(smalltalk.send("body", "_asJQuery", []), "_addClass_", ["amber"]);
612
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send("body", "_asJQuery", []), "_hasClass_", ["amber"])]);
613
+ smalltalk.send(smalltalk.send("body", "_asJQuery", []), "_removeClass_", ["amber"]);
614
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.send("body", "_asJQuery", []), "_hasClass_", ["amber"])]);
615
+ return self;},
616
+ args: [],
617
+ source: unescape('testMethodWithArguments%0A%09self%20deny%3A%20%28%27body%27%20asJQuery%20hasClass%3A%20%27amber%27%29.%0A%0A%09%27body%27%20asJQuery%20addClass%3A%20%27amber%27.%0A%09self%20assert%3A%20%28%27body%27%20asJQuery%20hasClass%3A%20%27amber%27%29.%0A%0A%09%27body%27%20asJQuery%20removeClass%3A%20%27amber%27.%0A%09self%20deny%3A%20%28%27body%27%20asJQuery%20hasClass%3A%20%27amber%27%29.'),
618
+ messageSends: ["deny:", "hasClass:", "asJQuery", "addClass:", "assert:", "removeClass:"],
619
+ referencedClasses: []
620
+ }),
621
+ smalltalk.JSObjectProxyTest);
622
+
623
+ smalltalk.addMethod(
624
+ unescape('_testPrinting'),
625
+ smalltalk.method({
626
+ selector: unescape('testPrinting'),
627
+ category: 'tests',
628
+ fn: function () {
629
+ var self=this;
630
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.send(self, "_jsObject", []), "_printString", []), "__eq", [unescape("%5Bobject%20Object%5D")])]);
631
+ return self;},
632
+ args: [],
633
+ source: unescape('testPrinting%0A%09self%20assert%3A%20self%20jsObject%20printString%20%3D%20%27%5Bobject%20Object%5D%27'),
634
+ messageSends: ["assert:", unescape("%3D"), "printString", "jsObject"],
635
+ referencedClasses: []
636
+ }),
637
+ smalltalk.JSObjectProxyTest);
638
+
639
+ smalltalk.addMethod(
640
+ unescape('_testPropertyThatReturnsEmptyString'),
641
+ smalltalk.method({
642
+ selector: unescape('testPropertyThatReturnsEmptyString'),
643
+ category: 'tests',
644
+ fn: function () {
645
+ var self=this;
646
+ document.location.hash = '';
647
+ smalltalk.send(self, "_assert_equals_", ["", smalltalk.send(smalltalk.send((typeof document == 'undefined' ? nil : document), "_location", []), "_hash", [])]);
648
+ smalltalk.send(smalltalk.send((typeof document == 'undefined' ? nil : document), "_location", []), "_hash_", ["test"]);
649
+ smalltalk.send(self, "_assert_equals_", [unescape("%23test"), smalltalk.send(smalltalk.send((typeof document == 'undefined' ? nil : document), "_location", []), "_hash", [])]);
650
+ return self;},
651
+ args: [],
652
+ source: unescape('testPropertyThatReturnsEmptyString%0A%09%3Cdocument.location.hash%20%3D%20%27%27%3E.%0A%09self%20assert%3A%20%27%27%20equals%3A%20document%20location%20hash.%0A%0A%09document%20location%20hash%3A%20%27test%27.%0A%09self%20assert%3A%20%27%23test%27%20equals%3A%20document%20location%20hash.'),
653
+ messageSends: ["assert:equals:", "hash", "location", "hash:"],
654
+ referencedClasses: []
655
+ }),
656
+ smalltalk.JSObjectProxyTest);
657
+
658
+ smalltalk.addMethod(
659
+ unescape('_testYourself'),
660
+ smalltalk.method({
661
+ selector: unescape('testYourself'),
662
+ category: 'tests',
663
+ fn: function () {
664
+ var self=this;
665
+ var body=nil;
666
+ (body=(function($rec){smalltalk.send($rec, "_addClass_", ["amber"]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send("body", "_asJQuery", [])));
667
+ smalltalk.send(self, "_assert_", [smalltalk.send(body, "_hasClass_", ["amber"])]);
668
+ smalltalk.send(body, "_removeClass_", ["amber"]);
669
+ smalltalk.send(self, "_deny_", [smalltalk.send(body, "_hasClass_", ["amber"])]);
670
+ return self;},
671
+ args: [],
672
+ source: unescape('testYourself%0A%09%7Cbody%7C%0A%09body%20%3A%3D%20%27body%27%20asJQuery%0A%09%09%09%09addClass%3A%20%27amber%27%3B%0A%09%09%09%09yourself.%0A%0A%09self%20assert%3A%20%28body%20hasClass%3A%20%27amber%27%29.%0A%0A%09body%20removeClass%3A%20%27amber%27.%0A%09self%20deny%3A%20%28body%20hasClass%3A%20%27amber%27%29.'),
673
+ messageSends: ["addClass:", "yourself", "asJQuery", "assert:", "hasClass:", "removeClass:", "deny:"],
674
+ referencedClasses: []
675
+ }),
676
+ smalltalk.JSObjectProxyTest);
677
+
678
+
679
+
680
+ smalltalk.addClass('NumberTest', smalltalk.TestCase, [], 'Kernel-Tests');
681
+ smalltalk.addMethod(
682
+ unescape('_testArithmetic'),
683
+ smalltalk.method({
684
+ selector: unescape('testArithmetic'),
685
+ category: 'tests',
686
+ fn: function () {
687
+ var self=this;
688
+ smalltalk.send(self, "_assert_", [smalltalk.send((1.5) + (1), "__eq", [(2.5)])]);
689
+ smalltalk.send(self, "_assert_", [smalltalk.send((2) - (1), "__eq", [(1)])]);
690
+ smalltalk.send(self, "_assert_", [smalltalk.send((-2) - (1), "__eq", [(-3)])]);
691
+ smalltalk.send(self, "_assert_", [smalltalk.send((12) / (2), "__eq", [(6)])]);
692
+ smalltalk.send(self, "_assert_", [smalltalk.send((3) * (4), "__eq", [(12)])]);
693
+ smalltalk.send(self, "_assert_", [smalltalk.send(((($receiver = (1) + (2)).klass === smalltalk.Number) ? $receiver *(3) : smalltalk.send($receiver, "__star", [(3)])), "__eq", [(9)])]);
694
+ smalltalk.send(self, "_assert_", [smalltalk.send((1) + (2) * (3), "__eq", [(7)])]);
695
+ return self;},
696
+ args: [],
697
+ source: unescape('testArithmetic%0A%09%0A%09%22We%20rely%20on%20JS%20here%2C%20so%20we%20won%27t%20test%20complex%20behavior%2C%20just%20check%20if%20%0A%09message%20sends%20are%20corrects%22%0A%0A%09self%20assert%3A%201.5%20+%201%20%3D%202.5.%0A%09self%20assert%3A%202%20-%201%20%3D%201.%0A%09self%20assert%3A%20-2%20-%201%20%3D%20-3.%0A%09self%20assert%3A%2012%20/%202%20%3D%206.%0A%09self%20assert%3A%203%20*%204%20%3D%2012.%0A%0A%09%22Simple%20parenthesis%20and%20execution%20order%22%0A%0A%09self%20assert%3A%201%20+%202%20*%203%20%3D%209.%0A%09self%20assert%3A%201%20+%20%282%20*%203%29%20%3D%207'),
698
+ messageSends: ["assert:", unescape("%3D"), unescape("+"), unescape("-"), unescape("/"), unescape("*")],
699
+ referencedClasses: []
700
+ }),
701
+ smalltalk.NumberTest);
702
+
703
+ smalltalk.addMethod(
704
+ unescape('_testComparison'),
705
+ smalltalk.method({
706
+ selector: unescape('testComparison'),
707
+ category: 'tests',
708
+ fn: function () {
709
+ var self=this;
710
+ smalltalk.send(self, "_assert_", [(3) > (2)]);
711
+ smalltalk.send(self, "_assert_", [(2) < (3)]);
712
+ smalltalk.send(self, "_deny_", [(3) < (2)]);
713
+ smalltalk.send(self, "_deny_", [(2) > (3)]);
714
+ smalltalk.send(self, "_assert_", [(3) >= (3)]);
715
+ smalltalk.send(self, "_assert_", [(3.1) >= (3)]);
716
+ smalltalk.send(self, "_assert_", [(3) <= (3)]);
717
+ smalltalk.send(self, "_assert_", [(3) <= (3.1)]);
718
+ return self;},
719
+ args: [],
720
+ source: unescape('testComparison%0A%0A%09self%20assert%3A%203%20%3E%202.%0A%09self%20assert%3A%202%20%3C%203.%0A%09%0A%09self%20deny%3A%203%20%3C%202.%0A%09self%20deny%3A%202%20%3E%203.%0A%0A%09self%20assert%3A%203%20%3E%3D%203.%0A%09self%20assert%3A%203.1%20%3E%3D%203.%0A%09self%20assert%3A%203%20%3C%3D%203.%0A%09self%20assert%3A%203%20%3C%3D%203.1'),
721
+ messageSends: ["assert:", unescape("%3E"), unescape("%3C"), "deny:", unescape("%3E%3D"), unescape("%3C%3D")],
722
+ referencedClasses: []
723
+ }),
724
+ smalltalk.NumberTest);
725
+
726
+ smalltalk.addMethod(
727
+ unescape('_testCopying'),
728
+ smalltalk.method({
729
+ selector: unescape('testCopying'),
730
+ category: 'tests',
731
+ fn: function () {
732
+ var self=this;
733
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((1), "_copy", []), "__eq_eq", [(1)])]);
734
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((1), "_deepCopy", []), "__eq_eq", [(1)])]);
735
+ return self;},
736
+ args: [],
737
+ source: unescape('testCopying%0A%09self%20assert%3A%201%20copy%20%3D%3D%201.%0A%09self%20assert%3A%201%20deepCopy%20%3D%3D%201'),
738
+ messageSends: ["assert:", unescape("%3D%3D"), "copy", "deepCopy"],
739
+ referencedClasses: []
740
+ }),
741
+ smalltalk.NumberTest);
742
+
743
+ smalltalk.addMethod(
744
+ unescape('_testEquality'),
745
+ smalltalk.method({
746
+ selector: unescape('testEquality'),
747
+ category: 'tests',
748
+ fn: function () {
749
+ var self=this;
750
+ smalltalk.send(self, "_assert_", [smalltalk.send((1), "__eq", [(1)])]);
751
+ smalltalk.send(self, "_assert_", [smalltalk.send((0), "__eq", [(0)])]);
752
+ smalltalk.send(self, "_deny_", [smalltalk.send((1), "__eq", [(0)])]);
753
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((1), "_yourself", []), "__eq", [(1)])]);
754
+ smalltalk.send(self, "_assert_", [smalltalk.send((1), "__eq", [smalltalk.send((1), "_yourself", [])])]);
755
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((1), "_yourself", []), "__eq", [smalltalk.send((1), "_yourself", [])])]);
756
+ smalltalk.send(self, "_deny_", [smalltalk.send((0), "__eq", [false])]);
757
+ smalltalk.send(self, "_deny_", [smalltalk.send(false, "__eq", [(0)])]);
758
+ smalltalk.send(self, "_deny_", [smalltalk.send("", "__eq", [(0)])]);
759
+ smalltalk.send(self, "_deny_", [smalltalk.send((0), "__eq", [""])]);
760
+ return self;},
761
+ args: [],
762
+ source: unescape('testEquality%0A%09self%20assert%3A%201%20%3D%201.%0A%09self%20assert%3A%200%20%3D%200.%0A%09self%20deny%3A%201%20%3D%200.%0A%0A%09self%20assert%3A%201%20yourself%20%3D%201.%0A%09self%20assert%3A%201%20%3D%201%20yourself.%0A%09self%20assert%3A%201%20yourself%20%3D%201%20yourself.%0A%09%0A%09self%20deny%3A%200%20%3D%20false.%0A%09self%20deny%3A%20false%20%3D%200.%0A%09self%20deny%3A%20%27%27%20%3D%200.%0A%09self%20deny%3A%200%20%3D%20%27%27'),
763
+ messageSends: ["assert:", unescape("%3D"), "deny:", "yourself"],
764
+ referencedClasses: []
765
+ }),
766
+ smalltalk.NumberTest);
767
+
768
+ smalltalk.addMethod(
769
+ unescape('_testIdentity'),
770
+ smalltalk.method({
771
+ selector: unescape('testIdentity'),
772
+ category: 'tests',
773
+ fn: function () {
774
+ var self=this;
775
+ smalltalk.send(self, "_assert_", [smalltalk.send((1), "__eq_eq", [(1)])]);
776
+ smalltalk.send(self, "_assert_", [smalltalk.send((0), "__eq_eq", [(0)])]);
777
+ smalltalk.send(self, "_deny_", [smalltalk.send((1), "__eq_eq", [(0)])]);
778
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((1), "_yourself", []), "__eq_eq", [(1)])]);
779
+ smalltalk.send(self, "_assert_", [smalltalk.send((1), "__eq_eq", [smalltalk.send((1), "_yourself", [])])]);
780
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((1), "_yourself", []), "__eq_eq", [smalltalk.send((1), "_yourself", [])])]);
781
+ smalltalk.send(self, "_deny_", [smalltalk.send((1), "__eq_eq", [(2)])]);
782
+ return self;},
783
+ args: [],
784
+ source: unescape('testIdentity%0A%09self%20assert%3A%201%20%3D%3D%201.%0A%09self%20assert%3A%200%20%3D%3D%200.%0A%09self%20deny%3A%201%20%3D%3D%200.%0A%0A%09self%20assert%3A%201%20yourself%20%3D%3D%201.%0A%09self%20assert%3A%201%20%3D%3D%201%20yourself.%0A%09self%20assert%3A%201%20yourself%20%3D%3D%201%20yourself.%0A%09%0A%09self%20deny%3A%201%20%3D%3D%202'),
785
+ messageSends: ["assert:", unescape("%3D%3D"), "deny:", "yourself"],
786
+ referencedClasses: []
787
+ }),
788
+ smalltalk.NumberTest);
789
+
790
+ smalltalk.addMethod(
791
+ unescape('_testMinMax'),
792
+ smalltalk.method({
793
+ selector: unescape('testMinMax'),
794
+ category: 'tests',
795
+ fn: function () {
796
+ var self=this;
797
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((2), "_max_", [(5)]), (5)]);
798
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((2), "_min_", [(5)]), (2)]);
799
+ return self;},
800
+ args: [],
801
+ source: unescape('testMinMax%0A%09%0A%09self%20assert%3A%20%282%20max%3A%205%29%20equals%3A%205.%0A%09self%20assert%3A%20%282%20min%3A%205%29%20equals%3A%202'),
802
+ messageSends: ["assert:equals:", "max:", "min:"],
803
+ referencedClasses: []
804
+ }),
805
+ smalltalk.NumberTest);
806
+
807
+ smalltalk.addMethod(
808
+ unescape('_testNegated'),
809
+ smalltalk.method({
810
+ selector: unescape('testNegated'),
811
+ category: 'tests',
812
+ fn: function () {
813
+ var self=this;
814
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((3), "_negated", []), "__eq", [(-3)])]);
815
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((-3), "_negated", []), "__eq", [(3)])]);
816
+ return self;},
817
+ args: [],
818
+ source: unescape('testNegated%0A%09self%20assert%3A%203%20negated%20%3D%20-3.%0A%09self%20assert%3A%20-3%20negated%20%3D%203'),
819
+ messageSends: ["assert:", unescape("%3D"), "negated"],
820
+ referencedClasses: []
821
+ }),
822
+ smalltalk.NumberTest);
823
+
824
+ smalltalk.addMethod(
825
+ unescape('_testPrintShowingDecimalPlaces'),
826
+ smalltalk.method({
827
+ selector: unescape('testPrintShowingDecimalPlaces'),
828
+ category: 'tests',
829
+ fn: function () {
830
+ var self=this;
831
+ smalltalk.send(self, "_assert_equals_", ["23.00", smalltalk.send((23), "_printShowingDecimalPlaces_", [(2)])]);
832
+ smalltalk.send(self, "_assert_equals_", ["23.57", smalltalk.send((23.5698), "_printShowingDecimalPlaces_", [(2)])]);
833
+ smalltalk.send(self, "_assert_equals_", [unescape("-234.56700"), smalltalk.send(smalltalk.send((234.567), "_negated", []), "_printShowingDecimalPlaces_", [(5)])]);
834
+ smalltalk.send(self, "_assert_equals_", ["23", smalltalk.send((23.4567), "_printShowingDecimalPlaces_", [(0)])]);
835
+ smalltalk.send(self, "_assert_equals_", ["24", smalltalk.send((23.5567), "_printShowingDecimalPlaces_", [(0)])]);
836
+ smalltalk.send(self, "_assert_equals_", [unescape("-23"), smalltalk.send(smalltalk.send((23.4567), "_negated", []), "_printShowingDecimalPlaces_", [(0)])]);
837
+ smalltalk.send(self, "_assert_equals_", [unescape("-24"), smalltalk.send(smalltalk.send((23.5567), "_negated", []), "_printShowingDecimalPlaces_", [(0)])]);
838
+ smalltalk.send(self, "_assert_equals_", ["100000000.0", smalltalk.send((100000000), "_printShowingDecimalPlaces_", [(1)])]);
839
+ smalltalk.send(self, "_assert_equals_", ["0.98000", smalltalk.send((0.98), "_printShowingDecimalPlaces_", [(5)])]);
840
+ smalltalk.send(self, "_assert_equals_", [unescape("-0.98"), smalltalk.send(smalltalk.send((0.98), "_negated", []), "_printShowingDecimalPlaces_", [(2)])]);
841
+ smalltalk.send(self, "_assert_equals_", ["2.57", smalltalk.send((2.567), "_printShowingDecimalPlaces_", [(2)])]);
842
+ smalltalk.send(self, "_assert_equals_", [unescape("-2.57"), smalltalk.send((-2.567), "_printShowingDecimalPlaces_", [(2)])]);
843
+ smalltalk.send(self, "_assert_equals_", ["0.00", smalltalk.send((0), "_printShowingDecimalPlaces_", [(2)])]);
844
+ return self;},
845
+ args: [],
846
+ source: unescape('testPrintShowingDecimalPlaces%0A%09self%20assert%3A%20%2723.00%27%20equals%3A%20%2823%20printShowingDecimalPlaces%3A%202%29.%0A%09self%20assert%3A%20%2723.57%27%20equals%3A%20%2823.5698%20printShowingDecimalPlaces%3A%202%29.%0A%09self%20assert%3A%20%27-234.56700%27%20equals%3A%28%20234.567%20negated%20printShowingDecimalPlaces%3A%205%29.%0A%09self%20assert%3A%20%2723%27%20equals%3A%20%2823.4567%20printShowingDecimalPlaces%3A%200%29.%0A%09self%20assert%3A%20%2724%27%20equals%3A%20%2823.5567%20printShowingDecimalPlaces%3A%200%29.%0A%09self%20assert%3A%20%27-23%27%20equals%3A%20%2823.4567%20negated%20printShowingDecimalPlaces%3A%200%29.%0A%09self%20assert%3A%20%27-24%27%20equals%3A%20%2823.5567%20negated%20printShowingDecimalPlaces%3A%200%29.%0A%09self%20assert%3A%20%27100000000.0%27%20equals%3A%20%28100000000%20printShowingDecimalPlaces%3A%201%29.%0A%09self%20assert%3A%20%270.98000%27%20equals%3A%20%280.98%20printShowingDecimalPlaces%3A%205%29.%0A%09self%20assert%3A%20%27-0.98%27%20equals%3A%20%280.98%20negated%20printShowingDecimalPlaces%3A%202%29.%0A%09self%20assert%3A%20%272.57%27%20equals%3A%20%282.567%20printShowingDecimalPlaces%3A%202%29.%0A%09self%20assert%3A%20%27-2.57%27%20equals%3A%20%28-2.567%20printShowingDecimalPlaces%3A%202%29.%0A%09self%20assert%3A%20%270.00%27%20equals%3A%20%280%20printShowingDecimalPlaces%3A%202%29.'),
847
+ messageSends: ["assert:equals:", "printShowingDecimalPlaces:", "negated"],
848
+ referencedClasses: []
849
+ }),
850
+ smalltalk.NumberTest);
851
+
852
+ smalltalk.addMethod(
853
+ unescape('_testRounded'),
854
+ smalltalk.method({
855
+ selector: unescape('testRounded'),
856
+ category: 'tests',
857
+ fn: function () {
858
+ var self=this;
859
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((3), "_rounded", []), "__eq", [(3)])]);
860
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((3.212), "_rounded", []), "__eq", [(3)])]);
861
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((3.51), "_rounded", []), "__eq", [(4)])]);
862
+ return self;},
863
+ args: [],
864
+ source: unescape('testRounded%0A%09%0A%09self%20assert%3A%203%20rounded%20%3D%203.%0A%09self%20assert%3A%203.212%20rounded%20%3D%203.%0A%09self%20assert%3A%203.51%20rounded%20%3D%204'),
865
+ messageSends: ["assert:", unescape("%3D"), "rounded"],
866
+ referencedClasses: []
867
+ }),
868
+ smalltalk.NumberTest);
869
+
870
+ smalltalk.addMethod(
871
+ unescape('_testSqrt'),
872
+ smalltalk.method({
873
+ selector: unescape('testSqrt'),
874
+ category: 'tests',
875
+ fn: function () {
876
+ var self=this;
877
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((4), "_sqrt", []), "__eq", [(2)])]);
878
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((16), "_sqrt", []), "__eq", [(4)])]);
879
+ return self;},
880
+ args: [],
881
+ source: unescape('testSqrt%0A%09%0A%09self%20assert%3A%204%20sqrt%20%3D%202.%0A%09self%20assert%3A%2016%20sqrt%20%3D%204'),
882
+ messageSends: ["assert:", unescape("%3D"), "sqrt"],
883
+ referencedClasses: []
884
+ }),
885
+ smalltalk.NumberTest);
886
+
887
+ smalltalk.addMethod(
888
+ unescape('_testSquared'),
889
+ smalltalk.method({
890
+ selector: unescape('testSquared'),
891
+ category: 'tests',
892
+ fn: function () {
893
+ var self=this;
894
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((4), "_squared", []), "__eq", [(16)])]);
895
+ return self;},
896
+ args: [],
897
+ source: unescape('testSquared%0A%09%0A%09self%20assert%3A%204%20squared%20%3D%2016'),
898
+ messageSends: ["assert:", unescape("%3D"), "squared"],
899
+ referencedClasses: []
900
+ }),
901
+ smalltalk.NumberTest);
902
+
903
+ smalltalk.addMethod(
904
+ unescape('_testTimesRepeat'),
905
+ smalltalk.method({
906
+ selector: unescape('testTimesRepeat'),
907
+ category: 'tests',
908
+ fn: function () {
909
+ var self=this;
910
+ var i=nil;
911
+ (i=(0));
912
+ smalltalk.send((0), "_timesRepeat_", [(function(){return (i=((($receiver = i).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));})]);
913
+ smalltalk.send(self, "_assert_equals_", [i, (0)]);
914
+ smalltalk.send((5), "_timesRepeat_", [(function(){return (i=((($receiver = i).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));})]);
915
+ smalltalk.send(self, "_assert_equals_", [i, (5)]);
916
+ return self;},
917
+ args: [],
918
+ source: unescape('testTimesRepeat%0A%09%7C%20i%20%7C%0A%0A%09i%20%3A%3D%200.%0A%090%20timesRepeat%3A%20%5Bi%20%3A%3D%20i%20+%201%5D.%0A%09self%20assert%3A%20i%20equals%3A%200.%0A%0A%095%20timesRepeat%3A%20%5Bi%20%3A%3D%20i%20+%201%5D.%0A%09self%20assert%3A%20i%20equals%3A%205'),
919
+ messageSends: ["timesRepeat:", unescape("+"), "assert:equals:"],
920
+ referencedClasses: []
921
+ }),
922
+ smalltalk.NumberTest);
923
+
924
+ smalltalk.addMethod(
925
+ unescape('_testTo'),
926
+ smalltalk.method({
927
+ selector: unescape('testTo'),
928
+ category: 'tests',
929
+ fn: function () {
930
+ var self=this;
931
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((1), "_to_", [(5)]), [(1), (2), (3), (4), (5)]]);
932
+ return self;},
933
+ args: [],
934
+ source: unescape('testTo%0A%09self%20assert%3A%20%281%20to%3A%205%29%20equals%3A%20%23%281%202%203%204%205%29'),
935
+ messageSends: ["assert:equals:", "to:"],
936
+ referencedClasses: []
937
+ }),
938
+ smalltalk.NumberTest);
939
+
940
+ smalltalk.addMethod(
941
+ unescape('_testToBy'),
942
+ smalltalk.method({
943
+ selector: unescape('testToBy'),
944
+ category: 'tests',
945
+ fn: function () {
946
+ var self=this;
947
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((0), "_to_by_", [(6), (2)]), [(0), (2), (4), (6)]]);
948
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send((1), "_to_by_", [(4), (0)]);}), (smalltalk.Error || Error)]);
949
+ return self;},
950
+ args: [],
951
+ source: unescape('testToBy%0A%09self%20assert%3A%20%280%20to%3A%206%20by%3A%202%29%20equals%3A%20%23%280%202%204%206%29.%0A%0A%09self%20should%3A%20%5B1%20to%3A%204%20by%3A%200%5D%20raise%3A%20Error'),
952
+ messageSends: ["assert:equals:", "to:by:", "should:raise:"],
953
+ referencedClasses: ["Error"]
954
+ }),
955
+ smalltalk.NumberTest);
956
+
957
+ smalltalk.addMethod(
958
+ unescape('_testTruncated'),
959
+ smalltalk.method({
960
+ selector: unescape('testTruncated'),
961
+ category: 'tests',
962
+ fn: function () {
963
+ var self=this;
964
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((3), "_truncated", []), "__eq", [(3)])]);
965
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((3.212), "_truncated", []), "__eq", [(3)])]);
966
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((3.51), "_truncated", []), "__eq", [(3)])]);
967
+ return self;},
968
+ args: [],
969
+ source: unescape('testTruncated%0A%09%0A%09self%20assert%3A%203%20truncated%20%3D%203.%0A%09self%20assert%3A%203.212%20truncated%20%3D%203.%0A%09self%20assert%3A%203.51%20truncated%20%3D%203'),
970
+ messageSends: ["assert:", unescape("%3D"), "truncated"],
971
+ referencedClasses: []
972
+ }),
973
+ smalltalk.NumberTest);
974
+
975
+
976
+
977
+ smalltalk.addClass('ObjectMock', smalltalk.Object, ['foo', 'bar'], 'Kernel-Tests');
978
+ smalltalk.addMethod(
979
+ unescape('_foo'),
980
+ smalltalk.method({
981
+ selector: unescape('foo'),
982
+ category: 'not yet classified',
983
+ fn: function () {
984
+ var self=this;
985
+ return self['@foo'];
986
+ return self;},
987
+ args: [],
988
+ source: unescape('foo%0A%09%5Efoo'),
989
+ messageSends: [],
990
+ referencedClasses: []
991
+ }),
992
+ smalltalk.ObjectMock);
993
+
994
+ smalltalk.addMethod(
995
+ unescape('_foo_'),
996
+ smalltalk.method({
997
+ selector: unescape('foo%3A'),
998
+ category: 'not yet classified',
999
+ fn: function (anObject) {
1000
+ var self=this;
1001
+ (self['@foo']=anObject);
1002
+ return self;},
1003
+ args: ["anObject"],
1004
+ source: unescape('foo%3A%20anObject%0A%09foo%20%3A%3D%20anObject'),
1005
+ messageSends: [],
1006
+ referencedClasses: []
1007
+ }),
1008
+ smalltalk.ObjectMock);
1009
+
1010
+
1011
+
1012
+ smalltalk.addClass('ObjectTest', smalltalk.TestCase, [], 'Kernel-Tests');
1013
+ smalltalk.addMethod(
1014
+ unescape('_testBasicAccess'),
1015
+ smalltalk.method({
1016
+ selector: unescape('testBasicAccess'),
1017
+ category: 'tests',
1018
+ fn: function () {
1019
+ var self=this;
1020
+ var o=nil;
1021
+ (o=smalltalk.send((smalltalk.Object || Object), "_new", []));
1022
+ smalltalk.send(o, "_basicAt_put_", ["a", (1)]);
1023
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(o, "_basicAt_", ["a"]), (1)]);
1024
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(o, "_basicAt_", ["b"]), nil]);
1025
+ return self;},
1026
+ args: [],
1027
+ source: unescape('testBasicAccess%0A%09%7C%20o%20%7C%0A%09o%20%3A%3D%20Object%20new.%0A%09o%20basicAt%3A%20%27a%27%20put%3A%201.%0A%09self%20assert%3A%20%28o%20basicAt%3A%20%27a%27%29%20equals%3A%201.%0A%09self%20assert%3A%20%28o%20basicAt%3A%20%27b%27%29%20equals%3A%20nil'),
1028
+ messageSends: ["new", "basicAt:put:", "assert:equals:", "basicAt:"],
1029
+ referencedClasses: ["Object"]
1030
+ }),
1031
+ smalltalk.ObjectTest);
1032
+
1033
+ smalltalk.addMethod(
1034
+ unescape('_testBasicPerform'),
1035
+ smalltalk.method({
1036
+ selector: unescape('testBasicPerform'),
1037
+ category: 'tests',
1038
+ fn: function () {
1039
+ var self=this;
1040
+ var o=nil;
1041
+ (o=smalltalk.send((smalltalk.Object || Object), "_new", []));
1042
+ smalltalk.send(o, "_basicAt_put_", ["func", (function(){return "hello";})]);
1043
+ smalltalk.send(o, "_basicAt_put_", ["func2", (function(a){return ((($receiver = a).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]));})]);
1044
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(o, "_basicPerform_", ["func"]), "hello"]);
1045
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(o, "_basicPerform_withArguments_", ["func2", [(3)]]), (4)]);
1046
+ return self;},
1047
+ args: [],
1048
+ source: unescape('testBasicPerform%0A%09%7C%20o%20%7C%0A%09o%20%3A%3D%20Object%20new.%0A%09o%20basicAt%3A%20%27func%27%20put%3A%20%5B%27hello%27%5D.%09%0A%09o%20basicAt%3A%20%27func2%27%20put%3A%20%5B%3Aa%20%7C%20a%20+%201%5D.%0A%0A%09self%20assert%3A%20%28o%20basicPerform%3A%20%27func%27%29%09%20equals%3A%20%27hello%27.%0A%09self%20assert%3A%20%28o%20basicPerform%3A%20%27func2%27%20withArguments%3A%20%23%283%29%29%20equals%3A%204'),
1049
+ messageSends: ["new", "basicAt:put:", unescape("+"), "assert:equals:", "basicPerform:", "basicPerform:withArguments:"],
1050
+ referencedClasses: ["Object"]
1051
+ }),
1052
+ smalltalk.ObjectTest);
1053
+
1054
+ smalltalk.addMethod(
1055
+ unescape('_testDNU'),
1056
+ smalltalk.method({
1057
+ selector: unescape('testDNU'),
1058
+ category: 'tests',
1059
+ fn: function () {
1060
+ var self=this;
1061
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send(smalltalk.send((smalltalk.Object || Object), "_new", []), "_foo", []);}), (smalltalk.MessageNotUnderstood || MessageNotUnderstood)]);
1062
+ return self;},
1063
+ args: [],
1064
+ source: unescape('testDNU%0A%09self%20should%3A%20%5BObject%20new%20foo%5D%20raise%3A%20MessageNotUnderstood'),
1065
+ messageSends: ["should:raise:", "foo", "new"],
1066
+ referencedClasses: ["Object", "MessageNotUnderstood"]
1067
+ }),
1068
+ smalltalk.ObjectTest);
1069
+
1070
+ smalltalk.addMethod(
1071
+ unescape('_testEquality'),
1072
+ smalltalk.method({
1073
+ selector: unescape('testEquality'),
1074
+ category: 'tests',
1075
+ fn: function () {
1076
+ var self=this;
1077
+ var o=nil;
1078
+ (o=smalltalk.send((smalltalk.Object || Object), "_new", []));
1079
+ smalltalk.send(self, "_deny_", [smalltalk.send(o, "__eq", [smalltalk.send((smalltalk.Object || Object), "_new", [])])]);
1080
+ smalltalk.send(self, "_assert_", [smalltalk.send(o, "__eq", [o])]);
1081
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(o, "_yourself", []), "__eq", [o])]);
1082
+ smalltalk.send(self, "_assert_", [smalltalk.send(o, "__eq", [smalltalk.send(o, "_yourself", [])])]);
1083
+ return self;},
1084
+ args: [],
1085
+ source: unescape('testEquality%0A%09%7C%20o%20%7C%0A%09o%20%3A%3D%20Object%20new.%0A%09self%20deny%3A%20o%20%3D%20Object%20new.%0A%09self%20assert%3A%20o%20%3D%20o.%0A%09self%20assert%3A%20o%20yourself%20%3D%20o.%0A%09self%20assert%3A%20o%20%3D%20o%20yourself'),
1086
+ messageSends: ["new", "deny:", unescape("%3D"), "assert:", "yourself"],
1087
+ referencedClasses: ["Object"]
1088
+ }),
1089
+ smalltalk.ObjectTest);
1090
+
1091
+ smalltalk.addMethod(
1092
+ unescape('_testHalt'),
1093
+ smalltalk.method({
1094
+ selector: unescape('testHalt'),
1095
+ category: 'tests',
1096
+ fn: function () {
1097
+ var self=this;
1098
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send(smalltalk.send((smalltalk.Object || Object), "_new", []), "_halt", []);}), (smalltalk.Error || Error)]);
1099
+ return self;},
1100
+ args: [],
1101
+ source: unescape('testHalt%0A%09self%20should%3A%20%5BObject%20new%20halt%5D%20raise%3A%20Error'),
1102
+ messageSends: ["should:raise:", "halt", "new"],
1103
+ referencedClasses: ["Object", "Error"]
1104
+ }),
1105
+ smalltalk.ObjectTest);
1106
+
1107
+ smalltalk.addMethod(
1108
+ unescape('_testIdentity'),
1109
+ smalltalk.method({
1110
+ selector: unescape('testIdentity'),
1111
+ category: 'tests',
1112
+ fn: function () {
1113
+ var self=this;
1114
+ var o=nil;
1115
+ (o=smalltalk.send((smalltalk.Object || Object), "_new", []));
1116
+ smalltalk.send(self, "_deny_", [smalltalk.send(o, "__eq_eq", [smalltalk.send((smalltalk.Object || Object), "_new", [])])]);
1117
+ smalltalk.send(self, "_assert_", [smalltalk.send(o, "__eq_eq", [o])]);
1118
+ return self;},
1119
+ args: [],
1120
+ source: unescape('testIdentity%0A%09%7C%20o%20%7C%0A%09o%20%3A%3D%20Object%20new.%0A%09self%20deny%3A%20o%20%3D%3D%20Object%20new.%0A%09self%20assert%3A%20o%20%3D%3D%20o'),
1121
+ messageSends: ["new", "deny:", unescape("%3D%3D"), "assert:"],
1122
+ referencedClasses: ["Object"]
1123
+ }),
1124
+ smalltalk.ObjectTest);
1125
+
1126
+ smalltalk.addMethod(
1127
+ unescape('_testIfNil'),
1128
+ smalltalk.method({
1129
+ selector: unescape('testIfNil'),
1130
+ category: 'tests',
1131
+ fn: function () {
1132
+ var self=this;
1133
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.send((smalltalk.Object || Object), "_new", []), "_isNil", [])]);
1134
+ smalltalk.send(self, "_deny_", [smalltalk.send((($receiver = smalltalk.send((smalltalk.Object || Object), "_new", [])) == nil || $receiver == undefined) ? (function(){return true;})() : $receiver, "__eq", [true])]);
1135
+ smalltalk.send(self, "_assert_", [smalltalk.send((($receiver = smalltalk.send((smalltalk.Object || Object), "_new", [])) != nil && $receiver != undefined) ? (function(){return true;})() : nil, "__eq", [true])]);
1136
+ smalltalk.send(self, "_assert_", [smalltalk.send((($receiver = smalltalk.send((smalltalk.Object || Object), "_new", [])) == nil || $receiver == undefined) ? (function(){return false;})() : (function(){return true;})(), "__eq", [true])]);
1137
+ smalltalk.send(self, "_assert_", [smalltalk.send((($receiver = smalltalk.send((smalltalk.Object || Object), "_new", [])) == nil || $receiver == undefined) ? (function(){return false;})() : (function(){return true;})(), "__eq", [true])]);
1138
+ return self;},
1139
+ args: [],
1140
+ source: unescape('testIfNil%0A%09self%20deny%3A%20Object%20new%20isNil.%0A%09self%20deny%3A%20%28Object%20new%20ifNil%3A%20%5Btrue%5D%29%20%3D%20true.%0A%09self%20assert%3A%20%28Object%20new%20ifNotNil%3A%20%5Btrue%5D%29%20%3D%20true.%0A%0A%09self%20assert%3A%20%28Object%20new%20ifNil%3A%20%5Bfalse%5D%20ifNotNil%3A%20%5Btrue%5D%29%20%3D%20true.%0A%09self%20assert%3A%20%28Object%20new%20ifNotNil%3A%20%5Btrue%5D%20ifNil%3A%20%5Bfalse%5D%29%20%3D%20true'),
1141
+ messageSends: ["deny:", "isNil", "new", unescape("%3D"), "ifNil:", "assert:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil:"],
1142
+ referencedClasses: ["Object"]
1143
+ }),
1144
+ smalltalk.ObjectTest);
1145
+
1146
+ smalltalk.addMethod(
1147
+ unescape('_testInstVars'),
1148
+ smalltalk.method({
1149
+ selector: unescape('testInstVars'),
1150
+ category: 'tests',
1151
+ fn: function () {
1152
+ var self=this;
1153
+ var o=nil;
1154
+ (o=smalltalk.send((smalltalk.ObjectMock || ObjectMock), "_new", []));
1155
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(o, "_instVarAt_", [smalltalk.symbolFor("foo")]), nil]);
1156
+ smalltalk.send(o, "_instVarAt_put_", [smalltalk.symbolFor("foo"), (1)]);
1157
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(o, "_instVarAt_", [smalltalk.symbolFor("foo")]), (1)]);
1158
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(o, "_instVarAt_", ["foo"]), (1)]);
1159
+ return self;},
1160
+ args: [],
1161
+ source: unescape('testInstVars%0A%09%7C%20o%20%7C%0A%09o%20%3A%3D%20ObjectMock%20new.%0A%09self%20assert%3A%20%28o%20instVarAt%3A%20%23foo%29%20equals%3A%20nil.%0A%0A%09o%20instVarAt%3A%20%23foo%20put%3A%201.%0A%09self%20assert%3A%20%28o%20instVarAt%3A%20%23foo%29%20equals%3A%201.%0A%09self%20assert%3A%20%28o%20instVarAt%3A%20%27foo%27%29%20equals%3A%201'),
1162
+ messageSends: ["new", "assert:equals:", "instVarAt:", "instVarAt:put:"],
1163
+ referencedClasses: ["ObjectMock"]
1164
+ }),
1165
+ smalltalk.ObjectTest);
1166
+
1167
+ smalltalk.addMethod(
1168
+ unescape('_testNilUndefined'),
1169
+ smalltalk.method({
1170
+ selector: unescape('testNilUndefined'),
1171
+ category: 'tests',
1172
+ fn: function () {
1173
+ var self=this;
1174
+ smalltalk.send(self, "_assert_", [smalltalk.send(nil, "__eq", [(typeof undefined == 'undefined' ? nil : undefined)])]);
1175
+ return self;},
1176
+ args: [],
1177
+ source: unescape('testNilUndefined%0A%09%22nil%20in%20Smalltalk%20is%20the%20undefined%20object%20in%20JS%22%0A%0A%09self%20assert%3A%20nil%20%3D%20undefined'),
1178
+ messageSends: ["assert:", unescape("%3D")],
1179
+ referencedClasses: []
1180
+ }),
1181
+ smalltalk.ObjectTest);
1182
+
1183
+ smalltalk.addMethod(
1184
+ unescape('_testYourself'),
1185
+ smalltalk.method({
1186
+ selector: unescape('testYourself'),
1187
+ category: 'tests',
1188
+ fn: function () {
1189
+ var self=this;
1190
+ var o=nil;
1191
+ (o=smalltalk.send((smalltalk.ObjectMock || ObjectMock), "_new", []));
1192
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(o, "_yourself", []), "__eq_eq", [o])]);
1193
+ return self;},
1194
+ args: [],
1195
+ source: unescape('testYourself%0A%09%7C%20o%20%7C%0A%09o%20%3A%3D%20ObjectMock%20new.%0A%09self%20assert%3A%20o%20yourself%20%3D%3D%20o'),
1196
+ messageSends: ["new", "assert:", unescape("%3D%3D"), "yourself"],
1197
+ referencedClasses: ["ObjectMock"]
1198
+ }),
1199
+ smalltalk.ObjectTest);
1200
+
1201
+ smalltalk.addMethod(
1202
+ unescape('_testidentityHash'),
1203
+ smalltalk.method({
1204
+ selector: unescape('testidentityHash'),
1205
+ category: 'tests',
1206
+ fn: function () {
1207
+ var self=this;
1208
+ var o1=nil;
1209
+ var o2=nil;
1210
+ (o1=smalltalk.send((smalltalk.Object || Object), "_new", []));
1211
+ (o2=smalltalk.send((smalltalk.Object || Object), "_new", []));
1212
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(o1, "_identityHash", []), "__eq_eq", [smalltalk.send(o1, "_identityHash", [])])]);
1213
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.send(o1, "_identityHash", []), "__eq_eq", [smalltalk.send(o2, "_identityHash", [])])]);
1214
+ return self;},
1215
+ args: [],
1216
+ source: unescape('testidentityHash%0A%09%7C%20o1%20o2%20%7C%0A%09%0A%09o1%20%3A%3D%20Object%20new.%0A%09o2%20%3A%3D%20Object%20new.%0A%0A%09self%20assert%3A%20o1%20identityHash%20%3D%3D%20o1%20identityHash.%0A%09self%20deny%3A%20o1%20identityHash%20%3D%3D%20o2%20identityHash'),
1217
+ messageSends: ["new", "assert:", unescape("%3D%3D"), "identityHash", "deny:"],
1218
+ referencedClasses: ["Object"]
1219
+ }),
1220
+ smalltalk.ObjectTest);
1221
+
1222
+
1223
+
1224
+ smalltalk.addClass('PackageTest', smalltalk.TestCase, ['zorkPackage', 'grulPackage', 'backUpCommitPathJs', 'backUpCommitPathSt'], 'Kernel-Tests');
1225
+ smalltalk.addMethod(
1226
+ unescape('_setUp'),
1227
+ smalltalk.method({
1228
+ selector: unescape('setUp'),
1229
+ category: 'running',
1230
+ fn: function () {
1231
+ var self=this;
1232
+ (self['@backUpCommitPathJs']=smalltalk.send((smalltalk.Package || Package), "_defaultCommitPathJs", []));
1233
+ (self['@backUpCommitPathSt']=smalltalk.send((smalltalk.Package || Package), "_defaultCommitPathSt", []));
1234
+ smalltalk.send((smalltalk.Package || Package), "_resetCommitPaths", []);
1235
+ (self['@zorkPackage']=smalltalk.send(smalltalk.send((smalltalk.Package || Package), "_new", []), "_name_", ["Zork"]));
1236
+ (self['@grulPackage']=(function($rec){smalltalk.send($rec, "_name_", ["Grul"]);smalltalk.send($rec, "_commitPathJs_", [unescape("server/grul/js")]);smalltalk.send($rec, "_commitPathSt_", [unescape("grul/st")]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Package || Package), "_new", [])));
1237
+ return self;},
1238
+ args: [],
1239
+ source: unescape('setUp%0A%09backUpCommitPathJs%20%3A%3D%20Package%20defaultCommitPathJs.%0A%09backUpCommitPathSt%20%3A%3D%20Package%20defaultCommitPathSt.%0A%0A%09Package%20resetCommitPaths.%0A%0A%09zorkPackage%20%3A%3D%20Package%20new%20name%3A%20%27Zork%27.%0A%09grulPackage%20%3A%3D%20Package%20new%20%0A%09%09%09%09%09name%3A%20%27Grul%27%3B%0A%09%09%09%09%09commitPathJs%3A%20%27server/grul/js%27%3B%0A%09%09%09%09%09commitPathSt%3A%20%27grul/st%27%3B%0A%09%09%09%09%09yourself'),
1240
+ messageSends: ["defaultCommitPathJs", "defaultCommitPathSt", "resetCommitPaths", "name:", "new", "commitPathJs:", "commitPathSt:", "yourself"],
1241
+ referencedClasses: ["Package"]
1242
+ }),
1243
+ smalltalk.PackageTest);
1244
+
1245
+ smalltalk.addMethod(
1246
+ unescape('_tearDown'),
1247
+ smalltalk.method({
1248
+ selector: unescape('tearDown'),
1249
+ category: 'running',
1250
+ fn: function () {
1251
+ var self=this;
1252
+ (function($rec){smalltalk.send($rec, "_defaultCommitPathJs_", [self['@backUpCommitPathJs']]);return smalltalk.send($rec, "_defaultCommitPathSt_", [self['@backUpCommitPathSt']]);})((smalltalk.Package || Package));
1253
+ return self;},
1254
+ args: [],
1255
+ source: unescape('tearDown%0A%09%20Package%20%0A%09%09defaultCommitPathJs%3A%20backUpCommitPathJs%3B%0A%09%09defaultCommitPathSt%3A%20backUpCommitPathSt'),
1256
+ messageSends: ["defaultCommitPathJs:", "defaultCommitPathSt:"],
1257
+ referencedClasses: ["Package"]
1258
+ }),
1259
+ smalltalk.PackageTest);
1260
+
1261
+ smalltalk.addMethod(
1262
+ unescape('_testGrulCommitPathJsShouldBeServerGrulJs'),
1263
+ smalltalk.method({
1264
+ selector: unescape('testGrulCommitPathJsShouldBeServerGrulJs'),
1265
+ category: 'tests',
1266
+ fn: function () {
1267
+ var self=this;
1268
+ smalltalk.send(self, "_assert_equals_", [unescape("server/grul/js"), smalltalk.send(self['@grulPackage'], "_commitPathJs", [])]);
1269
+ return self;},
1270
+ args: [],
1271
+ source: unescape('testGrulCommitPathJsShouldBeServerGrulJs%0A%09self%20assert%3A%20%27server/grul/js%27%20equals%3A%20grulPackage%20commitPathJs'),
1272
+ messageSends: ["assert:equals:", "commitPathJs"],
1273
+ referencedClasses: []
1274
+ }),
1275
+ smalltalk.PackageTest);
1276
+
1277
+ smalltalk.addMethod(
1278
+ unescape('_testGrulCommitPathStShouldBeGrulSt'),
1279
+ smalltalk.method({
1280
+ selector: unescape('testGrulCommitPathStShouldBeGrulSt'),
1281
+ category: 'tests',
1282
+ fn: function () {
1283
+ var self=this;
1284
+ smalltalk.send(self, "_assert_equals_", [unescape("grul/st"), smalltalk.send(self['@grulPackage'], "_commitPathSt", [])]);
1285
+ return self;},
1286
+ args: [],
1287
+ source: unescape('testGrulCommitPathStShouldBeGrulSt%0A%09self%20assert%3A%20%27grul/st%27%20equals%3A%20grulPackage%20commitPathSt'),
1288
+ messageSends: ["assert:equals:", "commitPathSt"],
1289
+ referencedClasses: []
1290
+ }),
1291
+ smalltalk.PackageTest);
1292
+
1293
+ smalltalk.addMethod(
1294
+ unescape('_testZorkCommitPathJsShouldBeJs'),
1295
+ smalltalk.method({
1296
+ selector: unescape('testZorkCommitPathJsShouldBeJs'),
1297
+ category: 'tests',
1298
+ fn: function () {
1299
+ var self=this;
1300
+ smalltalk.send(self, "_assert_equals_", ["js", smalltalk.send(self['@zorkPackage'], "_commitPathJs", [])]);
1301
+ return self;},
1302
+ args: [],
1303
+ source: unescape('testZorkCommitPathJsShouldBeJs%0A%09self%20assert%3A%20%27js%27%20equals%3A%20zorkPackage%20commitPathJs'),
1304
+ messageSends: ["assert:equals:", "commitPathJs"],
1305
+ referencedClasses: []
1306
+ }),
1307
+ smalltalk.PackageTest);
1308
+
1309
+ smalltalk.addMethod(
1310
+ unescape('_testZorkCommitPathStShouldBeSt'),
1311
+ smalltalk.method({
1312
+ selector: unescape('testZorkCommitPathStShouldBeSt'),
1313
+ category: 'tests',
1314
+ fn: function () {
1315
+ var self=this;
1316
+ smalltalk.send(self, "_assert_equals_", ["st", smalltalk.send(self['@zorkPackage'], "_commitPathSt", [])]);
1317
+ return self;},
1318
+ args: [],
1319
+ source: unescape('testZorkCommitPathStShouldBeSt%0A%09self%20assert%3A%20%27st%27%20equals%3A%20zorkPackage%20commitPathSt'),
1320
+ messageSends: ["assert:equals:", "commitPathSt"],
1321
+ referencedClasses: []
1322
+ }),
1323
+ smalltalk.PackageTest);
1324
+
1325
+
1326
+
1327
+ smalltalk.addClass('PackageWithDefaultCommitPathChangedTest', smalltalk.PackageTest, [], 'Kernel-Tests');
1328
+ smalltalk.addMethod(
1329
+ unescape('_setUp'),
1330
+ smalltalk.method({
1331
+ selector: unescape('setUp'),
1332
+ category: 'running',
1333
+ fn: function () {
1334
+ var self=this;
1335
+ smalltalk.send(self, "_setUp", [], smalltalk.PackageTest);
1336
+ (function($rec){smalltalk.send($rec, "_defaultCommitPathJs_", [unescape("javascripts/")]);return smalltalk.send($rec, "_defaultCommitPathSt_", [unescape("smalltalk/")]);})((smalltalk.Package || Package));
1337
+ return self;},
1338
+ args: [],
1339
+ source: unescape('setUp%0A%09super%20setUp.%0A%0A%09Package%0A%09%09defaultCommitPathJs%3A%20%27javascripts/%27%3B%0A%09%09defaultCommitPathSt%3A%20%27smalltalk/%27.'),
1340
+ messageSends: ["setUp", "defaultCommitPathJs:", "defaultCommitPathSt:"],
1341
+ referencedClasses: ["Package"]
1342
+ }),
1343
+ smalltalk.PackageWithDefaultCommitPathChangedTest);
1344
+
1345
+ smalltalk.addMethod(
1346
+ unescape('_testGrulCommitPathJsShouldBeServerGrulJs'),
1347
+ smalltalk.method({
1348
+ selector: unescape('testGrulCommitPathJsShouldBeServerGrulJs'),
1349
+ category: 'tests',
1350
+ fn: function () {
1351
+ var self=this;
1352
+ smalltalk.send(self, "_assert_equals_", [unescape("server/grul/js"), smalltalk.send(self['@grulPackage'], "_commitPathJs", [])]);
1353
+ return self;},
1354
+ args: [],
1355
+ source: unescape('testGrulCommitPathJsShouldBeServerGrulJs%0A%09self%20assert%3A%20%27server/grul/js%27%20equals%3A%20grulPackage%20commitPathJs'),
1356
+ messageSends: ["assert:equals:", "commitPathJs"],
1357
+ referencedClasses: []
1358
+ }),
1359
+ smalltalk.PackageWithDefaultCommitPathChangedTest);
1360
+
1361
+ smalltalk.addMethod(
1362
+ unescape('_testGrulCommitPathStShouldBeGrulSt'),
1363
+ smalltalk.method({
1364
+ selector: unescape('testGrulCommitPathStShouldBeGrulSt'),
1365
+ category: 'tests',
1366
+ fn: function () {
1367
+ var self=this;
1368
+ smalltalk.send(self, "_assert_equals_", [unescape("grul/st"), smalltalk.send(self['@grulPackage'], "_commitPathSt", [])]);
1369
+ return self;},
1370
+ args: [],
1371
+ source: unescape('testGrulCommitPathStShouldBeGrulSt%0A%09self%20assert%3A%20%27grul/st%27%20equals%3A%20grulPackage%20commitPathSt'),
1372
+ messageSends: ["assert:equals:", "commitPathSt"],
1373
+ referencedClasses: []
1374
+ }),
1375
+ smalltalk.PackageWithDefaultCommitPathChangedTest);
1376
+
1377
+ smalltalk.addMethod(
1378
+ unescape('_testZorkCommitPathJsShouldBeJavascript'),
1379
+ smalltalk.method({
1380
+ selector: unescape('testZorkCommitPathJsShouldBeJavascript'),
1381
+ category: 'tests',
1382
+ fn: function () {
1383
+ var self=this;
1384
+ smalltalk.send(self, "_assert_equals_", [unescape("javascripts/"), smalltalk.send(self['@zorkPackage'], "_commitPathJs", [])]);
1385
+ return self;},
1386
+ args: [],
1387
+ source: unescape('testZorkCommitPathJsShouldBeJavascript%0A%09self%20assert%3A%20%27javascripts/%27%20equals%3A%20zorkPackage%20commitPathJs'),
1388
+ messageSends: ["assert:equals:", "commitPathJs"],
1389
+ referencedClasses: []
1390
+ }),
1391
+ smalltalk.PackageWithDefaultCommitPathChangedTest);
1392
+
1393
+ smalltalk.addMethod(
1394
+ unescape('_testZorkCommitPathStShouldBeSmalltalk'),
1395
+ smalltalk.method({
1396
+ selector: unescape('testZorkCommitPathStShouldBeSmalltalk'),
1397
+ category: 'tests',
1398
+ fn: function () {
1399
+ var self=this;
1400
+ smalltalk.send(self, "_assert_equals_", [unescape("smalltalk/"), smalltalk.send(self['@zorkPackage'], "_commitPathSt", [])]);
1401
+ return self;},
1402
+ args: [],
1403
+ source: unescape('testZorkCommitPathStShouldBeSmalltalk%0A%09self%20assert%3A%20%27smalltalk/%27%20equals%3A%20zorkPackage%20commitPathSt'),
1404
+ messageSends: ["assert:equals:", "commitPathSt"],
1405
+ referencedClasses: []
1406
+ }),
1407
+ smalltalk.PackageWithDefaultCommitPathChangedTest);
1408
+
1409
+
1410
+ smalltalk.addMethod(
1411
+ unescape('_shouldInheritSelectors'),
1412
+ smalltalk.method({
1413
+ selector: unescape('shouldInheritSelectors'),
1414
+ category: 'accessing',
1415
+ fn: function () {
1416
+ var self=this;
1417
+ return false;
1418
+ return self;},
1419
+ args: [],
1420
+ source: unescape('shouldInheritSelectors%0A%09%5E%20false'),
1421
+ messageSends: [],
1422
+ referencedClasses: []
1423
+ }),
1424
+ smalltalk.PackageWithDefaultCommitPathChangedTest.klass);
1425
+
1426
+
1427
+ smalltalk.addClass('PointTest', smalltalk.TestCase, [], 'Kernel-Tests');
1428
+ smalltalk.addMethod(
1429
+ unescape('_testAccessing'),
1430
+ smalltalk.method({
1431
+ selector: unescape('testAccessing'),
1432
+ category: 'tests',
1433
+ fn: function () {
1434
+ var self=this;
1435
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send((smalltalk.Point || Point), "_x_y_", [(3), (4)]), "_x", []), (3)]);
1436
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send((smalltalk.Point || Point), "_x_y_", [(3), (4)]), "_y", []), (4)]);
1437
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Point || Point), "_new", []), "_x_", [(3)]), "_x", []), (3)]);
1438
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Point || Point), "_new", []), "_y_", [(4)]), "_y", []), (4)]);
1439
+ return self;},
1440
+ args: [],
1441
+ source: unescape('testAccessing%0A%09self%20assert%3A%20%28Point%20x%3A%203%20y%3A%204%29%20x%20equals%3A%203.%0A%09self%20assert%3A%20%28Point%20x%3A%203%20y%3A%204%29%20y%20equals%3A%204.%0A%09self%20assert%3A%20%28Point%20new%20x%3A%203%29%20x%20equals%3A%203.%0A%09self%20assert%3A%20%28Point%20new%20y%3A%204%29%20y%20equals%3A%204'),
1442
+ messageSends: ["assert:equals:", "x", "x:y:", "y", "x:", "new", "y:"],
1443
+ referencedClasses: ["Point"]
1444
+ }),
1445
+ smalltalk.PointTest);
1446
+
1447
+ smalltalk.addMethod(
1448
+ unescape('_testArithmetic'),
1449
+ smalltalk.method({
1450
+ selector: unescape('testArithmetic'),
1451
+ category: 'tests',
1452
+ fn: function () {
1453
+ var self=this;
1454
+ smalltalk.send(self, "_assert_equals_", [((($receiver = smalltalk.send((3), "__at", [(4)])).klass === smalltalk.Number) ? $receiver *smalltalk.send((3), "__at", [(4)]) : smalltalk.send($receiver, "__star", [smalltalk.send((3), "__at", [(4)])])), smalltalk.send((smalltalk.Point || Point), "_x_y_", [(9), (16)])]);
1455
+ smalltalk.send(self, "_assert_equals_", [((($receiver = smalltalk.send((3), "__at", [(4)])).klass === smalltalk.Number) ? $receiver +smalltalk.send((3), "__at", [(4)]) : smalltalk.send($receiver, "__plus", [smalltalk.send((3), "__at", [(4)])])), smalltalk.send((smalltalk.Point || Point), "_x_y_", [(6), (8)])]);
1456
+ smalltalk.send(self, "_assert_equals_", [((($receiver = smalltalk.send((3), "__at", [(4)])).klass === smalltalk.Number) ? $receiver -smalltalk.send((3), "__at", [(4)]) : smalltalk.send($receiver, "__minus", [smalltalk.send((3), "__at", [(4)])])), smalltalk.send((smalltalk.Point || Point), "_x_y_", [(0), (0)])]);
1457
+ smalltalk.send(self, "_assert_equals_", [((($receiver = smalltalk.send((6), "__at", [(8)])).klass === smalltalk.Number) ? $receiver /smalltalk.send((3), "__at", [(4)]) : smalltalk.send($receiver, "__slash", [smalltalk.send((3), "__at", [(4)])])), smalltalk.send((smalltalk.Point || Point), "_x_y_", [(2), (2)])]);
1458
+ return self;},
1459
+ args: [],
1460
+ source: unescape('testArithmetic%0A%09self%20assert%3A%203@4%20*%20%283@4%20%29%20equals%3A%20%28Point%20x%3A%209%20y%3A%2016%29.%0A%09self%20assert%3A%203@4%20+%20%283@4%20%29%20equals%3A%20%28Point%20x%3A%206%20y%3A%208%29.%0A%09self%20assert%3A%203@4%20-%20%283@4%20%29%20equals%3A%20%28Point%20x%3A%200%20y%3A%200%29.%0A%09self%20assert%3A%206@8%20/%20%283@4%20%29%20equals%3A%20%28Point%20x%3A%202%20y%3A%202%29'),
1461
+ messageSends: ["assert:equals:", unescape("*"), unescape("@"), "x:y:", unescape("+"), unescape("-"), unescape("/")],
1462
+ referencedClasses: ["Point"]
1463
+ }),
1464
+ smalltalk.PointTest);
1465
+
1466
+ smalltalk.addMethod(
1467
+ unescape('_testAt'),
1468
+ smalltalk.method({
1469
+ selector: unescape('testAt'),
1470
+ category: 'tests',
1471
+ fn: function () {
1472
+ var self=this;
1473
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((3), "__at", [(4)]), smalltalk.send((smalltalk.Point || Point), "_x_y_", [(3), (4)])]);
1474
+ return self;},
1475
+ args: [],
1476
+ source: unescape('testAt%0A%09self%20assert%3A%203@4%20equals%3A%20%28Point%20x%3A%203%20y%3A%204%29'),
1477
+ messageSends: ["assert:equals:", unescape("@"), "x:y:"],
1478
+ referencedClasses: ["Point"]
1479
+ }),
1480
+ smalltalk.PointTest);
1481
+
1482
+ smalltalk.addMethod(
1483
+ unescape('_testEgality'),
1484
+ smalltalk.method({
1485
+ selector: unescape('testEgality'),
1486
+ category: 'tests',
1487
+ fn: function () {
1488
+ var self=this;
1489
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send((3), "__at", [(4)]), "__eq", [smalltalk.send((3), "__at", [(4)])])]);
1490
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.send((3), "__at", [(5)]), "__eq", [smalltalk.send((3), "__at", [(6)])])]);
1491
+ return self;},
1492
+ args: [],
1493
+ source: unescape('testEgality%0A%09self%20assert%3A%203@4%20%3D%20%283@4%29.%0A%09self%20deny%3A%203@5%20%3D%20%283@6%29'),
1494
+ messageSends: ["assert:", unescape("%3D"), unescape("@"), "deny:"],
1495
+ referencedClasses: []
1496
+ }),
1497
+ smalltalk.PointTest);
1498
+
1499
+ smalltalk.addMethod(
1500
+ unescape('_testTranslateBy'),
1501
+ smalltalk.method({
1502
+ selector: unescape('testTranslateBy'),
1503
+ category: 'tests',
1504
+ fn: function (){
1505
+ var self=this;
1506
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((3), "__at", [(4)]), smalltalk.send(smalltalk.send((3), "__at", [(3)]), "_translateBy_", [smalltalk.send((0), "__at", [(1)])])]);
1507
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((3), "__at", [(2)]), smalltalk.send(smalltalk.send((3), "__at", [(3)]), "_translateBy_", [smalltalk.send((0), "__at", [smalltalk.send((1), "_negated", [])])])]);
1508
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((5), "__at", [(6)]), smalltalk.send(smalltalk.send((3), "__at", [(3)]), "_translateBy_", [smalltalk.send((2), "__at", [(3)])])]);
1509
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send((0), "__at", [(3)]), smalltalk.send(smalltalk.send((3), "__at", [(3)]), "_translateBy_", [smalltalk.send(smalltalk.send((3), "_negated", []), "__at", [(0)])])]);
1510
+ return self;},
1511
+ args: [],
1512
+ source: unescape('testTranslateBy%0A%09self%20assert%3A%203@4%20equals%3A%20%283@3%20translateBy%3A%200@1%29.%0A%09self%20assert%3A%203@2%20equals%3A%20%283@3%20translateBy%3A%200@1%20negated%29.%0A%09self%20assert%3A%205@6%20equals%3A%20%283@3%20translateBy%3A%202@3%29.%0A%09self%20assert%3A%200@3%20equals%3A%20%283@3%20translateBy%3A%203%20negated%20@0%29.'),
1513
+ messageSends: ["assert:equals:", unescape("@"), "translateBy:", "negated"],
1514
+ referencedClasses: []
1515
+ }),
1516
+ smalltalk.PointTest);
1517
+
1518
+
1519
+
1520
+ smalltalk.addClass('RandomTest', smalltalk.TestCase, [], 'Kernel-Tests');
1521
+ smalltalk.addMethod(
1522
+ unescape('_textNext'),
1523
+ smalltalk.method({
1524
+ selector: unescape('textNext'),
1525
+ category: 'tests',
1526
+ fn: function () {
1527
+ var self=this;
1528
+ smalltalk.send((10000), "_timesRepeat_", [(function(){var current=nil;
1529
+ var next=nil;
1530
+ (next=smalltalk.send(smalltalk.send((smalltalk.Random || Random), "_new", []), "_next", []));smalltalk.send(self, "_assert_", [((($receiver = next).klass === smalltalk.Number) ? $receiver >=(0) : smalltalk.send($receiver, "__gt_eq", [(0)]))]);smalltalk.send(self, "_assert_", [((($receiver = next).klass === smalltalk.Number) ? $receiver <(1) : smalltalk.send($receiver, "__lt", [(1)]))]);smalltalk.send(self, "_deny_", [smalltalk.send(current, "__eq", [next])]);return smalltalk.send(next, "__eq", [current]);})]);
1531
+ return self;},
1532
+ args: [],
1533
+ source: unescape('textNext%0A%0A%0910000%20timesRepeat%3A%20%5B%0A%09%09%09%7C%20current%20next%20%7C%20%0A%09%09%09next%20%3A%3D%20Random%20new%20next.%0A%09%09%09self%20assert%3A%20%28next%20%3E%3D%200%29.%0A%09%09%09self%20assert%3A%20%28next%20%3C%201%29.%0A%09%09%09self%20deny%3A%20current%20%3D%20next.%0A%09%09%09next%20%3D%20current%5D'),
1534
+ messageSends: ["timesRepeat:", "next", "new", "assert:", unescape("%3E%3D"), unescape("%3C"), "deny:", unescape("%3D")],
1535
+ referencedClasses: ["Random"]
1536
+ }),
1537
+ smalltalk.RandomTest);
1538
+
1539
+
1540
+
1541
+ smalltalk.addClass('SetTest', smalltalk.TestCase, [], 'Kernel-Tests');
1542
+ smalltalk.addMethod(
1543
+ unescape('_testAddRemove'),
1544
+ smalltalk.method({
1545
+ selector: unescape('testAddRemove'),
1546
+ category: 'tests',
1547
+ fn: function () {
1548
+ var self=this;
1549
+ var set=nil;
1550
+ (set=smalltalk.send((smalltalk.Set || Set), "_new", []));
1551
+ smalltalk.send(self, "_assert_", [smalltalk.send(set, "_isEmpty", [])]);
1552
+ smalltalk.send(set, "_add_", [(3)]);
1553
+ smalltalk.send(self, "_assert_", [smalltalk.send(set, "_includes_", [(3)])]);
1554
+ smalltalk.send(set, "_add_", [(5)]);
1555
+ smalltalk.send(self, "_assert_", [smalltalk.send(set, "_includes_", [(5)])]);
1556
+ smalltalk.send(set, "_remove_", [(3)]);
1557
+ smalltalk.send(self, "_deny_", [smalltalk.send(set, "_includes_", [(3)])]);
1558
+ return self;},
1559
+ args: [],
1560
+ source: unescape('testAddRemove%0A%09%7C%20set%20%7C%0A%09set%20%3A%3D%20Set%20new.%0A%09%0A%09self%20assert%3A%20set%20isEmpty.%0A%0A%09set%20add%3A%203.%0A%09self%20assert%3A%20%28set%20includes%3A%203%29.%0A%0A%09set%20add%3A%205.%0A%09self%20assert%3A%20%28set%20includes%3A%205%29.%0A%0A%09set%20remove%3A%203.%0A%09self%20deny%3A%20%28set%20includes%3A%203%29'),
1561
+ messageSends: ["new", "assert:", "isEmpty", "add:", "includes:", "remove:", "deny:"],
1562
+ referencedClasses: ["Set"]
1563
+ }),
1564
+ smalltalk.SetTest);
1565
+
1566
+ smalltalk.addMethod(
1567
+ unescape('_testAt'),
1568
+ smalltalk.method({
1569
+ selector: unescape('testAt'),
1570
+ category: 'tests',
1571
+ fn: function () {
1572
+ var self=this;
1573
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send(smalltalk.send((smalltalk.Set || Set), "_new", []), "_at_put_", [(1), (2)]);}), (smalltalk.Error || Error)]);
1574
+ return self;},
1575
+ args: [],
1576
+ source: unescape('testAt%0A%09self%20should%3A%20%5BSet%20new%20at%3A%201%20put%3A%202%5D%20raise%3A%20Error'),
1577
+ messageSends: ["should:raise:", "at:put:", "new"],
1578
+ referencedClasses: ["Set", "Error"]
1579
+ }),
1580
+ smalltalk.SetTest);
1581
+
1582
+ smalltalk.addMethod(
1583
+ unescape('_testSize'),
1584
+ smalltalk.method({
1585
+ selector: unescape('testSize'),
1586
+ category: 'tests',
1587
+ fn: function () {
1588
+ var self=this;
1589
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send((smalltalk.Set || Set), "_new", []), "_size", []), (0)]);
1590
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send((smalltalk.Set || Set), "_withAll_", [[(1), (2), (3), (4)]]), "_size", []), (4)]);
1591
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.send((smalltalk.Set || Set), "_withAll_", [[(1), (1), (1), (1)]]), "_size", []), (1)]);
1592
+ return self;},
1593
+ args: [],
1594
+ source: unescape('testSize%0A%09self%20assert%3A%20Set%20new%20size%20equals%3A%200.%0A%09self%20assert%3A%20%28Set%20withAll%3A%20%23%281%202%203%204%29%29%20size%20equals%3A%204.%0A%09self%20assert%3A%20%28Set%20withAll%3A%20%23%281%201%201%201%29%29%20size%20equals%3A%201'),
1595
+ messageSends: ["assert:equals:", "size", "new", "withAll:"],
1596
+ referencedClasses: ["Set"]
1597
+ }),
1598
+ smalltalk.SetTest);
1599
+
1600
+ smalltalk.addMethod(
1601
+ unescape('_testUnicity'),
1602
+ smalltalk.method({
1603
+ selector: unescape('testUnicity'),
1604
+ category: 'tests',
1605
+ fn: function () {
1606
+ var self=this;
1607
+ var set=nil;
1608
+ (set=smalltalk.send((smalltalk.Set || Set), "_new", []));
1609
+ smalltalk.send(set, "_add_", [(21)]);
1610
+ smalltalk.send(set, "_add_", ["hello"]);
1611
+ smalltalk.send(set, "_add_", [(21)]);
1612
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(set, "_size", []), "__eq", [(2)])]);
1613
+ smalltalk.send(set, "_add_", ["hello"]);
1614
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(set, "_size", []), "__eq", [(2)])]);
1615
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(set, "_asArray", []), [(21), "hello"]]);
1616
+ return self;},
1617
+ args: [],
1618
+ source: unescape('testUnicity%0A%09%7C%20set%20%7C%0A%09set%20%3A%3D%20Set%20new.%0A%09set%20add%3A%2021.%0A%09set%20add%3A%20%27hello%27.%0A%0A%09set%20add%3A%2021.%0A%09self%20assert%3A%20set%20size%20%3D%202.%0A%09%0A%09set%20add%3A%20%27hello%27.%0A%09self%20assert%3A%20set%20size%20%3D%202.%0A%0A%09self%20assert%3A%20set%20asArray%20equals%3A%20%23%2821%20%27hello%27%29'),
1619
+ messageSends: ["new", "add:", "assert:", unescape("%3D"), "size", "assert:equals:", "asArray"],
1620
+ referencedClasses: ["Set"]
1621
+ }),
1622
+ smalltalk.SetTest);
1623
+
1624
+
1625
+
1626
+ smalltalk.addClass('StringTest', smalltalk.TestCase, [], 'Kernel-Tests');
1627
+ smalltalk.addMethod(
1628
+ unescape('_testAddRemove'),
1629
+ smalltalk.method({
1630
+ selector: unescape('testAddRemove'),
1631
+ category: 'tests',
1632
+ fn: function () {
1633
+ var self=this;
1634
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send("hello", "_add_", ["a"]);}), (smalltalk.Error || Error)]);
1635
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send("hello", "_remove_", ["h"]);}), (smalltalk.Error || Error)]);
1636
+ return self;},
1637
+ args: [],
1638
+ source: unescape('testAddRemove%0A%09self%20should%3A%20%5B%27hello%27%20add%3A%20%27a%27%5D%20raise%3A%20Error.%0A%09self%20should%3A%20%5B%27hello%27%20remove%3A%20%27h%27%5D%20raise%3A%20Error'),
1639
+ messageSends: ["should:raise:", "add:", "remove:"],
1640
+ referencedClasses: ["Error"]
1641
+ }),
1642
+ smalltalk.StringTest);
1643
+
1644
+ smalltalk.addMethod(
1645
+ unescape('_testAsArray'),
1646
+ smalltalk.method({
1647
+ selector: unescape('testAsArray'),
1648
+ category: 'tests',
1649
+ fn: function () {
1650
+ var self=this;
1651
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send("hello", "_asArray", []), "__eq", [["h", "e", "l", "l", "o"]])]);
1652
+ return self;},
1653
+ args: [],
1654
+ source: unescape('testAsArray%0A%09self%20assert%3A%20%27hello%27%20asArray%20%3D%20%23%28%27h%27%20%27e%27%20%27l%27%20%27l%27%20%27o%27%29.'),
1655
+ messageSends: ["assert:", unescape("%3D"), "asArray"],
1656
+ referencedClasses: []
1657
+ }),
1658
+ smalltalk.StringTest);
1659
+
1660
+ smalltalk.addMethod(
1661
+ unescape('_testAt'),
1662
+ smalltalk.method({
1663
+ selector: unescape('testAt'),
1664
+ category: 'tests',
1665
+ fn: function () {
1666
+ var self=this;
1667
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send("hello", "_at_", [(1)]), "__eq", ["h"])]);
1668
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send("hello", "_at_", [(5)]), "__eq", ["o"])]);
1669
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send("hello", "_at_ifAbsent_", [(6), (function(){return nil;})]), "__eq", [nil])]);
1670
+ return self;},
1671
+ args: [],
1672
+ source: unescape('testAt%0A%09self%20assert%3A%20%28%27hello%27%20at%3A%201%29%20%3D%20%27h%27.%0A%09self%20assert%3A%20%28%27hello%27%20at%3A%205%29%20%3D%20%27o%27.%0A%09self%20assert%3A%20%28%27hello%27%20at%3A%206%20ifAbsent%3A%20%5Bnil%5D%29%20%3D%20nil'),
1673
+ messageSends: ["assert:", unescape("%3D"), "at:", "at:ifAbsent:"],
1674
+ referencedClasses: []
1675
+ }),
1676
+ smalltalk.StringTest);
1677
+
1678
+ smalltalk.addMethod(
1679
+ unescape('_testAtPut'),
1680
+ smalltalk.method({
1681
+ selector: unescape('testAtPut'),
1682
+ category: 'tests',
1683
+ fn: function () {
1684
+ var self=this;
1685
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send("hello", "_at_put_", [(1), "a"]);}), (smalltalk.Error || Error)]);
1686
+ return self;},
1687
+ args: [],
1688
+ source: unescape('testAtPut%0A%09%22String%20instances%20are%20read-only%22%0A%09self%20should%3A%20%5B%27hello%27%20at%3A%201%20put%3A%20%27a%27%5D%20raise%3A%20Error'),
1689
+ messageSends: ["should:raise:", "at:put:"],
1690
+ referencedClasses: ["Error"]
1691
+ }),
1692
+ smalltalk.StringTest);
1693
+
1694
+ smalltalk.addMethod(
1695
+ unescape('_testCopyWithoutAll'),
1696
+ smalltalk.method({
1697
+ selector: unescape('testCopyWithoutAll'),
1698
+ category: 'tests',
1699
+ fn: function () {
1700
+ var self=this;
1701
+ smalltalk.send(self, "_assert_equals_", ["hello world", smalltalk.send(unescape("*hello*%20*world*"), "_copyWithoutAll_", [unescape("*")])]);
1702
+ return self;},
1703
+ args: [],
1704
+ source: unescape('testCopyWithoutAll%0A%09self%20%0A%09%09assert%3A%20%27hello%20world%27%20%0A%09%09equals%3A%20%28%27*hello*%20*world*%27%20copyWithoutAll%3A%20%27*%27%29'),
1705
+ messageSends: ["assert:equals:", "copyWithoutAll:"],
1706
+ referencedClasses: []
1707
+ }),
1708
+ smalltalk.StringTest);
1709
+
1710
+ smalltalk.addMethod(
1711
+ unescape('_testEquality'),
1712
+ smalltalk.method({
1713
+ selector: unescape('testEquality'),
1714
+ category: 'tests',
1715
+ fn: function () {
1716
+ var self=this;
1717
+ smalltalk.send(self, "_assert_", [smalltalk.send("hello", "__eq", ["hello"])]);
1718
+ smalltalk.send(self, "_deny_", [smalltalk.send("hello", "__eq", ["world"])]);
1719
+ smalltalk.send(self, "_assert_", [smalltalk.send("hello", "__eq", [smalltalk.send("hello", "_yourself", [])])]);
1720
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send("hello", "_yourself", []), "__eq", ["hello"])]);
1721
+ smalltalk.send(self, "_deny_", [smalltalk.send("", "__eq", [(0)])]);
1722
+ return self;},
1723
+ args: [],
1724
+ source: unescape('testEquality%0A%09self%20assert%3A%20%27hello%27%20%3D%20%27hello%27.%0A%09self%20deny%3A%20%27hello%27%20%3D%20%27world%27.%0A%0A%09self%20assert%3A%20%27hello%27%20%20%3D%20%27hello%27%20yourself.%0A%09self%20assert%3A%20%27hello%27%20yourself%20%3D%20%27hello%27.%0A%0A%09%22test%20JS%20falsy%20value%22%0A%09self%20deny%3A%20%27%27%20%3D%200'),
1725
+ messageSends: ["assert:", unescape("%3D"), "deny:", "yourself"],
1726
+ referencedClasses: []
1727
+ }),
1728
+ smalltalk.StringTest);
1729
+
1730
+ smalltalk.addMethod(
1731
+ unescape('_testIncludesSubString'),
1732
+ smalltalk.method({
1733
+ selector: unescape('testIncludesSubString'),
1734
+ category: 'tests',
1735
+ fn: function () {
1736
+ var self=this;
1737
+ smalltalk.send(self, "_assert_", [smalltalk.send("amber", "_includesSubString_", ["ber"])]);
1738
+ smalltalk.send(self, "_deny_", [smalltalk.send("amber", "_includesSubString_", ["zork"])]);
1739
+ return self;},
1740
+ args: [],
1741
+ source: unescape('testIncludesSubString%0A%09self%20assert%3A%20%28%27amber%27%20includesSubString%3A%20%27ber%27%29.%0A%09self%20deny%3A%20%28%27amber%27%20includesSubString%3A%20%27zork%27%29.'),
1742
+ messageSends: ["assert:", "includesSubString:", "deny:"],
1743
+ referencedClasses: []
1744
+ }),
1745
+ smalltalk.StringTest);
1746
+
1747
+ smalltalk.addMethod(
1748
+ unescape('_testJoin'),
1749
+ smalltalk.method({
1750
+ selector: unescape('testJoin'),
1751
+ category: 'tests',
1752
+ fn: function () {
1753
+ var self=this;
1754
+ smalltalk.send(self, "_assert_equals_", [unescape("hello%2Cworld"), smalltalk.send(unescape("%2C"), "_join_", [["hello", "world"]])]);
1755
+ return self;},
1756
+ args: [],
1757
+ source: unescape('testJoin%0A%09self%20assert%3A%20%27hello%2Cworld%27%20equals%3A%20%28%27%2C%27%20join%3A%20%23%28%27hello%27%20%27world%27%29%29'),
1758
+ messageSends: ["assert:equals:", "join:"],
1759
+ referencedClasses: []
1760
+ }),
1761
+ smalltalk.StringTest);
1762
+
1763
+ smalltalk.addMethod(
1764
+ unescape('_testSize'),
1765
+ smalltalk.method({
1766
+ selector: unescape('testSize'),
1767
+ category: 'tests',
1768
+ fn: function () {
1769
+ var self=this;
1770
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send("smalltalk", "_size", []), (9)]);
1771
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send("", "_size", []), (0)]);
1772
+ return self;},
1773
+ args: [],
1774
+ source: unescape('testSize%0A%09self%20assert%3A%20%27smalltalk%27%20size%20equals%3A%209.%0A%09self%20assert%3A%20%27%27%20size%20equals%3A%200'),
1775
+ messageSends: ["assert:equals:", "size"],
1776
+ referencedClasses: []
1777
+ }),
1778
+ smalltalk.StringTest);
1779
+
1780
+ smalltalk.addMethod(
1781
+ unescape('_testStreamContents'),
1782
+ smalltalk.method({
1783
+ selector: unescape('testStreamContents'),
1784
+ category: 'tests',
1785
+ fn: function () {
1786
+ var self=this;
1787
+ smalltalk.send(self, "_assert_equals_", ["hello world", smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(aStream){return (function($rec){smalltalk.send($rec, "_nextPutAll_", ["hello"]);smalltalk.send($rec, "_space", []);return smalltalk.send($rec, "_nextPutAll_", ["world"]);})(aStream);})])]);
1788
+ return self;},
1789
+ args: [],
1790
+ source: unescape('testStreamContents%0A%09self%20%0A%09%09assert%3A%20%27hello%20world%27%20%0A%09%09equals%3A%20%28String%20streamContents%3A%20%5B%3AaStream%7C%20aStream%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20%27hello%27%3B%20space%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20%27world%27%5D%29'),
1791
+ messageSends: ["assert:equals:", "streamContents:", "nextPutAll:", "space"],
1792
+ referencedClasses: ["String"]
1793
+ }),
1794
+ smalltalk.StringTest);
1795
+
1796
+
1797
+
1798
+ smalltalk.addClass('SymbolTest', smalltalk.TestCase, [], 'Kernel-Tests');
1799
+ smalltalk.addMethod(
1800
+ unescape('_testAsString'),
1801
+ smalltalk.method({
1802
+ selector: unescape('testAsString'),
1803
+ category: 'tests',
1804
+ fn: function () {
1805
+ var self=this;
1806
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.symbolFor("hello"), "_asString", []), "hello"]);
1807
+ return self;},
1808
+ args: [],
1809
+ source: unescape('testAsString%0A%09self%20assert%3A%20%23hello%20asString%20equals%3A%20%27hello%27'),
1810
+ messageSends: ["assert:equals:", "asString"],
1811
+ referencedClasses: []
1812
+ }),
1813
+ smalltalk.SymbolTest);
1814
+
1815
+ smalltalk.addMethod(
1816
+ unescape('_testAsSymbol'),
1817
+ smalltalk.method({
1818
+ selector: unescape('testAsSymbol'),
1819
+ category: 'tests',
1820
+ fn: function () {
1821
+ var self=this;
1822
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.symbolFor("hello"), "__eq_eq", [smalltalk.send(smalltalk.symbolFor("hello"), "_asSymbol", [])])]);
1823
+ return self;},
1824
+ args: [],
1825
+ source: unescape('testAsSymbol%0A%09self%20assert%3A%20%23hello%20%3D%3D%20%23hello%20asSymbol'),
1826
+ messageSends: ["assert:", unescape("%3D%3D"), "asSymbol"],
1827
+ referencedClasses: []
1828
+ }),
1829
+ smalltalk.SymbolTest);
1830
+
1831
+ smalltalk.addMethod(
1832
+ unescape('_testAt'),
1833
+ smalltalk.method({
1834
+ selector: unescape('testAt'),
1835
+ category: 'tests',
1836
+ fn: function () {
1837
+ var self=this;
1838
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.symbolFor("hello"), "_at_", [(1)]), "__eq", ["h"])]);
1839
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.symbolFor("hello"), "_at_", [(5)]), "__eq", ["o"])]);
1840
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.symbolFor("hello"), "_at_ifAbsent_", [(6), (function(){return nil;})]), "__eq", [nil])]);
1841
+ return self;},
1842
+ args: [],
1843
+ source: unescape('testAt%0A%09self%20assert%3A%20%28%23hello%20at%3A%201%29%20%3D%20%27h%27.%0A%09self%20assert%3A%20%28%23hello%20at%3A%205%29%20%3D%20%27o%27.%0A%09self%20assert%3A%20%28%23hello%20at%3A%206%20ifAbsent%3A%20%5Bnil%5D%29%20%3D%20nil'),
1844
+ messageSends: ["assert:", unescape("%3D"), "at:", "at:ifAbsent:"],
1845
+ referencedClasses: []
1846
+ }),
1847
+ smalltalk.SymbolTest);
1848
+
1849
+ smalltalk.addMethod(
1850
+ unescape('_testAtPut'),
1851
+ smalltalk.method({
1852
+ selector: unescape('testAtPut'),
1853
+ category: 'tests',
1854
+ fn: function () {
1855
+ var self=this;
1856
+ smalltalk.send(self, "_should_raise_", [(function(){return smalltalk.send("hello", "_at_put_", [(1), "a"]);}), (smalltalk.Error || Error)]);
1857
+ return self;},
1858
+ args: [],
1859
+ source: unescape('testAtPut%0A%09%22Symbol%20instances%20are%20read-only%22%0A%09self%20should%3A%20%5B%27hello%27%20at%3A%201%20put%3A%20%27a%27%5D%20raise%3A%20Error'),
1860
+ messageSends: ["should:raise:", "at:put:"],
1861
+ referencedClasses: ["Error"]
1862
+ }),
1863
+ smalltalk.SymbolTest);
1864
+
1865
+ smalltalk.addMethod(
1866
+ unescape('_testComparing'),
1867
+ smalltalk.method({
1868
+ selector: unescape('testComparing'),
1869
+ category: 'tests',
1870
+ fn: function () {
1871
+ var self=this;
1872
+ smalltalk.send(self, "_assert_", [((($receiver = smalltalk.symbolFor("ab")).klass === smalltalk.Number) ? $receiver >smalltalk.symbolFor("aa") : smalltalk.send($receiver, "__gt", [smalltalk.symbolFor("aa")]))]);
1873
+ smalltalk.send(self, "_deny_", [((($receiver = smalltalk.symbolFor("ab")).klass === smalltalk.Number) ? $receiver >smalltalk.symbolFor("ba") : smalltalk.send($receiver, "__gt", [smalltalk.symbolFor("ba")]))]);
1874
+ smalltalk.send(self, "_assert_", [((($receiver = smalltalk.symbolFor("ab")).klass === smalltalk.Number) ? $receiver <smalltalk.symbolFor("ba") : smalltalk.send($receiver, "__lt", [smalltalk.symbolFor("ba")]))]);
1875
+ smalltalk.send(self, "_deny_", [((($receiver = smalltalk.symbolFor("bb")).klass === smalltalk.Number) ? $receiver <smalltalk.symbolFor("ba") : smalltalk.send($receiver, "__lt", [smalltalk.symbolFor("ba")]))]);
1876
+ smalltalk.send(self, "_assert_", [((($receiver = smalltalk.symbolFor("ab")).klass === smalltalk.Number) ? $receiver >=smalltalk.symbolFor("aa") : smalltalk.send($receiver, "__gt_eq", [smalltalk.symbolFor("aa")]))]);
1877
+ smalltalk.send(self, "_deny_", [((($receiver = smalltalk.symbolFor("ab")).klass === smalltalk.Number) ? $receiver >=smalltalk.symbolFor("ba") : smalltalk.send($receiver, "__gt_eq", [smalltalk.symbolFor("ba")]))]);
1878
+ smalltalk.send(self, "_assert_", [((($receiver = smalltalk.symbolFor("ab")).klass === smalltalk.Number) ? $receiver <=smalltalk.symbolFor("ba") : smalltalk.send($receiver, "__lt_eq", [smalltalk.symbolFor("ba")]))]);
1879
+ smalltalk.send(self, "_deny_", [((($receiver = smalltalk.symbolFor("bb")).klass === smalltalk.Number) ? $receiver <=smalltalk.symbolFor("ba") : smalltalk.send($receiver, "__lt_eq", [smalltalk.symbolFor("ba")]))]);
1880
+ return self;},
1881
+ args: [],
1882
+ source: unescape('testComparing%0A%09self%20assert%3A%20%23ab%20%3E%20%23aa.%0A%09self%20deny%3A%20%23ab%20%3E%20%23ba.%0A%0A%09self%20assert%3A%20%23ab%20%3C%20%23ba.%0A%09self%20deny%3A%20%23bb%20%3C%20%23ba.%0A%0A%09self%20assert%3A%20%23ab%20%3E%3D%20%23aa.%0A%09self%20deny%3A%20%23ab%20%3E%3D%20%23ba.%0A%0A%09self%20assert%3A%20%23ab%20%3C%3D%20%23ba.%0A%09self%20deny%3A%20%23bb%20%3C%3D%20%23ba'),
1883
+ messageSends: ["assert:", unescape("%3E"), "deny:", unescape("%3C"), unescape("%3E%3D"), unescape("%3C%3D")],
1884
+ referencedClasses: []
1885
+ }),
1886
+ smalltalk.SymbolTest);
1887
+
1888
+ smalltalk.addMethod(
1889
+ unescape('_testCopying'),
1890
+ smalltalk.method({
1891
+ selector: unescape('testCopying'),
1892
+ category: 'tests',
1893
+ fn: function () {
1894
+ var self=this;
1895
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.symbolFor("hello"), "_copy", []), "__eq_eq", [smalltalk.symbolFor("hello")])]);
1896
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.symbolFor("hello"), "_deepCopy", []), "__eq_eq", [smalltalk.symbolFor("hello")])]);
1897
+ return self;},
1898
+ args: [],
1899
+ source: unescape('testCopying%0A%09self%20assert%3A%20%23hello%20copy%20%3D%3D%20%23hello.%0A%09self%20assert%3A%20%23hello%20deepCopy%20%3D%3D%20%23hello'),
1900
+ messageSends: ["assert:", unescape("%3D%3D"), "copy", "deepCopy"],
1901
+ referencedClasses: []
1902
+ }),
1903
+ smalltalk.SymbolTest);
1904
+
1905
+ smalltalk.addMethod(
1906
+ unescape('_testEquality'),
1907
+ smalltalk.method({
1908
+ selector: unescape('testEquality'),
1909
+ category: 'tests',
1910
+ fn: function () {
1911
+ var self=this;
1912
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.symbolFor("hello"), "__eq", [smalltalk.symbolFor("hello")])]);
1913
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.symbolFor("hello"), "__eq", [smalltalk.symbolFor("world")])]);
1914
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.symbolFor("hello"), "__eq", [smalltalk.send(smalltalk.symbolFor("hello"), "_yourself", [])])]);
1915
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.symbolFor("hello"), "_yourself", []), "__eq", [smalltalk.symbolFor("hello")])]);
1916
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.symbolFor("hello"), "__eq", ["hello"])]);
1917
+ smalltalk.send(self, "_deny_", [smalltalk.send("hello", "__eq", [smalltalk.symbolFor("hello")])]);
1918
+ return self;},
1919
+ args: [],
1920
+ source: unescape('testEquality%0A%09self%20assert%3A%20%23hello%20%3D%20%23hello.%0A%09self%20deny%3A%20%23hello%20%3D%20%23world.%0A%0A%09self%20assert%3A%20%23hello%20%20%3D%20%23hello%20yourself.%0A%09self%20assert%3A%20%23hello%20yourself%20%3D%20%23hello.%0A%0A%09self%20deny%3A%20%23hello%20%20%3D%20%27hello%27.%0A%09self%20deny%3A%20%27hello%27%20%3D%20%23hello.'),
1921
+ messageSends: ["assert:", unescape("%3D"), "deny:", "yourself"],
1922
+ referencedClasses: []
1923
+ }),
1924
+ smalltalk.SymbolTest);
1925
+
1926
+ smalltalk.addMethod(
1927
+ unescape('_testIdentity'),
1928
+ smalltalk.method({
1929
+ selector: unescape('testIdentity'),
1930
+ category: 'tests',
1931
+ fn: function () {
1932
+ var self=this;
1933
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.symbolFor("hello"), "__eq_eq", [smalltalk.symbolFor("hello")])]);
1934
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.symbolFor("hello"), "__eq_eq", [smalltalk.symbolFor("world")])]);
1935
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.symbolFor("hello"), "__eq", [smalltalk.send(smalltalk.symbolFor("hello"), "_yourself", [])])]);
1936
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(smalltalk.symbolFor("hello"), "_yourself", []), "__eq", [smalltalk.send(smalltalk.send(smalltalk.symbolFor("hello"), "_asString", []), "_asSymbol", [])])]);
1937
+ return self;},
1938
+ args: [],
1939
+ source: unescape('testIdentity%0A%09self%20assert%3A%20%23hello%20%3D%3D%20%23hello.%0A%09self%20deny%3A%20%23hello%20%3D%3D%20%23world.%0A%0A%09self%20assert%3A%20%23hello%20%20%3D%20%23hello%20yourself.%0A%09self%20assert%3A%20%23hello%20yourself%20%3D%20%23hello%20asString%20asSymbol'),
1940
+ messageSends: ["assert:", unescape("%3D%3D"), "deny:", unescape("%3D"), "yourself", "asSymbol", "asString"],
1941
+ referencedClasses: []
1942
+ }),
1943
+ smalltalk.SymbolTest);
1944
+
1945
+ smalltalk.addMethod(
1946
+ unescape('_testIsSymbolIsString'),
1947
+ smalltalk.method({
1948
+ selector: unescape('testIsSymbolIsString'),
1949
+ category: 'tests',
1950
+ fn: function () {
1951
+ var self=this;
1952
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.symbolFor("hello"), "_isSymbol", [])]);
1953
+ smalltalk.send(self, "_deny_", [smalltalk.send("hello", "_isSymbol", [])]);
1954
+ smalltalk.send(self, "_deny_", [smalltalk.send(smalltalk.symbolFor("hello"), "_isString", [])]);
1955
+ smalltalk.send(self, "_assert_", [smalltalk.send("hello", "_isString", [])]);
1956
+ return self;},
1957
+ args: [],
1958
+ source: unescape('testIsSymbolIsString%0A%09self%20assert%3A%20%23hello%20isSymbol.%0A%09self%20deny%3A%20%27hello%27%20isSymbol.%0A%09self%20deny%3A%20%23hello%20isString.%0A%09self%20assert%3A%20%27hello%27%20isString'),
1959
+ messageSends: ["assert:", "isSymbol", "deny:", "isString"],
1960
+ referencedClasses: []
1961
+ }),
1962
+ smalltalk.SymbolTest);
1963
+
1964
+ smalltalk.addMethod(
1965
+ unescape('_testSize'),
1966
+ smalltalk.method({
1967
+ selector: unescape('testSize'),
1968
+ category: 'tests',
1969
+ fn: function () {
1970
+ var self=this;
1971
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.symbolFor("a"), "_size", []), (1)]);
1972
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(smalltalk.symbolFor("aaaaa"), "_size", []), (5)]);
1973
+ return self;},
1974
+ args: [],
1975
+ source: unescape('testSize%0A%09self%20assert%3A%20%23a%20size%20equals%3A%201.%0A%09self%20assert%3A%20%23aaaaa%20size%20equals%3A%205'),
1976
+ messageSends: ["assert:equals:", "size"],
1977
+ referencedClasses: []
1978
+ }),
1979
+ smalltalk.SymbolTest);
1980
+
1981
+
1982
+
1983
+ smalltalk.addClass('UndefinedTest', smalltalk.TestCase, [], 'Kernel-Tests');
1984
+ smalltalk.addMethod(
1985
+ unescape('_testCopying'),
1986
+ smalltalk.method({
1987
+ selector: unescape('testCopying'),
1988
+ category: 'tests',
1989
+ fn: function () {
1990
+ var self=this;
1991
+ smalltalk.send(self, "_assert_equals_", [smalltalk.send(nil, "_copy", []), nil]);
1992
+ return self;},
1993
+ args: [],
1994
+ source: unescape('testCopying%0A%09self%20assert%3A%20nil%20copy%20equals%3A%20nil'),
1995
+ messageSends: ["assert:equals:", "copy"],
1996
+ referencedClasses: []
1997
+ }),
1998
+ smalltalk.UndefinedTest);
1999
+
2000
+ smalltalk.addMethod(
2001
+ unescape('_testDeepCopy'),
2002
+ smalltalk.method({
2003
+ selector: unescape('testDeepCopy'),
2004
+ category: 'tests',
2005
+ fn: function () {
2006
+ var self=this;
2007
+ smalltalk.send(self, "_assert_", [smalltalk.send(smalltalk.send(nil, "_deepCopy", []), "__eq", [nil])]);
2008
+ return self;},
2009
+ args: [],
2010
+ source: unescape('testDeepCopy%0A%09self%20assert%3A%20nil%20deepCopy%20%3D%20nil'),
2011
+ messageSends: ["assert:", unescape("%3D"), "deepCopy"],
2012
+ referencedClasses: []
2013
+ }),
2014
+ smalltalk.UndefinedTest);
2015
+
2016
+ smalltalk.addMethod(
2017
+ unescape('_testIfNil'),
2018
+ smalltalk.method({
2019
+ selector: unescape('testIfNil'),
2020
+ category: 'tests',
2021
+ fn: function () {
2022
+ var self=this;
2023
+ smalltalk.send(self, "_assert_equals_", [(($receiver = nil) == nil || $receiver == undefined) ? (function(){return true;})() : $receiver, true]);
2024
+ smalltalk.send(self, "_deny_", [smalltalk.send((($receiver = nil) != nil && $receiver != undefined) ? (function(){return true;})() : nil, "__eq", [true])]);
2025
+ smalltalk.send(self, "_assert_equals_", [(($receiver = nil) == nil || $receiver == undefined) ? (function(){return true;})() : (function(){return false;})(), true]);
2026
+ smalltalk.send(self, "_deny_", [smalltalk.send((($receiver = nil) == nil || $receiver == undefined) ? (function(){return false;})() : (function(){return true;})(), "__eq", [true])]);
2027
+ return self;},
2028
+ args: [],
2029
+ source: unescape('testIfNil%0A%09self%20assert%3A%20%28nil%20ifNil%3A%20%5Btrue%5D%29%20equals%3A%20true.%0A%09self%20deny%3A%20%28nil%20ifNotNil%3A%20%5Btrue%5D%29%20%3D%20true.%0A%09self%20assert%3A%20%28nil%20ifNil%3A%20%5Btrue%5D%20ifNotNil%3A%20%5Bfalse%5D%29%20equals%3A%20true.%0A%09self%20deny%3A%20%28nil%20ifNotNil%3A%20%5Btrue%5D%20ifNil%3A%20%5Bfalse%5D%29%20%3D%20true'),
2030
+ messageSends: ["assert:equals:", "ifNil:", "deny:", unescape("%3D"), "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil:"],
2031
+ referencedClasses: []
2032
+ }),
2033
+ smalltalk.UndefinedTest);
2034
+
2035
+ smalltalk.addMethod(
2036
+ unescape('_testIsNil'),
2037
+ smalltalk.method({
2038
+ selector: unescape('testIsNil'),
2039
+ category: 'tests',
2040
+ fn: function () {
2041
+ var self=this;
2042
+ smalltalk.send(self, "_assert_", [smalltalk.send(nil, "_isNil", [])]);
2043
+ smalltalk.send(self, "_deny_", [smalltalk.send(nil, "_notNil", [])]);
2044
+ return self;},
2045
+ args: [],
2046
+ source: unescape('testIsNil%0A%09self%20assert%3A%20nil%20isNil.%0A%09self%20deny%3A%20nil%20notNil.'),
2047
+ messageSends: ["assert:", "isNil", "deny:", "notNil"],
2048
+ referencedClasses: []
2049
+ }),
2050
+ smalltalk.UndefinedTest);
2051
+
2052
+
2053
+