mdbe 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,953 @@
1
+ Smalltalk current createPackage: 'Kernel-Tests' properties: #{}!
2
+ TestCase subclass: #ArrayTest
3
+ instanceVariableNames: ''
4
+ package: 'Kernel-Tests'!
5
+
6
+ !ArrayTest methodsFor: 'testing'!
7
+
8
+ testFirstN
9
+ self assert: {1. 2. 3} equals: ({1. 2. 3. 4. 5} first: 3).
10
+ !
11
+
12
+ testIfEmpty
13
+ self assert: 'zork' equals: ( '' ifEmpty: ['zork'] )
14
+ ! !
15
+
16
+ TestCase subclass: #BlockClosureTest
17
+ instanceVariableNames: ''
18
+ package: 'Kernel-Tests'!
19
+
20
+ !BlockClosureTest methodsFor: 'tests'!
21
+
22
+ testCompiledSource
23
+ self assert: ([1+1] compiledSource includesSubString: 'function')
24
+ !
25
+
26
+ testEnsure
27
+ self assert: ([Error new] ensure: [true])
28
+ !
29
+
30
+ testNumArgs
31
+ self assert: [] numArgs equals: 0.
32
+ self assert: [:a :b | ] numArgs equals: 2
33
+ !
34
+
35
+ testOnDo
36
+ self assert: ([Error new signal] on: Error do: [:ex | true])
37
+ !
38
+
39
+ testValue
40
+ self assert: ([1+1] value) equals: 2.
41
+ self assert: ([:x | x +1] value: 2) equals: 3.
42
+ self assert: ([:x :y | x*y] value: 2 value: 4) equals: 8.
43
+
44
+ "Arguments are optional in Amber. This isn't ANSI compliant."
45
+
46
+ self assert: ([:a :b :c | 1] value) equals: 1
47
+ !
48
+
49
+ testValueWithPossibleArguments
50
+ self assert: ([1] valueWithPossibleArguments: #(3 4)) equals: 1.
51
+ self assert: ([:a | a + 4] valueWithPossibleArguments: #(3 4)) equals: 7.
52
+ self assert: ([:a :b | a + b] valueWithPossibleArguments: #(3 4 5)) equals: 7.
53
+ !
54
+
55
+ testWhileFalse
56
+ | i |
57
+ i := 0.
58
+ [i > 5] whileFalse: [i := i + 1].
59
+ self assert: i equals: 6.
60
+
61
+ i := 0.
62
+ [i := i + 1. i > 5] whileFalse.
63
+ self assert: i equals: 6
64
+ !
65
+
66
+ testWhileTrue
67
+ | i |
68
+ i := 0.
69
+ [i < 5] whileTrue: [i := i + 1].
70
+ self assert: i equals: 5.
71
+
72
+ i := 0.
73
+ [i := i + 1. i < 5] whileTrue.
74
+ self assert: i equals: 5
75
+ ! !
76
+
77
+ TestCase subclass: #BooleanTest
78
+ instanceVariableNames: ''
79
+ package: 'Kernel-Tests'!
80
+
81
+ !BooleanTest methodsFor: 'tests'!
82
+
83
+ testEquality
84
+ "We're on top of JS...just be sure to check the basics!!"
85
+
86
+ self deny: 0 = false.
87
+ self deny: false = 0.
88
+ self deny: '' = false.
89
+ self deny: false = ''.
90
+
91
+ self assert: true = true.
92
+ self deny: false = true.
93
+ self deny: true = false.
94
+ self assert: false = false.
95
+
96
+ "JS may do some type coercing after sending a message"
97
+ self assert: true yourself = true.
98
+ self assert: true yourself = true yourself
99
+ !
100
+
101
+ testIfTrueIfFalse
102
+
103
+ self assert: (true ifTrue: ['alternative block']) = 'alternative block'.
104
+ self assert: (true ifFalse: ['alternative block']) = nil.
105
+
106
+ self assert: (false ifTrue: ['alternative block']) = nil.
107
+ self assert: (false ifFalse: ['alternative block']) = 'alternative block'.
108
+
109
+ self assert: (false ifTrue: ['alternative block'] ifFalse: ['alternative block2']) = 'alternative block2'.
110
+ self assert: (false ifFalse: ['alternative block'] ifTrue: ['alternative block2']) = 'alternative block'.
111
+
112
+ self assert: (true ifTrue: ['alternative block'] ifFalse: ['alternative block2']) = 'alternative block'.
113
+ self assert: (true ifFalse: ['alternative block'] ifTrue: ['alternative block2']) = 'alternative block2'.
114
+ !
115
+
116
+ testLogic
117
+
118
+ "Trivial logic table"
119
+ self assert: (true & true); deny: (true & false); deny: (false & true); deny: (false & false).
120
+ self assert: (true | true); assert: (true | false); assert: (false | true); deny: (false | false).
121
+ "Checking that expressions work fine too"
122
+ self assert: (true & (1 > 0)); deny: ((1 > 0) & false); deny: ((1 > 0) & (1 > 2)).
123
+ self assert: (false | (1 > 0)); assert: ((1 > 0) | false); assert: ((1 > 0) | (1 > 2))
124
+ !
125
+
126
+ testLogicKeywords
127
+
128
+ "Trivial logic table"
129
+ self
130
+ assert: (true and: [ true]);
131
+ deny: (true and: [ false ]);
132
+ deny: (false and: [ true ]);
133
+ deny: (false and: [ false ]).
134
+ self
135
+ assert: (true or: [ true ]);
136
+ assert: (true or: [ false ]);
137
+ assert: (false or: [ true ]);
138
+ deny: (false or: [ false ]).
139
+
140
+ "Checking that expressions work fine too"
141
+ self
142
+ assert: (true and: [ 1 > 0 ]);
143
+ deny: ((1 > 0) and: [ false ]);
144
+ deny: ((1 > 0) and: [ 1 > 2 ]).
145
+ self
146
+ assert: (false or: [ 1 > 0 ]);
147
+ assert: ((1 > 0) or: [ false ]);
148
+ assert: ((1 > 0) or: [ 1 > 2 ])
149
+ ! !
150
+
151
+ TestCase subclass: #ClassBuilderTest
152
+ instanceVariableNames: 'builder theClass'
153
+ package: 'Kernel-Tests'!
154
+
155
+ !ClassBuilderTest methodsFor: 'running'!
156
+
157
+ setUp
158
+ builder := ClassBuilder new
159
+ !
160
+
161
+ tearDown
162
+ theClass ifNotNil: [Smalltalk current removeClass: theClass. theClass := nil]
163
+ !
164
+
165
+ testClassCopy
166
+ theClass := builder copyClass: ObjectMock named: 'ObjectMock2'.
167
+ self assert: theClass superclass == ObjectMock superclass.
168
+ self assert: theClass instanceVariableNames == ObjectMock instanceVariableNames.
169
+ self assert: theClass name equals: 'ObjectMock2'.
170
+ self assert: theClass package == ObjectMock package.
171
+ self assert: theClass methodDictionary keys equals: ObjectMock methodDictionary keys
172
+ !
173
+
174
+ testInstanceVariableNames
175
+ self assert: (builder instanceVariableNamesFor: ' hello world ') equals: #('hello' 'world')
176
+ ! !
177
+
178
+ TestCase subclass: #DictionaryTest
179
+ instanceVariableNames: ''
180
+ package: 'Kernel-Tests'!
181
+
182
+ !DictionaryTest methodsFor: 'tests'!
183
+
184
+ testAccessing
185
+ | d |
186
+
187
+ d := Dictionary new.
188
+
189
+ d at: 'hello' put: 'world'.
190
+ self assert: (d at: 'hello') = 'world'.
191
+ self assert: (d at: 'hello' ifAbsent: [nil]) = 'world'.
192
+ self deny: (d at: 'foo' ifAbsent: [nil]) = 'world'.
193
+
194
+ d at: 1 put: 2.
195
+ self assert: (d at: 1) = 2.
196
+
197
+ d at: 1@3 put: 3.
198
+ self assert: (d at: 1@3) = 3
199
+ !
200
+
201
+ testDynamicDictionaries
202
+ self assert: #{'hello' -> 1} asDictionary = (Dictionary with: 'hello' -> 1)
203
+ !
204
+
205
+ testEquality
206
+ | d1 d2 |
207
+
208
+ self assert: Dictionary new = Dictionary new.
209
+
210
+ d1 := Dictionary new at: 1 put: 2; yourself.
211
+ d2 := Dictionary new at: 1 put: 2; yourself.
212
+ self assert: d1 = d2.
213
+
214
+ d2 := Dictionary new at: 1 put: 3; yourself.
215
+ self deny: d1 = d2.
216
+
217
+ d2 := Dictionary new at: 2 put: 2; yourself.
218
+ self deny: d1 = d2.
219
+
220
+ d2 := Dictionary new at: 1 put: 2; at: 3 put: 4; yourself.
221
+ self deny: d1 = d2.
222
+ !
223
+
224
+ testKeys
225
+ | d |
226
+
227
+ d := Dictionary new.
228
+ d at: 1 put: 2.
229
+ d at: 2 put: 3.
230
+ d at: 3 put: 4.
231
+
232
+ self assert: d keys = #(1 2 3)
233
+ !
234
+
235
+ testPrintString
236
+ self
237
+ assert: 'a Dictionary(''firstname'' -> ''James'' , ''lastname'' -> ''Bond'')'
238
+ equals: (Dictionary new
239
+ at:'firstname' put: 'James';
240
+ at:'lastname' put: 'Bond';
241
+ printString)
242
+ !
243
+
244
+ testRemoveKey
245
+ | d key |
246
+
247
+ d := Dictionary new.
248
+ d at: 1 put: 2.
249
+ d at: 2 put: 3.
250
+ d at: 3 put: 4.
251
+
252
+ key := 2.
253
+
254
+ self assert: d keys = #(1 2 3).
255
+
256
+ d removeKey: key.
257
+ self assert: d keys = #(1 3).
258
+ self assert: d values = #(2 4).
259
+ self deny: (d includesKey: 2)
260
+ !
261
+
262
+ testRemoveKeyIfAbsent
263
+ | d key |
264
+
265
+ d := Dictionary new.
266
+ d at: 1 put: 2.
267
+ d at: 2 put: 3.
268
+ d at: 3 put: 4.
269
+
270
+ key := 2.
271
+ self assert: (d removeKey: key) = 3.
272
+
273
+ key := 3.
274
+ self assert: (d removeKey: key ifAbsent: [42]) = 4.
275
+
276
+ key := 'why'.
277
+ self assert: (d removeKey: key ifAbsent: [42] ) = 42.
278
+ !
279
+
280
+ testSize
281
+ | d |
282
+
283
+ d := Dictionary new.
284
+ self assert: d size = 0.
285
+
286
+ d at: 1 put: 2.
287
+ self assert: d size = 1.
288
+
289
+ d at: 2 put: 3.
290
+ self assert: d size = 2.
291
+ !
292
+
293
+ testValues
294
+ | d |
295
+
296
+ d := Dictionary new.
297
+ d at: 1 put: 2.
298
+ d at: 2 put: 3.
299
+ d at: 3 put: 4.
300
+
301
+ self assert: d values = #(2 3 4)
302
+ ! !
303
+
304
+ TestCase subclass: #JSObjectProxyTest
305
+ instanceVariableNames: ''
306
+ package: 'Kernel-Tests'!
307
+
308
+ !JSObjectProxyTest methodsFor: 'accessing'!
309
+
310
+ jsObject
311
+ <return jsObject = {a: 1, b: function() {return 2;}, c: function(object) {return object;}}>
312
+ ! !
313
+
314
+ !JSObjectProxyTest methodsFor: 'tests'!
315
+
316
+ testDNU
317
+ self should: [self jsObject foo] raise: MessageNotUnderstood
318
+ !
319
+
320
+ testMessageSend
321
+
322
+ self assert: self jsObject a equals: 1.
323
+ self assert: self jsObject b equals: 2.
324
+ self assert: (self jsObject c: 3) equals: 3
325
+ !
326
+
327
+ testMethodWithArguments
328
+ self deny: ('body' asJQuery hasClass: 'amber').
329
+
330
+ 'body' asJQuery addClass: 'amber'.
331
+ self assert: ('body' asJQuery hasClass: 'amber').
332
+
333
+ 'body' asJQuery removeClass: 'amber'.
334
+ self deny: ('body' asJQuery hasClass: 'amber').
335
+ !
336
+
337
+ testPrinting
338
+ self assert: self jsObject printString = '[object Object]'
339
+ !
340
+
341
+ testPropertyThatReturnsEmptyString
342
+ <document.location.hash = ''>.
343
+ self assert: '' equals: document location hash.
344
+
345
+ document location hash: 'test'.
346
+ self assert: '#test' equals: document location hash.
347
+ !
348
+
349
+ testYourself
350
+ |body|
351
+ body := 'body' asJQuery
352
+ addClass: 'amber';
353
+ yourself.
354
+
355
+ self assert: (body hasClass: 'amber').
356
+
357
+ body removeClass: 'amber'.
358
+ self deny: (body hasClass: 'amber').
359
+ ! !
360
+
361
+ TestCase subclass: #NumberTest
362
+ instanceVariableNames: ''
363
+ package: 'Kernel-Tests'!
364
+
365
+ !NumberTest methodsFor: 'tests'!
366
+
367
+ testArithmetic
368
+
369
+ "We rely on JS here, so we won't test complex behavior, just check if
370
+ message sends are corrects"
371
+
372
+ self assert: 1.5 + 1 = 2.5.
373
+ self assert: 2 - 1 = 1.
374
+ self assert: -2 - 1 = -3.
375
+ self assert: 12 / 2 = 6.
376
+ self assert: 3 * 4 = 12.
377
+
378
+ "Simple parenthesis and execution order"
379
+
380
+ self assert: 1 + 2 * 3 = 9.
381
+ self assert: 1 + (2 * 3) = 7
382
+ !
383
+
384
+ testComparison
385
+
386
+ self assert: 3 > 2.
387
+ self assert: 2 < 3.
388
+
389
+ self deny: 3 < 2.
390
+ self deny: 2 > 3.
391
+
392
+ self assert: 3 >= 3.
393
+ self assert: 3.1 >= 3.
394
+ self assert: 3 <= 3.
395
+ self assert: 3 <= 3.1
396
+ !
397
+
398
+ testCopying
399
+ self assert: 1 copy == 1.
400
+ self assert: 1 deepCopy == 1
401
+ !
402
+
403
+ testEquality
404
+ self assert: 1 = 1.
405
+ self assert: 0 = 0.
406
+ self deny: 1 = 0.
407
+
408
+ self assert: 1 yourself = 1.
409
+ self assert: 1 = 1 yourself.
410
+ self assert: 1 yourself = 1 yourself.
411
+
412
+ self deny: 0 = false.
413
+ self deny: false = 0.
414
+ self deny: '' = 0.
415
+ self deny: 0 = ''
416
+ !
417
+
418
+ testIdentity
419
+ self assert: 1 == 1.
420
+ self assert: 0 == 0.
421
+ self deny: 1 == 0.
422
+
423
+ self assert: 1 yourself == 1.
424
+ self assert: 1 == 1 yourself.
425
+ self assert: 1 yourself == 1 yourself.
426
+
427
+ self deny: 1 == 2
428
+ !
429
+
430
+ testMinMax
431
+
432
+ self assert: (2 max: 5) equals: 5.
433
+ self assert: (2 min: 5) equals: 2
434
+ !
435
+
436
+ testNegated
437
+ self assert: 3 negated = -3.
438
+ self assert: -3 negated = 3
439
+ !
440
+
441
+ testPrintShowingDecimalPlaces
442
+ self assert: '23.00' equals: (23 printShowingDecimalPlaces: 2).
443
+ self assert: '23.57' equals: (23.5698 printShowingDecimalPlaces: 2).
444
+ self assert: '-234.56700' equals:( 234.567 negated printShowingDecimalPlaces: 5).
445
+ self assert: '23' equals: (23.4567 printShowingDecimalPlaces: 0).
446
+ self assert: '24' equals: (23.5567 printShowingDecimalPlaces: 0).
447
+ self assert: '-23' equals: (23.4567 negated printShowingDecimalPlaces: 0).
448
+ self assert: '-24' equals: (23.5567 negated printShowingDecimalPlaces: 0).
449
+ self assert: '100000000.0' equals: (100000000 printShowingDecimalPlaces: 1).
450
+ self assert: '0.98000' equals: (0.98 printShowingDecimalPlaces: 5).
451
+ self assert: '-0.98' equals: (0.98 negated printShowingDecimalPlaces: 2).
452
+ self assert: '2.57' equals: (2.567 printShowingDecimalPlaces: 2).
453
+ self assert: '-2.57' equals: (-2.567 printShowingDecimalPlaces: 2).
454
+ self assert: '0.00' equals: (0 printShowingDecimalPlaces: 2).
455
+ !
456
+
457
+ testRounded
458
+
459
+ self assert: 3 rounded = 3.
460
+ self assert: 3.212 rounded = 3.
461
+ self assert: 3.51 rounded = 4
462
+ !
463
+
464
+ testSqrt
465
+
466
+ self assert: 4 sqrt = 2.
467
+ self assert: 16 sqrt = 4
468
+ !
469
+
470
+ testSquared
471
+
472
+ self assert: 4 squared = 16
473
+ !
474
+
475
+ testTimesRepeat
476
+ | i |
477
+
478
+ i := 0.
479
+ 0 timesRepeat: [i := i + 1].
480
+ self assert: i equals: 0.
481
+
482
+ 5 timesRepeat: [i := i + 1].
483
+ self assert: i equals: 5
484
+ !
485
+
486
+ testTo
487
+ self assert: (1 to: 5) equals: #(1 2 3 4 5)
488
+ !
489
+
490
+ testToBy
491
+ self assert: (0 to: 6 by: 2) equals: #(0 2 4 6).
492
+
493
+ self should: [1 to: 4 by: 0] raise: Error
494
+ !
495
+
496
+ testTruncated
497
+
498
+ self assert: 3 truncated = 3.
499
+ self assert: 3.212 truncated = 3.
500
+ self assert: 3.51 truncated = 3
501
+ ! !
502
+
503
+ Object subclass: #ObjectMock
504
+ instanceVariableNames: 'foo bar'
505
+ package: 'Kernel-Tests'!
506
+
507
+ !ObjectMock methodsFor: 'not yet classified'!
508
+
509
+ foo
510
+ ^foo
511
+ !
512
+
513
+ foo: anObject
514
+ foo := anObject
515
+ ! !
516
+
517
+ TestCase subclass: #ObjectTest
518
+ instanceVariableNames: ''
519
+ package: 'Kernel-Tests'!
520
+
521
+ !ObjectTest methodsFor: 'tests'!
522
+
523
+ testBasicAccess
524
+ | o |
525
+ o := Object new.
526
+ o basicAt: 'a' put: 1.
527
+ self assert: (o basicAt: 'a') equals: 1.
528
+ self assert: (o basicAt: 'b') equals: nil
529
+ !
530
+
531
+ testBasicPerform
532
+ | o |
533
+ o := Object new.
534
+ o basicAt: 'func' put: ['hello'].
535
+ o basicAt: 'func2' put: [:a | a + 1].
536
+
537
+ self assert: (o basicPerform: 'func') equals: 'hello'.
538
+ self assert: (o basicPerform: 'func2' withArguments: #(3)) equals: 4
539
+ !
540
+
541
+ testDNU
542
+ self should: [Object new foo] raise: MessageNotUnderstood
543
+ !
544
+
545
+ testEquality
546
+ | o |
547
+ o := Object new.
548
+ self deny: o = Object new.
549
+ self assert: o = o.
550
+ self assert: o yourself = o.
551
+ self assert: o = o yourself
552
+ !
553
+
554
+ testHalt
555
+ self should: [Object new halt] raise: Error
556
+ !
557
+
558
+ testIdentity
559
+ | o |
560
+ o := Object new.
561
+ self deny: o == Object new.
562
+ self assert: o == o
563
+ !
564
+
565
+ testIfNil
566
+ self deny: Object new isNil.
567
+ self deny: (Object new ifNil: [true]) = true.
568
+ self assert: (Object new ifNotNil: [true]) = true.
569
+
570
+ self assert: (Object new ifNil: [false] ifNotNil: [true]) = true.
571
+ self assert: (Object new ifNotNil: [true] ifNil: [false]) = true
572
+ !
573
+
574
+ testInstVars
575
+ | o |
576
+ o := ObjectMock new.
577
+ self assert: (o instVarAt: #foo) equals: nil.
578
+
579
+ o instVarAt: #foo put: 1.
580
+ self assert: (o instVarAt: #foo) equals: 1.
581
+ self assert: (o instVarAt: 'foo') equals: 1
582
+ !
583
+
584
+ testNilUndefined
585
+ "nil in Smalltalk is the undefined object in JS"
586
+
587
+ self assert: nil = undefined
588
+ !
589
+
590
+ testYourself
591
+ | o |
592
+ o := ObjectMock new.
593
+ self assert: o yourself == o
594
+ !
595
+
596
+ testidentityHash
597
+ | o1 o2 |
598
+
599
+ o1 := Object new.
600
+ o2 := Object new.
601
+
602
+ self assert: o1 identityHash == o1 identityHash.
603
+ self deny: o1 identityHash == o2 identityHash
604
+ ! !
605
+
606
+ TestCase subclass: #PackageTest
607
+ instanceVariableNames: 'zorkPackage grulPackage backUpCommitPathJs backUpCommitPathSt'
608
+ package: 'Kernel-Tests'!
609
+
610
+ !PackageTest methodsFor: 'running'!
611
+
612
+ setUp
613
+ backUpCommitPathJs := Package defaultCommitPathJs.
614
+ backUpCommitPathSt := Package defaultCommitPathSt.
615
+
616
+ Package resetCommitPaths.
617
+
618
+ zorkPackage := Package new name: 'Zork'.
619
+ grulPackage := Package new
620
+ name: 'Grul';
621
+ commitPathJs: 'server/grul/js';
622
+ commitPathSt: 'grul/st';
623
+ yourself
624
+ !
625
+
626
+ tearDown
627
+ Package
628
+ defaultCommitPathJs: backUpCommitPathJs;
629
+ defaultCommitPathSt: backUpCommitPathSt
630
+ ! !
631
+
632
+ !PackageTest methodsFor: 'tests'!
633
+
634
+ testGrulCommitPathJsShouldBeServerGrulJs
635
+ self assert: 'server/grul/js' equals: grulPackage commitPathJs
636
+ !
637
+
638
+ testGrulCommitPathStShouldBeGrulSt
639
+ self assert: 'grul/st' equals: grulPackage commitPathSt
640
+ !
641
+
642
+ testZorkCommitPathJsShouldBeJs
643
+ self assert: 'js' equals: zorkPackage commitPathJs
644
+ !
645
+
646
+ testZorkCommitPathStShouldBeSt
647
+ self assert: 'st' equals: zorkPackage commitPathSt
648
+ ! !
649
+
650
+ PackageTest subclass: #PackageWithDefaultCommitPathChangedTest
651
+ instanceVariableNames: ''
652
+ package: 'Kernel-Tests'!
653
+
654
+ !PackageWithDefaultCommitPathChangedTest methodsFor: 'running'!
655
+
656
+ setUp
657
+ super setUp.
658
+
659
+ Package
660
+ defaultCommitPathJs: 'javascripts/';
661
+ defaultCommitPathSt: 'smalltalk/'.
662
+ ! !
663
+
664
+ !PackageWithDefaultCommitPathChangedTest methodsFor: 'tests'!
665
+
666
+ testGrulCommitPathJsShouldBeServerGrulJs
667
+ self assert: 'server/grul/js' equals: grulPackage commitPathJs
668
+ !
669
+
670
+ testGrulCommitPathStShouldBeGrulSt
671
+ self assert: 'grul/st' equals: grulPackage commitPathSt
672
+ !
673
+
674
+ testZorkCommitPathJsShouldBeJavascript
675
+ self assert: 'javascripts/' equals: zorkPackage commitPathJs
676
+ !
677
+
678
+ testZorkCommitPathStShouldBeSmalltalk
679
+ self assert: 'smalltalk/' equals: zorkPackage commitPathSt
680
+ ! !
681
+
682
+ !PackageWithDefaultCommitPathChangedTest class methodsFor: 'accessing'!
683
+
684
+ shouldInheritSelectors
685
+ ^ false
686
+ ! !
687
+
688
+ TestCase subclass: #PointTest
689
+ instanceVariableNames: ''
690
+ package: 'Kernel-Tests'!
691
+
692
+ !PointTest methodsFor: 'tests'!
693
+
694
+ testAccessing
695
+ self assert: (Point x: 3 y: 4) x equals: 3.
696
+ self assert: (Point x: 3 y: 4) y equals: 4.
697
+ self assert: (Point new x: 3) x equals: 3.
698
+ self assert: (Point new y: 4) y equals: 4
699
+ !
700
+
701
+ testArithmetic
702
+ self assert: 3@4 * (3@4 ) equals: (Point x: 9 y: 16).
703
+ self assert: 3@4 + (3@4 ) equals: (Point x: 6 y: 8).
704
+ self assert: 3@4 - (3@4 ) equals: (Point x: 0 y: 0).
705
+ self assert: 6@8 / (3@4 ) equals: (Point x: 2 y: 2)
706
+ !
707
+
708
+ testAt
709
+ self assert: 3@4 equals: (Point x: 3 y: 4)
710
+ !
711
+
712
+ testEgality
713
+ self assert: 3@4 = (3@4).
714
+ self deny: 3@5 = (3@6)
715
+ !
716
+
717
+ testTranslateBy
718
+ self assert: 3@4 equals: (3@3 translateBy: 0@1).
719
+ self assert: 3@2 equals: (3@3 translateBy: 0@1 negated).
720
+ self assert: 5@6 equals: (3@3 translateBy: 2@3).
721
+ self assert: 0@3 equals: (3@3 translateBy: 3 negated @0).
722
+ ! !
723
+
724
+ TestCase subclass: #RandomTest
725
+ instanceVariableNames: ''
726
+ package: 'Kernel-Tests'!
727
+
728
+ !RandomTest methodsFor: 'tests'!
729
+
730
+ textNext
731
+
732
+ 10000 timesRepeat: [
733
+ | current next |
734
+ next := Random new next.
735
+ self assert: (next >= 0).
736
+ self assert: (next < 1).
737
+ self deny: current = next.
738
+ next = current]
739
+ ! !
740
+
741
+ TestCase subclass: #SetTest
742
+ instanceVariableNames: ''
743
+ package: 'Kernel-Tests'!
744
+
745
+ !SetTest methodsFor: 'tests'!
746
+
747
+ testAddRemove
748
+ | set |
749
+ set := Set new.
750
+
751
+ self assert: set isEmpty.
752
+
753
+ set add: 3.
754
+ self assert: (set includes: 3).
755
+
756
+ set add: 5.
757
+ self assert: (set includes: 5).
758
+
759
+ set remove: 3.
760
+ self deny: (set includes: 3)
761
+ !
762
+
763
+ testAt
764
+ self should: [Set new at: 1 put: 2] raise: Error
765
+ !
766
+
767
+ testSize
768
+ self assert: Set new size equals: 0.
769
+ self assert: (Set withAll: #(1 2 3 4)) size equals: 4.
770
+ self assert: (Set withAll: #(1 1 1 1)) size equals: 1
771
+ !
772
+
773
+ testUnicity
774
+ | set |
775
+ set := Set new.
776
+ set add: 21.
777
+ set add: 'hello'.
778
+
779
+ set add: 21.
780
+ self assert: set size = 2.
781
+
782
+ set add: 'hello'.
783
+ self assert: set size = 2.
784
+
785
+ self assert: set asArray equals: #(21 'hello')
786
+ ! !
787
+
788
+ TestCase subclass: #StringTest
789
+ instanceVariableNames: ''
790
+ package: 'Kernel-Tests'!
791
+
792
+ !StringTest methodsFor: 'tests'!
793
+
794
+ testAddRemove
795
+ self should: ['hello' add: 'a'] raise: Error.
796
+ self should: ['hello' remove: 'h'] raise: Error
797
+ !
798
+
799
+ testAsArray
800
+ self assert: 'hello' asArray = #('h' 'e' 'l' 'l' 'o').
801
+ !
802
+
803
+ testAt
804
+ self assert: ('hello' at: 1) = 'h'.
805
+ self assert: ('hello' at: 5) = 'o'.
806
+ self assert: ('hello' at: 6 ifAbsent: [nil]) = nil
807
+ !
808
+
809
+ testAtPut
810
+ "String instances are read-only"
811
+ self should: ['hello' at: 1 put: 'a'] raise: Error
812
+ !
813
+
814
+ testCopyWithoutAll
815
+ self
816
+ assert: 'hello world'
817
+ equals: ('*hello* *world*' copyWithoutAll: '*')
818
+ !
819
+
820
+ testEquality
821
+ self assert: 'hello' = 'hello'.
822
+ self deny: 'hello' = 'world'.
823
+
824
+ self assert: 'hello' = 'hello' yourself.
825
+ self assert: 'hello' yourself = 'hello'.
826
+
827
+ "test JS falsy value"
828
+ self deny: '' = 0
829
+ !
830
+
831
+ testIncludesSubString
832
+ self assert: ('amber' includesSubString: 'ber').
833
+ self deny: ('amber' includesSubString: 'zork').
834
+ !
835
+
836
+ testJoin
837
+ self assert: 'hello,world' equals: (',' join: #('hello' 'world'))
838
+ !
839
+
840
+ testSize
841
+ self assert: 'smalltalk' size equals: 9.
842
+ self assert: '' size equals: 0
843
+ !
844
+
845
+ testStreamContents
846
+ self
847
+ assert: 'hello world'
848
+ equals: (String streamContents: [:aStream| aStream
849
+ nextPutAll: 'hello'; space;
850
+ nextPutAll: 'world'])
851
+ ! !
852
+
853
+ TestCase subclass: #SymbolTest
854
+ instanceVariableNames: ''
855
+ package: 'Kernel-Tests'!
856
+
857
+ !SymbolTest methodsFor: 'tests'!
858
+
859
+ testAsString
860
+ self assert: #hello asString equals: 'hello'
861
+ !
862
+
863
+ testAsSymbol
864
+ self assert: #hello == #hello asSymbol
865
+ !
866
+
867
+ testAt
868
+ self assert: (#hello at: 1) = 'h'.
869
+ self assert: (#hello at: 5) = 'o'.
870
+ self assert: (#hello at: 6 ifAbsent: [nil]) = nil
871
+ !
872
+
873
+ testAtPut
874
+ "Symbol instances are read-only"
875
+ self should: ['hello' at: 1 put: 'a'] raise: Error
876
+ !
877
+
878
+ testComparing
879
+ self assert: #ab > #aa.
880
+ self deny: #ab > #ba.
881
+
882
+ self assert: #ab < #ba.
883
+ self deny: #bb < #ba.
884
+
885
+ self assert: #ab >= #aa.
886
+ self deny: #ab >= #ba.
887
+
888
+ self assert: #ab <= #ba.
889
+ self deny: #bb <= #ba
890
+ !
891
+
892
+ testCopying
893
+ self assert: #hello copy == #hello.
894
+ self assert: #hello deepCopy == #hello
895
+ !
896
+
897
+ testEquality
898
+ self assert: #hello = #hello.
899
+ self deny: #hello = #world.
900
+
901
+ self assert: #hello = #hello yourself.
902
+ self assert: #hello yourself = #hello.
903
+
904
+ self deny: #hello = 'hello'.
905
+ self deny: 'hello' = #hello.
906
+ !
907
+
908
+ testIdentity
909
+ self assert: #hello == #hello.
910
+ self deny: #hello == #world.
911
+
912
+ self assert: #hello = #hello yourself.
913
+ self assert: #hello yourself = #hello asString asSymbol
914
+ !
915
+
916
+ testIsSymbolIsString
917
+ self assert: #hello isSymbol.
918
+ self deny: 'hello' isSymbol.
919
+ self deny: #hello isString.
920
+ self assert: 'hello' isString
921
+ !
922
+
923
+ testSize
924
+ self assert: #a size equals: 1.
925
+ self assert: #aaaaa size equals: 5
926
+ ! !
927
+
928
+ TestCase subclass: #UndefinedTest
929
+ instanceVariableNames: ''
930
+ package: 'Kernel-Tests'!
931
+
932
+ !UndefinedTest methodsFor: 'tests'!
933
+
934
+ testCopying
935
+ self assert: nil copy equals: nil
936
+ !
937
+
938
+ testDeepCopy
939
+ self assert: nil deepCopy = nil
940
+ !
941
+
942
+ testIfNil
943
+ self assert: (nil ifNil: [true]) equals: true.
944
+ self deny: (nil ifNotNil: [true]) = true.
945
+ self assert: (nil ifNil: [true] ifNotNil: [false]) equals: true.
946
+ self deny: (nil ifNotNil: [true] ifNil: [false]) = true
947
+ !
948
+
949
+ testIsNil
950
+ self assert: nil isNil.
951
+ self deny: nil notNil.
952
+ ! !
953
+