opal 0.2.2 → 0.3.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 (325) hide show
  1. data/.gitignore +5 -10
  2. data/LICENSE +75 -0
  3. data/README.md +55 -3
  4. data/Rakefile +62 -139
  5. data/bin/opal +7 -10
  6. data/gems/core/README.md +5 -0
  7. data/gems/core/Rakefile +7 -0
  8. data/gems/core/core.gemspec +13 -0
  9. data/gems/core/lib/core.rb +33 -0
  10. data/gems/core/lib/core/array.rb +1470 -0
  11. data/gems/core/lib/core/basic_object.rb +15 -0
  12. data/gems/core/lib/core/class.rb +31 -0
  13. data/gems/core/lib/core/dir.rb +26 -0
  14. data/gems/core/lib/core/error.rb +43 -0
  15. data/gems/core/lib/core/false_class.rb +21 -0
  16. data/gems/core/lib/core/file.rb +54 -0
  17. data/gems/core/lib/core/hash.rb +725 -0
  18. data/gems/core/lib/core/kernel.rb +240 -0
  19. data/gems/core/lib/core/module.rb +98 -0
  20. data/gems/core/lib/core/nil_class.rb +41 -0
  21. data/gems/core/lib/core/numeric.rb +370 -0
  22. data/gems/core/lib/core/proc.rb +11 -0
  23. data/gems/core/lib/core/range.rb +17 -0
  24. data/gems/core/lib/core/regexp.rb +18 -0
  25. data/gems/core/lib/core/string.rb +328 -0
  26. data/gems/core/lib/core/symbol.rb +15 -0
  27. data/gems/core/lib/core/top_self.rb +8 -0
  28. data/gems/core/lib/core/true_class.rb +20 -0
  29. data/gems/core/lib/core/vm.rb +16 -0
  30. data/{opals/opal/opal → gems/core}/spec/core/array/append_spec.rb +0 -0
  31. data/{opals/opal/opal → gems/core}/spec/core/array/assoc_spec.rb +0 -0
  32. data/{opals/opal/opal → gems/core}/spec/core/array/at_spec.rb +0 -0
  33. data/{opals/opal/opal → gems/core}/spec/core/array/clear_spec.rb +1 -1
  34. data/{opals/opal/opal → gems/core}/spec/core/array/collect_bang_spec.rb +0 -0
  35. data/{opals/opal/opal → gems/core}/spec/core/array/collect_spec.rb +0 -0
  36. data/gems/core/spec/core/array/compact_spec.rb +41 -0
  37. data/{opals/opal/opal → gems/core}/spec/core/array/concat_spec.rb +0 -0
  38. data/{opals/opal/opal → gems/core}/spec/core/array/constructor_spec.rb +0 -0
  39. data/{opals/opal/opal → gems/core}/spec/core/array/each_spec.rb +0 -0
  40. data/{opals/opal/opal → gems/core}/spec/core/array/element_reference_spec.rb +0 -0
  41. data/{opals/opal/opal → gems/core}/spec/core/array/first_spec.rb +1 -1
  42. data/{opals/opal/opal → gems/core}/spec/core/array/include_spec.rb +0 -0
  43. data/gems/core/spec/core/array/join_spec.rb +6 -0
  44. data/gems/core/spec/core/array/last_spec.rb +51 -0
  45. data/gems/core/spec/core/array/length_spec.rb +6 -0
  46. data/{opals/opal/opal → gems/core}/spec/core/array/map_spec.rb +2 -0
  47. data/gems/core/spec/core/array/reverse_spec.rb +6 -0
  48. data/{opals/opal/opal → gems/core}/spec/core/builtin_constants/builtin_constants_spec.rb +0 -0
  49. data/{opals/opal/opal → gems/core}/spec/core/false/and_spec.rb +0 -0
  50. data/{opals/opal/opal → gems/core}/spec/core/false/inspect_spec.rb +0 -0
  51. data/{opals/opal/opal → gems/core}/spec/core/false/or_spec.rb +0 -0
  52. data/{opals/opal/opal → gems/core}/spec/core/false/to_s_spec.rb +0 -0
  53. data/{opals/opal/opal → gems/core}/spec/core/false/xor_spec.rb +0 -0
  54. data/{opals/opal/opal → gems/core}/spec/core/file/join_spec.rb +1 -1
  55. data/gems/core/spec/core/hash/assoc_spec.rb +32 -0
  56. data/{opals/opal/opal → gems/core}/spec/core/kernel/instance_eval_spec.rb +0 -0
  57. data/{opals/opal/opal → gems/core}/spec/core/kernel/loop_spec.rb +0 -0
  58. data/{opals/opal/opal → gems/core}/spec/core/kernel/raise_spec.rb +0 -0
  59. data/{opals/opal/opal → gems/core}/spec/core/module/attr_accessor_spec.rb +0 -0
  60. data/{opals/opal/opal → gems/core}/spec/core/number/lt_spec.rb +0 -0
  61. data/gems/core/spec/core/string/sub_spec.rb +24 -0
  62. data/{opals/opal/opal → gems/core}/spec/core/true/and_spec.rb +0 -0
  63. data/{opals/opal/opal → gems/core}/spec/core/true/inspect_spec.rb +0 -0
  64. data/{opals/opal/opal → gems/core}/spec/core/true/or_spec.rb +0 -0
  65. data/{opals/opal/opal → gems/core}/spec/core/true/to_s_spec.rb +0 -0
  66. data/{opals/opal/opal → gems/core}/spec/core/true/xor_spec.rb +0 -0
  67. data/{opals/opal/opal → gems/core}/spec/language/and_spec.rb +2 -3
  68. data/{opals/opal/opal → gems/core}/spec/language/array_spec.rb +21 -5
  69. data/gems/core/spec/language/block_spec.rb +38 -0
  70. data/{opals/opal/opal → gems/core}/spec/language/break_spec.rb +0 -0
  71. data/gems/core/spec/language/case_spec.rb +103 -0
  72. data/{opals/opal/opal → gems/core}/spec/language/def_spec.rb +11 -1
  73. data/{opals/opal/opal → gems/core}/spec/language/eigenclass_spec.rb +0 -0
  74. data/gems/core/spec/language/file_spec.rb +13 -0
  75. data/gems/core/spec/language/fixtures/block.rb +21 -0
  76. data/gems/core/spec/language/fixtures/super.rb +293 -0
  77. data/{opals/opal/opal → gems/core}/spec/language/hash_spec.rb +0 -0
  78. data/{opals/opal/opal → gems/core}/spec/language/if_spec.rb +0 -0
  79. data/{opals/opal/opal → gems/core}/spec/language/loop_spec.rb +0 -0
  80. data/gems/core/spec/language/metaclass_spec.rb +21 -0
  81. data/{opals/opal/opal → gems/core}/spec/language/method_spec.rb +60 -0
  82. data/{opals/opal/opal → gems/core}/spec/language/next_spec.rb +0 -0
  83. data/{opals/opal/opal → gems/core}/spec/language/or_spec.rb +0 -0
  84. data/{opals/opal/opal → gems/core}/spec/language/redo_spec.rb +0 -0
  85. data/gems/core/spec/language/regexp_spec.rb +26 -0
  86. data/{opals/opal/opal → gems/core}/spec/language/rescue_spec.rb +0 -0
  87. data/{opals/opal/opal → gems/core}/spec/language/return_spec.rb +0 -0
  88. data/{opals/opal/opal → gems/core}/spec/language/string_spec.rb +0 -0
  89. data/gems/core/spec/language/super_spec.rb +32 -0
  90. data/{opals/opal/opal → gems/core}/spec/language/until_spec.rb +47 -47
  91. data/gems/core/spec/language/variables_spec.rb +155 -0
  92. data/{opals/opal/opal → gems/core}/spec/language/while_spec.rb +47 -47
  93. data/{opals/opal/opal → gems/core}/spec/spec_helper.rb +1 -1
  94. data/gems/core_fs/README.md +19 -0
  95. data/gems/dev/Rakefile +5 -0
  96. data/gems/dev/lib/dev.js +99 -0
  97. data/gems/dev/lib/dev/generator.js +1264 -0
  98. data/gems/dev/lib/dev/parser.js +979 -0
  99. data/gems/dev/lib/dev/ruby_parser.js +1088 -0
  100. data/gems/dev/lib/dev/ruby_parser.y +1267 -0
  101. data/gems/dev/lib/dev/string_scanner.js +38 -0
  102. data/gems/dev/tools/racc2js/README.md +39 -0
  103. data/gems/dev/tools/racc2js/math_parser.js +222 -0
  104. data/gems/dev/tools/racc2js/math_parser.rb +133 -0
  105. data/gems/dev/tools/racc2js/math_parser.y +28 -0
  106. data/gems/dev/tools/racc2js/parser.js +218 -0
  107. data/gems/dev/tools/racc2js/racc2js.rb +153 -0
  108. data/gems/json/README.md +4 -0
  109. data/gems/json/json.gemspec +14 -0
  110. data/gems/json/lib/json.rb +64 -0
  111. data/gems/json/lib/json/ext.rb +51 -0
  112. data/{opals/opal/browser/lib/browser/json_parse.js → gems/json/lib/json/json2.js} +197 -37
  113. data/gems/ospec/README.md +0 -0
  114. data/gems/ospec/lib/ospec.rb +6 -0
  115. data/gems/ospec/lib/ospec/autorun.rb +3 -0
  116. data/gems/ospec/lib/ospec/dsl.rb +15 -0
  117. data/gems/ospec/lib/ospec/example.rb +11 -0
  118. data/gems/ospec/lib/ospec/example/before_and_after_hooks.rb +56 -0
  119. data/gems/ospec/lib/ospec/example/errors.rb +17 -0
  120. data/gems/ospec/lib/ospec/example/example_group.rb +12 -0
  121. data/gems/ospec/lib/ospec/example/example_group_factory.rb +21 -0
  122. data/gems/ospec/lib/ospec/example/example_group_hierarchy.rb +20 -0
  123. data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/example/example_group_methods.rb +26 -68
  124. data/gems/ospec/lib/ospec/example/example_group_proxy.rb +14 -0
  125. data/gems/ospec/lib/ospec/example/example_methods.rb +46 -0
  126. data/gems/ospec/lib/ospec/example/example_proxy.rb +18 -0
  127. data/gems/ospec/lib/ospec/expectations.rb +19 -0
  128. data/gems/ospec/lib/ospec/expectations/errors.rb +8 -0
  129. data/gems/ospec/lib/ospec/expectations/fail_with.rb +8 -0
  130. data/gems/ospec/lib/ospec/expectations/handler.rb +27 -0
  131. data/gems/ospec/lib/ospec/matchers.rb +24 -0
  132. data/{opals/opal/Rakefile → gems/ospec/lib/ospec/matchers/be.rb} +0 -0
  133. data/gems/ospec/lib/ospec/matchers/generated_descriptions.rb +20 -0
  134. data/gems/ospec/lib/ospec/matchers/operator_matcher.rb +52 -0
  135. data/gems/ospec/lib/ospec/runner.rb +40 -0
  136. data/gems/ospec/lib/ospec/runner/example_group_runner.rb +44 -0
  137. data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/runner/formatter/html_formatter.rb +31 -40
  138. data/gems/ospec/lib/ospec/runner/formatter/terminal_formatter.rb +48 -0
  139. data/gems/ospec/lib/ospec/runner/options.rb +36 -0
  140. data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/runner/reporter.rb +23 -55
  141. data/gems/ospec/ospec.gemspec +0 -0
  142. data/gems/rquery/README.md +9 -0
  143. data/gems/rquery/lib/rquery.rb +10 -0
  144. data/gems/rquery/lib/rquery/ajax.rb +4 -0
  145. data/gems/rquery/lib/rquery/css.rb +96 -0
  146. data/gems/rquery/lib/rquery/document.rb +25 -0
  147. data/gems/rquery/lib/rquery/element.rb +292 -0
  148. data/gems/rquery/lib/rquery/event.rb +108 -0
  149. data/gems/rquery/lib/rquery/jquery.js +8177 -0
  150. data/gems/rquery/lib/rquery/request.rb +138 -0
  151. data/gems/rquery/lib/rquery/response.rb +49 -0
  152. data/gems/rquery/rquery.gemspec +16 -0
  153. data/lib/opal.js +1597 -0
  154. data/lib/opal.rb +6 -69
  155. data/lib/opal/builder.rb +115 -0
  156. data/lib/opal/bundle.rb +131 -0
  157. data/lib/opal/command.rb +11 -0
  158. data/lib/opal/context.rb +69 -0
  159. data/lib/opal/context/console.rb +12 -0
  160. data/lib/opal/context/file_system.rb +19 -0
  161. data/lib/opal/context/loader.rb +117 -0
  162. data/lib/opal/gem.rb +153 -0
  163. data/lib/opal/ruby/nodes.rb +1302 -0
  164. data/lib/opal/ruby/parser.rb +780 -0
  165. data/lib/opal/ruby/ruby_parser.rb +5170 -0
  166. data/lib/opal/ruby/ruby_parser.y +1298 -0
  167. data/opal.gemspec +11 -256
  168. metadata +179 -240
  169. data/.gitmodules +0 -6
  170. data/Opalfile +0 -384
  171. data/VERSION +0 -1
  172. data/demos/apps/browser_demo/index.html +0 -11
  173. data/demos/apps/browser_demo/lib/browser_demo.rb +0 -31
  174. data/demos/apps/simple_opal/Opalfile +0 -13
  175. data/demos/apps/simple_opal/index.html +0 -11
  176. data/demos/apps/simple_opal/lib/app_controller.rb +0 -62
  177. data/demos/apps/simple_opal/lib/main_window.rb +0 -146
  178. data/demos/browser/request/index.html +0 -52
  179. data/demos/browser/request/request.rb +0 -48
  180. data/gen/browser/__PROJECT_NAME__/Rakefile +0 -12
  181. data/gen/browser/__PROJECT_NAME__/index.html +0 -11
  182. data/gen/browser/__PROJECT_NAME__/javascripts/opal.debug.js +0 -4687
  183. data/gen/browser/__PROJECT_NAME__/javascripts/opal.min.js +0 -175
  184. data/gen/browser/__PROJECT_NAME__/lib/__PROJECT_NAME__.rb +0 -1
  185. data/lib/opal/builders/base.rb +0 -50
  186. data/lib/opal/builders/css.rb +0 -46
  187. data/lib/opal/builders/javascript.rb +0 -44
  188. data/lib/opal/builders/opal.rb +0 -79
  189. data/lib/opal/builders/ruby.rb +0 -50
  190. data/lib/opal/builders/ruby/generate.rb +0 -1851
  191. data/lib/opal/builders/ruby/nodes.rb +0 -210
  192. data/lib/opal/builders/ruby/ruby.rb +0 -916
  193. data/lib/opal/builders/ruby/ruby_parser.rb +0 -6008
  194. data/lib/opal/builders/ruby/ruby_parser.rb.y +0 -1451
  195. data/lib/opal/models/build_item.rb +0 -104
  196. data/lib/opal/models/hash_struct.rb +0 -40
  197. data/lib/opal/models/project.rb +0 -252
  198. data/lib/opal/models/struct_accessors.rb +0 -58
  199. data/lib/opal/models/target.rb +0 -176
  200. data/lib/opal/opal/build.rb +0 -169
  201. data/lib/opal/opal/env/console.rb +0 -66
  202. data/lib/opal/opal/env/fs.rb +0 -98
  203. data/lib/opal/opal/env/object.rb +0 -48
  204. data/lib/opal/opal/environment.rb +0 -139
  205. data/lib/opal/opal/gen.rb +0 -62
  206. data/lib/opal/opal/opal.rb +0 -75
  207. data/lib/opal/opal/repl.rb +0 -38
  208. data/lib/opal/opalfile/dsl.rb +0 -62
  209. data/lib/opal/opalfile/opalfile.rb +0 -133
  210. data/lib/opal/opalfile/task.rb +0 -96
  211. data/lib/opal/opalfile/task_manager.rb +0 -63
  212. data/lib/opal/opalfile/task_scope.rb +0 -52
  213. data/lib/opal/rack/app_server.rb +0 -119
  214. data/lib/opal/rake/opal_task.rb +0 -34
  215. data/opals/opal/README.md +0 -37
  216. data/opals/opal/browser/Opalfile +0 -11
  217. data/opals/opal/browser/README.md +0 -146
  218. data/opals/opal/browser/SIZZLE_LICESNSE.txt +0 -148
  219. data/opals/opal/browser/lib/browser.rb +0 -118
  220. data/opals/opal/browser/lib/browser/builder.rb +0 -41
  221. data/opals/opal/browser/lib/browser/canvas_context.rb +0 -115
  222. data/opals/opal/browser/lib/browser/dimensions.rb +0 -50
  223. data/opals/opal/browser/lib/browser/document.rb +0 -146
  224. data/opals/opal/browser/lib/browser/element.rb +0 -487
  225. data/opals/opal/browser/lib/browser/element/attributes.rb +0 -88
  226. data/opals/opal/browser/lib/browser/element/css.rb +0 -290
  227. data/opals/opal/browser/lib/browser/element/form.rb +0 -146
  228. data/opals/opal/browser/lib/browser/event/dom_events.rb +0 -81
  229. data/opals/opal/browser/lib/browser/event/event.rb +0 -177
  230. data/opals/opal/browser/lib/browser/event/trigger_events.rb +0 -53
  231. data/opals/opal/browser/lib/browser/geometry.rb +0 -97
  232. data/opals/opal/browser/lib/browser/json.rb +0 -32
  233. data/opals/opal/browser/lib/browser/request/request.rb +0 -201
  234. data/opals/opal/browser/lib/browser/sizzle.js +0 -1068
  235. data/opals/opal/browser/lib/browser/string.rb +0 -42
  236. data/opals/opal/browser/lib/browser/touch.rb +0 -37
  237. data/opals/opal/browser/lib/browser/vml_context.js +0 -33
  238. data/opals/opal/browser/lib/browser/window.rb +0 -36
  239. data/opals/opal/browser/spec/browser/browser_detection_spec.rb +0 -7
  240. data/opals/opal/browser/spec/document/aref_spec.rb +0 -110
  241. data/opals/opal/browser/spec/document/ready_spec.rb +0 -16
  242. data/opals/opal/browser/spec/element/body_spec.rb +0 -11
  243. data/opals/opal/browser/spec/element/clear_spec.rb +0 -26
  244. data/opals/opal/browser/spec/element/empty_spec.rb +0 -29
  245. data/opals/opal/browser/spec/element/has_class_spec.rb +0 -40
  246. data/opals/opal/browser/spec/element/hidden_spec.rb +0 -23
  247. data/opals/opal/browser/spec/element/hide_spec.rb +0 -31
  248. data/opals/opal/browser/spec/element/remove_spec.rb +0 -25
  249. data/opals/opal/browser/spec/element/show_spec.rb +0 -31
  250. data/opals/opal/browser/spec/element/style_spec.rb +0 -69
  251. data/opals/opal/browser/spec/element/toggle_spec.rb +0 -31
  252. data/opals/opal/browser/spec/element/visible_spec.rb +0 -23
  253. data/opals/opal/browser/spec/spec_helper.rb +0 -1
  254. data/opals/opal/opal/Opalfile +0 -14
  255. data/opals/opal/opal/spec/core/array/compact_spec.rb +0 -15
  256. data/opals/opal/opal/spec/fixtures/super.rb +0 -70
  257. data/opals/opal/opal/spec/language/____temp_remove_this.rb +0 -12
  258. data/opals/opal/opal/spec/language/block_spec.rb +0 -18
  259. data/opals/opal/opal/spec/language/case_spec.rb +0 -103
  260. data/opals/opal/opal/spec/language/metaclass_spec.rb +0 -21
  261. data/opals/opal/opal/spec/language/super_spec.rb +0 -26
  262. data/opals/opal/runtime/Opalfile +0 -78
  263. data/opals/opal/runtime/README.md +0 -12
  264. data/opals/opal/runtime/docs/debugging.md +0 -51
  265. data/opals/opal/runtime/lib/array.rb +0 -1516
  266. data/opals/opal/runtime/lib/basic_object.rb +0 -49
  267. data/opals/opal/runtime/lib/class.rb +0 -54
  268. data/opals/opal/runtime/lib/dir.rb +0 -36
  269. data/opals/opal/runtime/lib/error.rb +0 -49
  270. data/opals/opal/runtime/lib/false_class.rb +0 -52
  271. data/opals/opal/runtime/lib/file.rb +0 -79
  272. data/opals/opal/runtime/lib/hash.rb +0 -791
  273. data/opals/opal/runtime/lib/io.rb +0 -39
  274. data/opals/opal/runtime/lib/kernel.rb +0 -288
  275. data/opals/opal/runtime/lib/match_data.rb +0 -36
  276. data/opals/opal/runtime/lib/module.rb +0 -109
  277. data/opals/opal/runtime/lib/nil_class.rb +0 -69
  278. data/opals/opal/runtime/lib/number.rb +0 -398
  279. data/opals/opal/runtime/lib/proc.rb +0 -77
  280. data/opals/opal/runtime/lib/range.rb +0 -63
  281. data/opals/opal/runtime/lib/regexp.rb +0 -111
  282. data/opals/opal/runtime/lib/ruby.rb +0 -30
  283. data/opals/opal/runtime/lib/string.rb +0 -328
  284. data/opals/opal/runtime/lib/symbol.rb +0 -40
  285. data/opals/opal/runtime/lib/top_self.rb +0 -33
  286. data/opals/opal/runtime/lib/true_class.rb +0 -45
  287. data/opals/opal/runtime/runtime/browser.js +0 -287
  288. data/opals/opal/runtime/runtime/debug.js +0 -180
  289. data/opals/opal/runtime/runtime/opal.js +0 -1008
  290. data/opals/opal/runtime/runtime/post_opal.js +0 -1
  291. data/opals/opal/runtime/runtime/pre_opal.js +0 -2
  292. data/opals/opal/runtime/runtime/server_side.js +0 -50
  293. data/opals/opal/spec/LICENSE.txt +0 -26
  294. data/opals/opal/spec/Opalfile +0 -5
  295. data/opals/opal/spec/bin/spec.rb +0 -43
  296. data/opals/opal/spec/lib/spec.rb +0 -33
  297. data/opals/opal/spec/lib/spec/dsl.rb +0 -41
  298. data/opals/opal/spec/lib/spec/example.rb +0 -35
  299. data/opals/opal/spec/lib/spec/example/before_and_after_hooks.rb +0 -81
  300. data/opals/opal/spec/lib/spec/example/errors.rb +0 -42
  301. data/opals/opal/spec/lib/spec/example/example_group.rb +0 -37
  302. data/opals/opal/spec/lib/spec/example/example_group_factory.rb +0 -43
  303. data/opals/opal/spec/lib/spec/example/example_group_hierarchy.rb +0 -45
  304. data/opals/opal/spec/lib/spec/example/example_group_proxy.rb +0 -41
  305. data/opals/opal/spec/lib/spec/example/example_methods.rb +0 -73
  306. data/opals/opal/spec/lib/spec/example/example_proxy.rb +0 -48
  307. data/opals/opal/spec/lib/spec/expectations.rb +0 -46
  308. data/opals/opal/spec/lib/spec/expectations/errors.rb +0 -35
  309. data/opals/opal/spec/lib/spec/expectations/fail_with.rb +0 -37
  310. data/opals/opal/spec/lib/spec/expectations/handler.rb +0 -48
  311. data/opals/opal/spec/lib/spec/matchers.rb +0 -50
  312. data/opals/opal/spec/lib/spec/matchers/be.rb +0 -26
  313. data/opals/opal/spec/lib/spec/matchers/generated_descriptions.rb +0 -47
  314. data/opals/opal/spec/lib/spec/matchers/operator_matcher.rb +0 -66
  315. data/opals/opal/spec/lib/spec/runner.rb +0 -48
  316. data/opals/opal/spec/lib/spec/runner/example_group_runner.rb +0 -71
  317. data/opals/opal/spec/lib/spec/runner/formatter/terminal_formatter.rb +0 -82
  318. data/opals/opal/spec/lib/spec/runner/options.rb +0 -63
  319. data/opals/opal/spec/resources/index.html +0 -25
  320. data/opals/opal/spec/resources/spec.css +0 -132
  321. data/spec/cherry_kit/iseq_spec.rb +0 -38
  322. data/spec/spec_helper.rb +0 -16
  323. data/spec/vienna_spec.rb +0 -7
  324. data/yard/index.html +0 -43
  325. data/yard/style.css +0 -765
@@ -1,25 +0,0 @@
1
-
2
- describe "Element#remove" do
3
-
4
- before(:all) do
5
- elem = Element.new :div, :id => "element_remove_spec"
6
-
7
- elem.html = [
8
- "<div id='remove_spec_1'></div>",
9
- "<div id='remove_spec_2'></div>"
10
- ].join("")
11
-
12
- Document.body << elem
13
- end
14
-
15
- it "should remove the receiver from its parent, but not delete it" do
16
- e = Document[:element_remove_spec]
17
- Document[:remove_spec_1].remove
18
- Document[:remove_spec_2].remove
19
- e.empty?.should == true
20
- end
21
-
22
- after :all do
23
- Document[:element_remove_spec].remove
24
- end
25
- end
@@ -1,31 +0,0 @@
1
-
2
- describe "Element#show" do
3
-
4
- before(:all) do
5
- elem = Element.new :div, :id => "element_show_spec"
6
-
7
- elem.html = [
8
- "<div id='testing_show_hidden' style='display: none;'></div>",
9
- "<div id='testing_show_visible'></div>"
10
- ].join("")
11
-
12
- Document.body << elem
13
- end
14
-
15
- it "should show elements on the page" do
16
- Document[:testing_show_hidden].show
17
- Document[:testing_show_hidden].visible?.should == true
18
- Document[:testing_show_hidden].hidden?.should == false
19
- end
20
-
21
- it "should leave already visible elements visible" do
22
- Document[:testing_show_visible].show
23
- Document[:testing_show_visible].visible?.should == true
24
- Document[:testing_show_visible].hidden?.should == false
25
- end
26
-
27
- after :all do
28
- Document[:element_show_spec].remove
29
- end
30
-
31
- end
@@ -1,69 +0,0 @@
1
-
2
- describe "Element#style" do
3
-
4
- before(:all) do
5
- elem = Element.new :div, :id => "element_style_spec"
6
-
7
- elem.html = [
8
- "<div id='testing_string' style='display: none;'></div>",
9
- "<div id='testing_string2' style='background: red;'></div>",
10
- "<div id='testing_string3' style='background-color: blue;'></div>"
11
- ].join("")
12
-
13
- Document.body << elem
14
- end
15
-
16
- it "should return a CSS property when given a string" do
17
- Document[:testing_string].style('display').should == "none"
18
- Document[:testing_string2].style('background').should == "red"
19
- end
20
-
21
- it "should accept and convert snakecase names to camelcase" do
22
- Document[:testing_string3].style('background_color').should == "blue"
23
- end
24
-
25
- it "should accept and convert hyphencase names to camelcase" do
26
- Document[:testing_string3].style('background-color').should == "blue"
27
- end
28
-
29
- it "should just use camelcase names as they are" do
30
- Document[:testing_string3].style('backgroundColor').should == "blue"
31
- end
32
-
33
- it "should return an empty string for non-existant style names" do
34
- Document[:testing_string3].style('some-stupid-name-qwery').should == ""
35
- end
36
-
37
- it "should allow symbols to be used instead of strings" do
38
- Document[:testing_string3].style(:background_color).should == "blue"
39
- end
40
-
41
- it "sets each hash property in turn on the element" do
42
- Document[:testing_string].style :display => ''
43
- Document[:testing_string].style('display').should == ''
44
- Document[:testing_string].visible?.should == true
45
- end
46
-
47
- it "returns a StyleDeclaration instance for the element when no params" do
48
- s = Document[:testing_string].style
49
- s.class.should == Element::StyleDeclaration
50
- end
51
-
52
- it "StyleDeclaration#[] performs in the same way as #style when string" do
53
- Document[:testing_string3].style['backgroundColor'].should == "blue"
54
- Document[:testing_string3].style['background_color'].should == "blue"
55
- Document[:testing_string3].style[:background_color].should == "blue"
56
- end
57
-
58
- it "StyleDeclaration#[]= should perform in the same way as #style hash" do
59
- Document[:testing_string3].style[:display] = "none"
60
- Document[:testing_string3].visible?.should == false
61
- Document[:testing_string3].style[:display] = ""
62
- Document[:testing_string3].visible?.should == true
63
- end
64
-
65
- after :all do
66
- Document[:element_style_spec].remove
67
- end
68
-
69
- end
@@ -1,31 +0,0 @@
1
-
2
- describe "Element#toggle" do
3
-
4
- before(:all) do
5
- elem = Element.new :div, :id => "element_toggle_spec"
6
-
7
- elem.html = [
8
- "<div id='testing_toggle_hidden' style='display: none;'></div>",
9
- "<div id='testing_toggle_visible'></div>"
10
- ].join("")
11
-
12
- Document.body << elem
13
- end
14
-
15
- it "should show elements that are currently hidden" do
16
- Document[:testing_toggle_hidden].toggle
17
- Document[:testing_toggle_hidden].visible?.should == true
18
- Document[:testing_toggle_hidden].hidden?.should == false
19
- end
20
-
21
- it "should hide elements that are currently visible" do
22
- Document[:testing_toggle_visible].toggle
23
- Document[:testing_toggle_visible].visible?.should == false
24
- Document[:testing_toggle_visible].hidden?.should == true
25
- end
26
-
27
- after :all do
28
- Document[:element_toggle_spec].remove
29
- end
30
-
31
- end
@@ -1,23 +0,0 @@
1
-
2
- describe "Element#visible?" do
3
-
4
- before(:all) do
5
- elem = Element.new :div, :id => "element_visible_spec"
6
-
7
- elem.html = [
8
- "<div id='testing_visible'></div>",
9
- "<div id='testing_not_visible' style='display: none;'></div>"
10
- ].join("")
11
-
12
- Document.body << elem
13
- end
14
-
15
- it "should correctly identify elements that are visible" do
16
- Document[:testing_visible].visible?.should == true
17
- Document[:testing_not_visible].visible?.should == false
18
- end
19
-
20
- after :all do
21
- Document[:element_visible_spec].remove
22
- end
23
- end
@@ -1 +0,0 @@
1
- require 'browser'
@@ -1,14 +0,0 @@
1
- mode :all do
2
- config :opal,
3
-
4
- :required => [:runtime]
5
-
6
- end
7
-
8
- mode :spec do
9
- config :opal,
10
-
11
- :lib_directories => ['spec'],
12
- :bin_file => :spec
13
-
14
- end
@@ -1,15 +0,0 @@
1
-
2
- describe "Array#compact" do
3
- it "returns a copy of array with all nil elements removed" do
4
- a = [1, 2, 4]
5
- a.compact.should == [1, 2, 4]
6
- a = [1, nil, 2, 4]
7
- a.compact.should == [1, 2, 4]
8
- a = [1, 2, 4, nil]
9
- a.compact.should == [1, 2, 4]
10
- a = [nil, 1, 2, 4]
11
- a.compact.should == [1, 2, 4]
12
- end
13
-
14
- # it "does not return self"
15
- end
@@ -1,70 +0,0 @@
1
- module Super
2
- module S1
3
- class A
4
- def foo(a)
5
- a << "A#foo"
6
- bar(a)
7
- end
8
- def bar(a)
9
- a << "A#bar"
10
- end
11
- end
12
- class B < A
13
- def foo(a)
14
- a << "B#foo"
15
- super(a)
16
- end
17
- def bar(a)
18
- a << "B#bar"
19
- super(a)
20
- end
21
- end
22
- end
23
-
24
- module S2
25
- class A
26
- def baz(a)
27
- a << "A#baz"
28
- end
29
- end
30
- class B < A
31
- def foo(a)
32
- a << "B#foo"
33
- baz(a)
34
- end
35
- end
36
- class C < B
37
- def baz(a)
38
- a << "C#baz"
39
- super(a)
40
- end
41
- end
42
- end
43
-
44
- module S3
45
- class A
46
- def foo(a)
47
- a << "A#foo"
48
- end
49
- def self.foo(a)
50
- a << "A::foo"
51
- end
52
- def self.bar(a)
53
- a << "A::bar"
54
- foo(a)
55
- end
56
- end
57
- class B < A
58
- def self.foo(a)
59
- a << "B::foo"
60
- super(a)
61
- end
62
- def self.bar(a)
63
- a << "B::bar"
64
- super(a)
65
- end
66
- end
67
- end
68
-
69
-
70
- end
@@ -1,12 +0,0 @@
1
- # testing remove need for mid_to_jsid client side
2
- # adam = nil
3
-
4
- # adam.beynon
5
- # adam.beynon = 10
6
-
7
- def testing_super(a, b, c)
8
- super
9
- super()
10
- super a, b
11
- super a
12
- end
@@ -1,18 +0,0 @@
1
-
2
- describe "Block parameters" do
3
- it "does not override a shodowed variable from the outer scope" do
4
- i = 0
5
- a = [1, 2, 3]
6
- a.each { |i| ;}
7
- i.should == 0
8
- end
9
-
10
- it "captures variables from the outer scope" do
11
- a = [1, 2, 3]
12
- sum = 0
13
- vari = nil
14
- a.each { |vari| sum = sum + vari }
15
- sum.should == 6
16
- vari.should == nil
17
- end
18
- end
@@ -1,103 +0,0 @@
1
-
2
- describe "The 'case'-construct" do
3
- it "evaluates the body of the when clause matching the case target expression" do
4
- case 1
5
- when 2; false
6
- when 1; true
7
- end.should == true
8
- end
9
-
10
- it "evaluates the body of the when clause whose array expression includes the case target expression" do
11
- case 2
12
- when 3, 4; false
13
- when 1, 2; true
14
- end.should == true
15
- end
16
-
17
- it "evaluates the body of the when clause in left-to-right order if it's an array expression" do
18
- @calls = []
19
- def foo; @calls << :foo; end
20
- def bar; @calls << :bar; end
21
-
22
- case true
23
- when foo, bar;
24
- end
25
-
26
- @calls.should == [:foo, :bar]
27
- end
28
-
29
- it "evaluates the body of the when clause whose range expression includes the case target expression" do
30
- case 5
31
- when 21..30; false
32
- when 1..20; true
33
- end.should == true
34
- end
35
-
36
- it "returns nil when no 'then'-bodies are given" do
37
- case "a"
38
- when "a"
39
- when "b"
40
- end.should == nil
41
- end
42
-
43
- it "evaluates the 'else'-body when no other expression matches" do
44
- case "c"
45
- when "a"; 'foo'
46
- when "b"; 'bar'
47
- else 'zzz'
48
- end.should == 'zzz'
49
- end
50
-
51
- it "returns nil when no expression matches and 'else'-body is empty" do
52
- case "c"
53
- when "a"; "a"
54
- when "b"; "b"
55
- else
56
- end.should == nil
57
- end
58
-
59
- it "returns 2 when a then body is empty" do
60
- case Object.new
61
- when Number then
62
- 1
63
- when String then
64
- # ok
65
- else
66
- 2
67
- end.should == 2
68
- end
69
-
70
- it "returns that statement following 'then'" do
71
- case "a"
72
- when "a" then 'foo'
73
- when "b" then 'bar'
74
- end.should == 'foo'
75
- end
76
-
77
- it "tests classes with case equality" do
78
- case "a"
79
- when String
80
- 'foo'
81
- when Symbol
82
- 'bar'
83
- end.should == 'foo'
84
- end
85
-
86
- it "tests with matching regexps" do
87
- case "hello"
88
- when /abc/; false
89
- when /^hell/; true
90
- end.should == true
91
- end
92
-
93
- it "takes a list of values" do
94
- case 'z'
95
- when 'a', 'b', 'c', 'd'
96
- "foo"
97
- when 'x', 'y', 'z'
98
- "bar"
99
- end.should == "bar"
100
- end
101
-
102
- it "takes an expanded array in addition to a list of values"
103
- end
@@ -1,21 +0,0 @@
1
-
2
- describe "self in a metaclass body (class << obj)" do
3
- it "is TrueClass for true" do
4
- class << true; self; end.should == TrueClass
5
- end
6
-
7
- it "is FalseClass for false" do
8
- class << false; self; end.should == FalseClass
9
- end
10
-
11
- it "is NilClass for nil" do
12
- class << nil; self; end.should == NilClass
13
- end
14
-
15
- it "raises a TypeError for numbers"
16
-
17
- it "raises a TypeError for symbols"
18
-
19
- it "is a singleton Class instance"
20
-
21
- end