opal 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (303) hide show
  1. data/.rspec +3 -0
  2. data/.travis.yml +0 -4
  3. data/README.md +6 -0
  4. data/Rakefile +30 -6
  5. data/bin/opal +6 -82
  6. data/corelib/{opal/array.rb → array.rb} +40 -56
  7. data/corelib/{opal/basic_object.rb → basic_object.rb} +2 -2
  8. data/corelib/{opal/boolean.rb → boolean.rb} +0 -8
  9. data/corelib/class.rb +47 -0
  10. data/corelib/{opal/comparable.rb → comparable.rb} +0 -0
  11. data/corelib/{opal/enumerable.rb → enumerable.rb} +208 -141
  12. data/corelib/{opal/enumerator.rb → enumerator.rb} +3 -3
  13. data/corelib/{opal/error.rb → error.rb} +1 -0
  14. data/corelib/{opal/hash.rb → hash.rb} +67 -56
  15. data/corelib/io.rb +39 -0
  16. data/corelib/{opal/kernel.rb → kernel.rb} +35 -31
  17. data/corelib/{opal/class.rb → module.rb} +29 -57
  18. data/corelib/native.rb +148 -0
  19. data/corelib/{opal/nil_class.rb → nil_class.rb} +2 -10
  20. data/corelib/{opal/numeric.rb → numeric.rb} +39 -14
  21. data/corelib/opal.rb +42 -25
  22. data/corelib/{opal/proc.rb → proc.rb} +3 -3
  23. data/corelib/{opal/range.rb → range.rb} +5 -1
  24. data/corelib/{opal/regexp.rb → regexp.rb} +0 -0
  25. data/corelib/{opal/runtime.js → runtime.js} +96 -188
  26. data/corelib/{opal/string.rb → string.rb} +20 -15
  27. data/corelib/struct.rb +139 -0
  28. data/corelib/{opal/time.rb → time.rb} +0 -0
  29. data/lib/opal.rb +4 -0
  30. data/lib/opal/cli.rb +79 -32
  31. data/lib/opal/cli_options.rb +91 -0
  32. data/lib/opal/erb.rb +41 -8
  33. data/lib/opal/grammar.rb +24 -10
  34. data/lib/opal/grammar.y +15 -4
  35. data/lib/opal/grammar_helpers.rb +4 -0
  36. data/lib/opal/lexer.rb +214 -143
  37. data/lib/opal/parser.rb +596 -562
  38. data/lib/opal/require_parser.rb +1 -1
  39. data/lib/opal/source_map.rb +15 -30
  40. data/lib/opal/target_scope.rb +24 -5
  41. data/lib/opal/version.rb +1 -1
  42. data/mri_spec/cli_spec.rb +18 -0
  43. data/mri_spec/fixtures/opal_file.rb +2 -0
  44. data/mri_spec/spec_helper.rb +17 -0
  45. data/opal.gemspec +5 -2
  46. data/spec/{rubyspec/filters → filters}/bugs/alias.rb +0 -0
  47. data/spec/{rubyspec/filters → filters}/bugs/ancestors.rb +0 -0
  48. data/spec/{rubyspec/filters → filters}/bugs/array.rb +0 -0
  49. data/spec/filters/bugs/array/combination.rb +11 -0
  50. data/spec/filters/bugs/array/count.rb +3 -0
  51. data/spec/filters/bugs/array/delete_if.rb +3 -0
  52. data/spec/filters/bugs/array/drop.rb +3 -0
  53. data/spec/filters/bugs/array/drop_while.rb +5 -0
  54. data/spec/filters/bugs/array/eql.rb +3 -0
  55. data/spec/filters/bugs/array/flatten.rb +9 -0
  56. data/spec/filters/bugs/array/minus.rb +5 -0
  57. data/spec/filters/bugs/array/multipliy.rb +9 -0
  58. data/spec/filters/bugs/array/new.rb +3 -0
  59. data/spec/filters/bugs/array/pop.rb +6 -0
  60. data/spec/filters/bugs/array/rassoc.rb +4 -0
  61. data/spec/filters/bugs/array/rindex.rb +6 -0
  62. data/spec/filters/bugs/array/select.rb +3 -0
  63. data/spec/filters/bugs/array/shift.rb +7 -0
  64. data/spec/filters/bugs/array/shuffle.rb +11 -0
  65. data/spec/filters/bugs/array/slice.rb +7 -0
  66. data/spec/filters/bugs/array/take.rb +3 -0
  67. data/spec/filters/bugs/array/to_a.rb +3 -0
  68. data/spec/filters/bugs/array/try_convert.rb +7 -0
  69. data/spec/filters/bugs/array/uniq.rb +10 -0
  70. data/spec/filters/bugs/array/zip.rb +4 -0
  71. data/spec/{rubyspec/filters → filters}/bugs/array_delete.rb +1 -0
  72. data/spec/{rubyspec/filters → filters}/bugs/array_fetch.rb +0 -0
  73. data/spec/{rubyspec/filters → filters}/bugs/array_first.rb +0 -0
  74. data/spec/{rubyspec/filters → filters}/bugs/array_flatten.rb +0 -0
  75. data/spec/{rubyspec/filters → filters}/bugs/array_intersection.rb +0 -0
  76. data/spec/{rubyspec/filters → filters}/bugs/array_join.rb +0 -0
  77. data/spec/{rubyspec/filters → filters}/bugs/break.rb +0 -0
  78. data/spec/filters/bugs/case.rb +4 -0
  79. data/spec/{rubyspec/filters → filters}/bugs/coerce_integer.rb +0 -0
  80. data/spec/filters/bugs/enumerable_sort_by.rb +3 -0
  81. data/spec/{rubyspec/filters → filters}/bugs/kernel/instance_variables.rb +0 -0
  82. data/spec/filters/bugs/kernel/rand.rb +4 -0
  83. data/spec/filters/bugs/language/array.rb +3 -0
  84. data/spec/filters/bugs/language/block.rb +6 -0
  85. data/spec/filters/bugs/language/break.rb +3 -0
  86. data/spec/{rubyspec/filters → filters}/bugs/language/class.rb +3 -0
  87. data/spec/{rubyspec/filters → filters}/bugs/language/class_variables.rb +0 -0
  88. data/spec/filters/bugs/language/def.rb +27 -0
  89. data/spec/filters/bugs/language/defined.rb +3 -0
  90. data/spec/filters/bugs/language/ensure.rb +4 -0
  91. data/spec/filters/bugs/language/execution.rb +4 -0
  92. data/spec/filters/bugs/language/for.rb +18 -0
  93. data/spec/filters/bugs/language/if.rb +13 -0
  94. data/spec/filters/bugs/language/loop.rb +4 -0
  95. data/spec/filters/bugs/language/metaclass.rb +14 -0
  96. data/spec/filters/bugs/language/module.rb +6 -0
  97. data/spec/filters/bugs/language/next.rb +3 -0
  98. data/spec/filters/bugs/language/or.rb +3 -0
  99. data/spec/filters/bugs/language/order.rb +4 -0
  100. data/spec/filters/bugs/language/precedence.rb +10 -0
  101. data/spec/filters/bugs/language/proc.rb +24 -0
  102. data/spec/filters/bugs/language/redo.rb +5 -0
  103. data/spec/filters/bugs/language/rescue.rb +9 -0
  104. data/spec/filters/bugs/language/retry.rb +5 -0
  105. data/spec/filters/bugs/language/send.rb +10 -0
  106. data/spec/filters/bugs/language/super.rb +9 -0
  107. data/spec/filters/bugs/language/until.rb +8 -0
  108. data/spec/filters/bugs/language/variables.rb +37 -0
  109. data/spec/filters/bugs/language/while.rb +6 -0
  110. data/spec/filters/bugs/language/yield.rb +5 -0
  111. data/spec/{rubyspec/filters → filters}/bugs/module/class_variables.rb +0 -0
  112. data/spec/filters/bugs/module/method_defined.rb +6 -0
  113. data/spec/filters/bugs/parser.rb +10 -0
  114. data/spec/{rubyspec/filters → filters}/bugs/public_methods.rb +1 -0
  115. data/spec/filters/bugs/return.rb +7 -0
  116. data/spec/filters/bugs/singleton/instance.rb +4 -0
  117. data/spec/filters/bugs/source_map.rb +3 -0
  118. data/spec/filters/bugs/string/center.rb +4 -0
  119. data/spec/filters/bugs/string/lines.rb +3 -0
  120. data/spec/{rubyspec/filters → filters}/mspec/mocks.rb +0 -0
  121. data/spec/{rubyspec/filters → filters}/mspec/ruby_exe.rb +0 -0
  122. data/spec/{rubyspec/filters → filters}/mspec/should_receive.rb +0 -0
  123. data/spec/{rubyspec/filters → filters}/parser/block_args.rb +0 -0
  124. data/spec/{rubyspec/filters → filters}/unsupported/array_subclasses.rb +1 -0
  125. data/spec/filters/unsupported/frozen.rb +32 -0
  126. data/spec/filters/unsupported/immutable_strings.rb +3 -0
  127. data/spec/filters/unsupported/tainted.rb +17 -0
  128. data/spec/filters/unsupported/trusted.rb +15 -0
  129. data/spec/opal/class/constants_spec.rb +7 -0
  130. data/spec/opal/erb/erb_spec.rb +7 -1
  131. data/spec/opal/erb/inline_block.opalerb +3 -0
  132. data/spec/opal/hash/allocate_spec.rb +16 -0
  133. data/spec/opal/hash/new_spec.rb +10 -0
  134. data/spec/opal/hash/to_s_spec.rb +9 -0
  135. data/spec/opal/kernel/instance_variable_defined_spec.rb +15 -0
  136. data/spec/opal/kernel/rand_spec.rb +5 -5
  137. data/spec/opal/kernel/respond_to_spec.rb +14 -1
  138. data/spec/opal/language/block_spec.rb +13 -0
  139. data/spec/opal/language/rescue_spec.rb +27 -0
  140. data/spec/opal/language/return_spec.rb +38 -0
  141. data/spec/opal/language/singleton_class_spec.rb +13 -0
  142. data/spec/opal/language/super_spec.rb +99 -0
  143. data/spec/opal/language/variables_spec.rb +20 -0
  144. data/spec/opal/module/attr_accessor_spec.rb +8 -0
  145. data/spec/opal/module/constants_spec.rb +2 -2
  146. data/spec/opal/native/alias_native_spec.rb +18 -0
  147. data/spec/opal/native/each_spec.rb +14 -0
  148. data/spec/opal/native/element_reference_spec.rb +14 -0
  149. data/spec/opal/native/method_missing_spec.rb +39 -0
  150. data/spec/opal/native/new_spec.rb +19 -0
  151. data/spec/opal/native/nil_spec.rb +14 -0
  152. data/spec/opal/runtime2/class_hierarchy_spec.rb +2 -2
  153. data/spec/opal/source_map_spec.rb +3 -7
  154. data/spec/ospec/main.rb.erb +2 -5
  155. data/spec/parser/alias_spec.rb +4 -4
  156. data/spec/parser/and_spec.rb +2 -2
  157. data/spec/parser/array_spec.rb +6 -6
  158. data/spec/parser/attrasgn_spec.rb +8 -8
  159. data/spec/parser/begin_spec.rb +11 -11
  160. data/spec/parser/block_spec.rb +3 -3
  161. data/spec/parser/break_spec.rb +4 -4
  162. data/spec/parser/call_spec.rb +50 -48
  163. data/spec/parser/class_spec.rb +2 -2
  164. data/spec/parser/const_spec.rb +1 -1
  165. data/spec/parser/cvar_spec.rb +1 -1
  166. data/spec/parser/def_spec.rb +5 -5
  167. data/spec/parser/gvar_spec.rb +2 -2
  168. data/spec/parser/hash_spec.rb +4 -4
  169. data/spec/parser/iasgn_spec.rb +3 -3
  170. data/spec/parser/if_spec.rb +6 -6
  171. data/spec/parser/iter_spec.rb +6 -6
  172. data/spec/parser/lambda_spec.rb +5 -5
  173. data/spec/parser/lasgn_spec.rb +2 -2
  174. data/spec/parser/line_spec.rb +2 -2
  175. data/spec/parser/lvar_spec.rb +5 -5
  176. data/spec/parser/masgn_spec.rb +1 -1
  177. data/spec/parser/module_spec.rb +2 -2
  178. data/spec/parser/not_spec.rb +4 -4
  179. data/spec/parser/op_asgn1_spec.rb +2 -2
  180. data/spec/parser/op_asgn2_spec.rb +2 -2
  181. data/spec/parser/or_spec.rb +2 -2
  182. data/spec/parser/parse_spec.rb +66 -0
  183. data/spec/parser/parser_spec.rb +32 -38
  184. data/spec/parser/regexp_spec.rb +4 -4
  185. data/spec/parser/return_spec.rb +4 -4
  186. data/spec/parser/sclass_spec.rb +4 -4
  187. data/spec/parser/str_spec.rb +3 -3
  188. data/spec/parser/super_spec.rb +6 -6
  189. data/spec/parser/undef_spec.rb +3 -3
  190. data/spec/parser/unless_spec.rb +4 -4
  191. data/spec/parser/while_spec.rb +3 -3
  192. data/spec/parser/xstr_spec.rb +3 -3
  193. data/spec/parser/yield_spec.rb +6 -6
  194. data/spec/rubyspec/core/array/drop_spec.rb +1 -1
  195. data/spec/rubyspec/core/array/keep_if_spec.rb +1 -3
  196. data/spec/rubyspec/core/array/length_spec.rb +1 -3
  197. data/spec/rubyspec/core/array/map_spec.rb +2 -6
  198. data/spec/rubyspec/core/array/minus_spec.rb +3 -3
  199. data/spec/rubyspec/core/array/multiply_spec.rb +14 -16
  200. data/spec/rubyspec/core/array/new_spec.rb +3 -5
  201. data/spec/rubyspec/core/array/plus_spec.rb +2 -2
  202. data/spec/rubyspec/core/array/pop_spec.rb +4 -4
  203. data/spec/rubyspec/core/array/rassoc_spec.rb +2 -2
  204. data/spec/rubyspec/core/array/reject_spec.rb +2 -6
  205. data/spec/rubyspec/core/array/replace_spec.rb +1 -3
  206. data/spec/rubyspec/core/array/reverse_each_spec.rb +1 -3
  207. data/spec/rubyspec/core/array/reverse_spec.rb +4 -4
  208. data/spec/rubyspec/core/array/rindex_spec.rb +1 -1
  209. data/spec/rubyspec/core/array/select_spec.rb +3 -7
  210. data/spec/rubyspec/core/array/shared/collect.rb +7 -0
  211. data/spec/rubyspec/core/array/shared/index.rb +1 -1
  212. data/spec/rubyspec/core/array/shared/keep_if.rb +3 -0
  213. data/spec/rubyspec/core/array/shared/length.rb +3 -0
  214. data/spec/rubyspec/core/array/shared/replace.rb +3 -0
  215. data/spec/rubyspec/core/array/shared/slice.rb +3 -0
  216. data/spec/rubyspec/core/array/shuffle_spec.rb +1 -1
  217. data/spec/rubyspec/core/array/size_spec.rb +1 -3
  218. data/spec/rubyspec/core/array/slice_spec.rb +4 -6
  219. data/spec/rubyspec/core/array/sort_spec.rb +2 -2
  220. data/spec/rubyspec/core/array/to_a_spec.rb +1 -1
  221. data/spec/rubyspec/core/array/try_convert_spec.rb +7 -7
  222. data/spec/rubyspec/core/array/uniq_spec.rb +7 -7
  223. data/spec/rubyspec/core/array/zip_spec.rb +1 -1
  224. data/spec/rubyspec/core/enumerable/collect_spec.rb +24 -0
  225. data/spec/rubyspec/core/enumerable/count_spec.rb +35 -19
  226. data/spec/rubyspec/core/enumerable/find_spec.rb +5 -0
  227. data/spec/rubyspec/core/hash/each_pair_spec.rb +7 -7
  228. data/spec/rubyspec/core/hash/each_spec.rb +13 -7
  229. data/spec/rubyspec/core/module/method_defined_spec.rb +4 -4
  230. data/spec/rubyspec/core/module/public_method_defined_spec.rb +19 -0
  231. data/spec/rubyspec/core/module/remove_const_spec.rb +23 -0
  232. data/spec/rubyspec/core/numeric/step_spec.rb +14 -0
  233. data/spec/rubyspec/core/string/center_spec.rb +43 -65
  234. data/spec/rubyspec/core/string/lines_spec.rb +1 -1
  235. data/spec/rubyspec/core/string/ljust_spec.rb +25 -9
  236. data/spec/rubyspec/core/string/rjust_spec.rb +26 -10
  237. data/spec/rubyspec/core/struct/fixtures/classes.rb +26 -0
  238. data/spec/rubyspec/core/struct/initialize_spec.rb +11 -0
  239. data/spec/rubyspec/core/struct/new_spec.rb +24 -0
  240. data/spec/rubyspec/fixtures/constants.rb +7 -0
  241. data/spec/rubyspec/language/break_spec.rb +1 -1
  242. data/spec/rubyspec/language/case_spec.rb +30 -30
  243. data/spec/rubyspec/language/def_spec.rb +34 -34
  244. data/spec/rubyspec/language/defined_spec.rb +2 -2
  245. data/spec/rubyspec/language/ensure_spec.rb +2 -2
  246. data/spec/rubyspec/language/execution_spec.rb +2 -2
  247. data/spec/rubyspec/language/for_spec.rb +17 -17
  248. data/spec/rubyspec/language/hash_spec.rb +3 -3
  249. data/spec/rubyspec/language/if_spec.rb +11 -11
  250. data/spec/rubyspec/language/loop_spec.rb +3 -3
  251. data/spec/rubyspec/language/metaclass_spec.rb +14 -14
  252. data/spec/rubyspec/language/module_spec.rb +6 -6
  253. data/spec/rubyspec/language/next_spec.rb +5 -5
  254. data/spec/rubyspec/language/not_spec.rb +1 -1
  255. data/spec/rubyspec/language/or_spec.rb +1 -1
  256. data/spec/rubyspec/language/order_spec.rb +3 -5
  257. data/spec/rubyspec/language/precedence_spec.rb +19 -19
  258. data/spec/rubyspec/language/proc_spec.rb +29 -29
  259. data/spec/rubyspec/language/redo_spec.rb +3 -5
  260. data/spec/rubyspec/language/rescue_spec.rb +7 -7
  261. data/spec/rubyspec/language/retry_spec.rb +2 -2
  262. data/spec/rubyspec/language/return_spec.rb +12 -12
  263. data/spec/rubyspec/language/send_spec.rb +9 -9
  264. data/spec/rubyspec/language/singleton_class_spec.rb +3 -4
  265. data/spec/rubyspec/language/super_spec.rb +7 -11
  266. data/spec/rubyspec/language/until_spec.rb +10 -10
  267. data/spec/rubyspec/language/variables_spec.rb +59 -67
  268. data/spec/rubyspec/language/versions/array_1.9.rb +1 -1
  269. data/spec/rubyspec/language/versions/block_1.9.rb +0 -0
  270. data/spec/rubyspec/language/versions/break_1.9.rb +0 -0
  271. data/spec/rubyspec/language/versions/literal_lambda_1.9.rb +12 -12
  272. data/spec/rubyspec/language/versions/send_1.9.rb +23 -23
  273. data/spec/rubyspec/language/versions/symbol_1.9.rb +2 -2
  274. data/spec/rubyspec/language/versions/variables_1.9.rb +1 -1
  275. data/spec/rubyspec/language/while_spec.rb +4 -4
  276. data/spec/rubyspec/language/yield_spec.rb +3 -3
  277. data/spec/rubyspec/library/erb/util/html_escape_spec.rb +10 -0
  278. data/spec/rubyspec/library/singleton/clone_spec.rb +8 -0
  279. data/spec/rubyspec/library/singleton/dup_spec.rb +8 -0
  280. data/spec/rubyspec/library/singleton/fixtures/classes.rb +18 -0
  281. data/spec/rubyspec/library/singleton/instance_spec.rb +30 -0
  282. data/spec/spec_helper.rb +214 -0
  283. data/stdlib/buffer.rb +40 -0
  284. data/stdlib/buffer/array.rb +66 -0
  285. data/stdlib/buffer/view.rb +70 -0
  286. data/stdlib/erb.rb +11 -20
  287. data/stdlib/forwardable.rb +71 -0
  288. data/stdlib/json.rb +78 -0
  289. data/stdlib/ostruct.rb +69 -0
  290. data/stdlib/rbconfig.rb +1 -0
  291. data/stdlib/singleton.rb +40 -0
  292. data/stdlib/stringio.rb +173 -0
  293. data/stdlib/template.rb +44 -0
  294. metadata +285 -79
  295. data/corelib/opal/native.rb +0 -31
  296. data/spec/opal/class/bridge_class_spec.rb +0 -39
  297. data/spec/opal/native_spec.rb +0 -209
  298. data/spec/ospec/runner.rb +0 -223
  299. data/spec/rubyspec/filters/bugs/block_args.rb +0 -3
  300. data/spec/rubyspec/filters/bugs/case.rb +0 -8
  301. data/spec/rubyspec/filters/bugs/language/module.rb +0 -3
  302. data/spec/rubyspec/filters/unsupported/frozen.rb +0 -4
  303. data/spec/rubyspec/filters/unsupported/tainted.rb +0 -7
@@ -0,0 +1,40 @@
1
+ module Singleton
2
+ def clone
3
+ raise TypeError, "can't clone instance of singleton #{self.class}"
4
+ end
5
+
6
+ def dup
7
+ raise TypeError, "can't dup instance of singleton #{self.class}"
8
+ end
9
+
10
+ module SingletonClassMethods
11
+
12
+ def clone
13
+ Singleton.__init__(super)
14
+ end
15
+
16
+ def inherited(sub_klass)
17
+ super
18
+ Singleton.__init__(sub_klass)
19
+ end
20
+ end
21
+
22
+ class << Singleton
23
+ def __init__(klass)
24
+ klass.instance_eval {
25
+ @singleton__instance__ = nil
26
+ }
27
+ def klass.instance
28
+ return @singleton__instance__ if @singleton__instance__
29
+ @singleton__instance__ = new()
30
+ end
31
+ klass
32
+ end
33
+
34
+ def included(klass)
35
+ super
36
+ klass.extend SingletonClassMethods
37
+ Singleton.__init__(klass)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,173 @@
1
+ class StringIO < IO
2
+ include IO::Readable
3
+ include IO::Writable
4
+
5
+ def self.open(string = "", mode = nil, &block)
6
+ io = new(string, mode)
7
+ res = block.call(io)
8
+ io.close
9
+
10
+ res
11
+ end
12
+
13
+ attr_accessor :string
14
+
15
+ def initialize(string = "", mode = 'rw')
16
+ @string = string
17
+ @position = string.length
18
+
19
+ if mode.include?('r') and not mode.include?('w')
20
+ @closed = :write
21
+ elsif mode.include?('w') and not mode.include?('r')
22
+ @closed = :read
23
+ end
24
+ end
25
+
26
+ def eof?
27
+ check_readable
28
+
29
+ @position == @string.length
30
+ end
31
+
32
+ alias eof eof?
33
+
34
+ def seek(pos, whence = IO::SEEK_SET)
35
+ case whence
36
+ when IO::SEEK_SET
37
+ @position = pos
38
+
39
+ when IO::SEEK_CUR
40
+ if @position + pos > @string.length
41
+ @position = @string.length
42
+ else
43
+ @position += pos
44
+ end
45
+
46
+ when IO::SEEK_END
47
+ if pos > @string.length
48
+ @position = 0
49
+ else
50
+ @position -= pos
51
+ end
52
+ end
53
+
54
+ 0
55
+ end
56
+
57
+ def tell
58
+ @position
59
+ end
60
+
61
+ alias pos tell
62
+
63
+ alias pos= seek
64
+
65
+ def rewind
66
+ seek 0
67
+ end
68
+
69
+ def each_byte(&block)
70
+ return enum_for :each_byte unless block
71
+
72
+ check_readable
73
+
74
+ i = @position
75
+ until eof?
76
+ block.call(@string[i].ord)
77
+ i += 1
78
+ end
79
+
80
+ self
81
+ end
82
+
83
+ def each_char(&block)
84
+ return enum_for :each_char unless block
85
+
86
+ check_readable
87
+
88
+ i = @position
89
+ until eof?
90
+ block.call(@string[i])
91
+ i += 1
92
+ end
93
+
94
+ self
95
+ end
96
+
97
+ def write(string)
98
+ check_writable
99
+
100
+ string = String(string)
101
+
102
+ if @string.length == @position
103
+ @string += string
104
+ else
105
+ before = @string[0 .. @position - 1]
106
+ after = @string[@position + string.length .. -1]
107
+
108
+ @string = before + string + after
109
+ end
110
+ end
111
+
112
+ def read(length = nil, outbuf = nil)
113
+ check_readable
114
+
115
+ return if eof?
116
+
117
+ string = if length
118
+ @string[@position, length]
119
+ else
120
+ @string[@position .. -1]
121
+ end
122
+
123
+ if outbuf
124
+ outbuf.write(string)
125
+ else
126
+ string
127
+ end
128
+ end
129
+
130
+ def close
131
+ @closed = :both
132
+ end
133
+
134
+ def close_read
135
+ if @closed == :write
136
+ @closed = :both
137
+ else
138
+ @closed = :read
139
+ end
140
+ end
141
+
142
+ def close_write
143
+ if @closed == :read
144
+ @closed = :both
145
+ else
146
+ @closed = :write
147
+ end
148
+ end
149
+
150
+ def closed?
151
+ @closed == :both
152
+ end
153
+
154
+ def closed_read?
155
+ @closed == :read || @closed == :both
156
+ end
157
+
158
+ def closed_write?
159
+ @closed == :write || @closed == :both
160
+ end
161
+
162
+ def check_writable
163
+ if closed_write?
164
+ raise IOError, "not opened for writing"
165
+ end
166
+ end
167
+
168
+ def check_readable
169
+ if closed_read?
170
+ raise IOError, "not opened for reading"
171
+ end
172
+ end
173
+ end
@@ -0,0 +1,44 @@
1
+ class Template
2
+ @_cache = {}
3
+ def self.[](name)
4
+ @_cache[name]
5
+ end
6
+
7
+ def self.[]=(name, instance)
8
+ @_cache[name] = instance
9
+ end
10
+
11
+ attr_reader :body
12
+
13
+ def initialize(name, &body)
14
+ @name, @body = name, body
15
+ Template[name] = self
16
+ end
17
+
18
+ def inspect
19
+ "#<Template: '#@name'>"
20
+ end
21
+
22
+ def render(ctx = self)
23
+ ctx.instance_exec(OutputBuffer.new, &@body)
24
+ end
25
+
26
+ class OutputBuffer
27
+ def initialize
28
+ @buffer = []
29
+ end
30
+
31
+ def append(str)
32
+ @buffer << str
33
+ end
34
+
35
+ def append=(content)
36
+ @buffer << content
37
+ end
38
+
39
+ def join
40
+ @buffer.join
41
+ end
42
+ end
43
+ end
44
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-24 00:00:00.000000000 Z
12
+ date: 2013-08-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: source_map
@@ -107,6 +107,22 @@ dependencies:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: 0.1.1
110
+ - !ruby/object:Gem::Dependency
111
+ name: rspec
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: '2.14'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '2.14'
110
126
  description: Ruby runtime and core library for javascript.
111
127
  email: adam.beynon@gmail.com
112
128
  executables:
@@ -115,6 +131,7 @@ extensions: []
115
131
  extra_rdoc_files: []
116
132
  files:
117
133
  - .gitignore
134
+ - .rspec
118
135
  - .travis.yml
119
136
  - CONTRIBUTING.md
120
137
  - Gemfile
@@ -122,29 +139,33 @@ files:
122
139
  - README.md
123
140
  - Rakefile
124
141
  - bin/opal
142
+ - corelib/array.rb
143
+ - corelib/basic_object.rb
144
+ - corelib/boolean.rb
145
+ - corelib/class.rb
146
+ - corelib/comparable.rb
147
+ - corelib/enumerable.rb
148
+ - corelib/enumerator.rb
149
+ - corelib/error.rb
150
+ - corelib/hash.rb
151
+ - corelib/io.rb
152
+ - corelib/kernel.rb
153
+ - corelib/module.rb
154
+ - corelib/native.rb
155
+ - corelib/nil_class.rb
156
+ - corelib/numeric.rb
125
157
  - corelib/opal.rb
126
- - corelib/opal/array.rb
127
- - corelib/opal/basic_object.rb
128
- - corelib/opal/boolean.rb
129
- - corelib/opal/class.rb
130
- - corelib/opal/comparable.rb
131
- - corelib/opal/enumerable.rb
132
- - corelib/opal/enumerator.rb
133
- - corelib/opal/error.rb
134
- - corelib/opal/hash.rb
135
- - corelib/opal/kernel.rb
136
- - corelib/opal/native.rb
137
- - corelib/opal/nil_class.rb
138
- - corelib/opal/numeric.rb
139
- - corelib/opal/proc.rb
140
- - corelib/opal/range.rb
141
- - corelib/opal/regexp.rb
142
- - corelib/opal/runtime.js
143
- - corelib/opal/string.rb
144
- - corelib/opal/time.rb
158
+ - corelib/proc.rb
159
+ - corelib/range.rb
160
+ - corelib/regexp.rb
161
+ - corelib/runtime.js
162
+ - corelib/string.rb
163
+ - corelib/struct.rb
164
+ - corelib/time.rb
145
165
  - lib/opal.rb
146
166
  - lib/opal/builder.rb
147
167
  - lib/opal/cli.rb
168
+ - lib/opal/cli_options.rb
148
169
  - lib/opal/core_ext.rb
149
170
  - lib/opal/erb.rb
150
171
  - lib/opal/grammar.rb
@@ -157,8 +178,94 @@ files:
157
178
  - lib/opal/source_map.rb
158
179
  - lib/opal/target_scope.rb
159
180
  - lib/opal/version.rb
181
+ - mri_spec/cli_spec.rb
182
+ - mri_spec/fixtures/opal_file.rb
183
+ - mri_spec/spec_helper.rb
160
184
  - opal.gemspec
161
185
  - spec/config.ru
186
+ - spec/filters/bugs/alias.rb
187
+ - spec/filters/bugs/ancestors.rb
188
+ - spec/filters/bugs/array.rb
189
+ - spec/filters/bugs/array/combination.rb
190
+ - spec/filters/bugs/array/count.rb
191
+ - spec/filters/bugs/array/delete_if.rb
192
+ - spec/filters/bugs/array/drop.rb
193
+ - spec/filters/bugs/array/drop_while.rb
194
+ - spec/filters/bugs/array/eql.rb
195
+ - spec/filters/bugs/array/flatten.rb
196
+ - spec/filters/bugs/array/minus.rb
197
+ - spec/filters/bugs/array/multipliy.rb
198
+ - spec/filters/bugs/array/new.rb
199
+ - spec/filters/bugs/array/pop.rb
200
+ - spec/filters/bugs/array/rassoc.rb
201
+ - spec/filters/bugs/array/rindex.rb
202
+ - spec/filters/bugs/array/select.rb
203
+ - spec/filters/bugs/array/shift.rb
204
+ - spec/filters/bugs/array/shuffle.rb
205
+ - spec/filters/bugs/array/slice.rb
206
+ - spec/filters/bugs/array/take.rb
207
+ - spec/filters/bugs/array/to_a.rb
208
+ - spec/filters/bugs/array/try_convert.rb
209
+ - spec/filters/bugs/array/uniq.rb
210
+ - spec/filters/bugs/array/zip.rb
211
+ - spec/filters/bugs/array_delete.rb
212
+ - spec/filters/bugs/array_fetch.rb
213
+ - spec/filters/bugs/array_first.rb
214
+ - spec/filters/bugs/array_flatten.rb
215
+ - spec/filters/bugs/array_intersection.rb
216
+ - spec/filters/bugs/array_join.rb
217
+ - spec/filters/bugs/break.rb
218
+ - spec/filters/bugs/case.rb
219
+ - spec/filters/bugs/coerce_integer.rb
220
+ - spec/filters/bugs/enumerable_sort_by.rb
221
+ - spec/filters/bugs/kernel/instance_variables.rb
222
+ - spec/filters/bugs/kernel/rand.rb
223
+ - spec/filters/bugs/language/array.rb
224
+ - spec/filters/bugs/language/block.rb
225
+ - spec/filters/bugs/language/break.rb
226
+ - spec/filters/bugs/language/class.rb
227
+ - spec/filters/bugs/language/class_variables.rb
228
+ - spec/filters/bugs/language/def.rb
229
+ - spec/filters/bugs/language/defined.rb
230
+ - spec/filters/bugs/language/ensure.rb
231
+ - spec/filters/bugs/language/execution.rb
232
+ - spec/filters/bugs/language/for.rb
233
+ - spec/filters/bugs/language/if.rb
234
+ - spec/filters/bugs/language/loop.rb
235
+ - spec/filters/bugs/language/metaclass.rb
236
+ - spec/filters/bugs/language/module.rb
237
+ - spec/filters/bugs/language/next.rb
238
+ - spec/filters/bugs/language/or.rb
239
+ - spec/filters/bugs/language/order.rb
240
+ - spec/filters/bugs/language/precedence.rb
241
+ - spec/filters/bugs/language/proc.rb
242
+ - spec/filters/bugs/language/redo.rb
243
+ - spec/filters/bugs/language/rescue.rb
244
+ - spec/filters/bugs/language/retry.rb
245
+ - spec/filters/bugs/language/send.rb
246
+ - spec/filters/bugs/language/super.rb
247
+ - spec/filters/bugs/language/until.rb
248
+ - spec/filters/bugs/language/variables.rb
249
+ - spec/filters/bugs/language/while.rb
250
+ - spec/filters/bugs/language/yield.rb
251
+ - spec/filters/bugs/module/class_variables.rb
252
+ - spec/filters/bugs/module/method_defined.rb
253
+ - spec/filters/bugs/parser.rb
254
+ - spec/filters/bugs/public_methods.rb
255
+ - spec/filters/bugs/return.rb
256
+ - spec/filters/bugs/singleton/instance.rb
257
+ - spec/filters/bugs/source_map.rb
258
+ - spec/filters/bugs/string/center.rb
259
+ - spec/filters/bugs/string/lines.rb
260
+ - spec/filters/mspec/mocks.rb
261
+ - spec/filters/mspec/ruby_exe.rb
262
+ - spec/filters/mspec/should_receive.rb
263
+ - spec/filters/parser/block_args.rb
264
+ - spec/filters/unsupported/array_subclasses.rb
265
+ - spec/filters/unsupported/frozen.rb
266
+ - spec/filters/unsupported/immutable_strings.rb
267
+ - spec/filters/unsupported/tainted.rb
268
+ - spec/filters/unsupported/trusted.rb
162
269
  - spec/index.html
163
270
  - spec/mspec/guards/block_device.rb
164
271
  - spec/mspec/guards/endian.rb
@@ -174,7 +281,7 @@ files:
174
281
  - spec/opal/boolean/singleton_class_spec.rb
175
282
  - spec/opal/boolean/to_json_spec.rb
176
283
  - spec/opal/browser/local_storage_spec.rb
177
- - spec/opal/class/bridge_class_spec.rb
284
+ - spec/opal/class/constants_spec.rb
178
285
  - spec/opal/class/extend_spec.rb
179
286
  - spec/opal/class/instance_methods_spec.rb
180
287
  - spec/opal/class/last_value_spec.rb
@@ -182,14 +289,19 @@ files:
182
289
  - spec/opal/class/singleton_methods_spec.rb
183
290
  - spec/opal/constants_spec.rb
184
291
  - spec/opal/erb/erb_spec.rb
292
+ - spec/opal/erb/inline_block.opalerb
185
293
  - spec/opal/erb/quoted.opalerb
186
294
  - spec/opal/erb/simple.opalerb
295
+ - spec/opal/hash/allocate_spec.rb
296
+ - spec/opal/hash/new_spec.rb
297
+ - spec/opal/hash/to_s_spec.rb
187
298
  - spec/opal/json/parse_spec.rb
188
299
  - spec/opal/kernel/block_given_spec.rb
189
300
  - spec/opal/kernel/class_spec.rb
190
301
  - spec/opal/kernel/extend_spec.rb
191
302
  - spec/opal/kernel/format_spec.rb
192
303
  - spec/opal/kernel/freeze_spec.rb
304
+ - spec/opal/kernel/instance_variable_defined_spec.rb
193
305
  - spec/opal/kernel/match_spec.rb
194
306
  - spec/opal/kernel/method_spec.rb
195
307
  - spec/opal/kernel/methods_spec.rb
@@ -201,13 +313,25 @@ files:
201
313
  - spec/opal/kernel/respond_to_spec.rb
202
314
  - spec/opal/kernel/sprintf_spec.rb
203
315
  - spec/opal/kernel/to_json_spec.rb
316
+ - spec/opal/language/block_spec.rb
317
+ - spec/opal/language/rescue_spec.rb
318
+ - spec/opal/language/return_spec.rb
319
+ - spec/opal/language/singleton_class_spec.rb
320
+ - spec/opal/language/super_spec.rb
321
+ - spec/opal/language/variables_spec.rb
204
322
  - spec/opal/method_missing_spec.rb
205
323
  - spec/opal/module/alias_method_spec.rb
206
324
  - spec/opal/module/ancestors_spec.rb
207
325
  - spec/opal/module/append_features_spec.rb
326
+ - spec/opal/module/attr_accessor_spec.rb
208
327
  - spec/opal/module/constants_spec.rb
209
328
  - spec/opal/module/module_function_spec.rb
210
- - spec/opal/native_spec.rb
329
+ - spec/opal/native/alias_native_spec.rb
330
+ - spec/opal/native/each_spec.rb
331
+ - spec/opal/native/element_reference_spec.rb
332
+ - spec/opal/native/method_missing_spec.rb
333
+ - spec/opal/native/new_spec.rb
334
+ - spec/opal/native/nil_spec.rb
211
335
  - spec/opal/nil/to_json_spec.rb
212
336
  - spec/opal/numeric/equal_spec.rb
213
337
  - spec/opal/parser/irb_spec.rb
@@ -224,7 +348,6 @@ files:
224
348
  - spec/opal/string/freeze_spec.rb
225
349
  - spec/opal/string/to_json_spec.rb
226
350
  - spec/ospec/main.rb.erb
227
- - spec/ospec/runner.rb
228
351
  - spec/ospec/sprockets.js
229
352
  - spec/parser/alias_spec.rb
230
353
  - spec/parser/and_spec.rb
@@ -259,6 +382,7 @@ files:
259
382
  - spec/parser/op_asgn1_spec.rb
260
383
  - spec/parser/op_asgn2_spec.rb
261
384
  - spec/parser/or_spec.rb
385
+ - spec/parser/parse_spec.rb
262
386
  - spec/parser/parser_spec.rb
263
387
  - spec/parser/regexp_spec.rb
264
388
  - spec/parser/return_spec.rb
@@ -456,6 +580,8 @@ files:
456
580
  - spec/rubyspec/core/module/const_set_spec.rb
457
581
  - spec/rubyspec/core/module/fixtures/classes.rb
458
582
  - spec/rubyspec/core/module/method_defined_spec.rb
583
+ - spec/rubyspec/core/module/public_method_defined_spec.rb
584
+ - spec/rubyspec/core/module/remove_const_spec.rb
459
585
  - spec/rubyspec/core/module/undef_method_spec.rb
460
586
  - spec/rubyspec/core/nil/and_spec.rb
461
587
  - spec/rubyspec/core/nil/dup_spec.rb
@@ -499,6 +625,7 @@ files:
499
625
  - spec/rubyspec/core/numeric/plus_spec.rb
500
626
  - spec/rubyspec/core/numeric/pred_spec.rb
501
627
  - spec/rubyspec/core/numeric/right_shift_spec.rb
628
+ - spec/rubyspec/core/numeric/step_spec.rb
502
629
  - spec/rubyspec/core/numeric/succ_spec.rb
503
630
  - spec/rubyspec/core/numeric/times_spec.rb
504
631
  - spec/rubyspec/core/numeric/to_f_spec.rb
@@ -564,6 +691,9 @@ files:
564
691
  - spec/rubyspec/core/string/tr_s_spec.rb
565
692
  - spec/rubyspec/core/string/tr_spec.rb
566
693
  - spec/rubyspec/core/string/upcase_spec.rb
694
+ - spec/rubyspec/core/struct/fixtures/classes.rb
695
+ - spec/rubyspec/core/struct/initialize_spec.rb
696
+ - spec/rubyspec/core/struct/new_spec.rb
567
697
  - spec/rubyspec/core/symbol/to_proc_spec.rb
568
698
  - spec/rubyspec/core/time/at_spec.rb
569
699
  - spec/rubyspec/core/time/day_spec.rb
@@ -579,32 +709,6 @@ files:
579
709
  - spec/rubyspec/core/true/or_spec.rb
580
710
  - spec/rubyspec/core/true/to_s_spec.rb
581
711
  - spec/rubyspec/core/true/xor_spec.rb
582
- - spec/rubyspec/filters/bugs/alias.rb
583
- - spec/rubyspec/filters/bugs/ancestors.rb
584
- - spec/rubyspec/filters/bugs/array.rb
585
- - spec/rubyspec/filters/bugs/array_delete.rb
586
- - spec/rubyspec/filters/bugs/array_fetch.rb
587
- - spec/rubyspec/filters/bugs/array_first.rb
588
- - spec/rubyspec/filters/bugs/array_flatten.rb
589
- - spec/rubyspec/filters/bugs/array_intersection.rb
590
- - spec/rubyspec/filters/bugs/array_join.rb
591
- - spec/rubyspec/filters/bugs/block_args.rb
592
- - spec/rubyspec/filters/bugs/break.rb
593
- - spec/rubyspec/filters/bugs/case.rb
594
- - spec/rubyspec/filters/bugs/coerce_integer.rb
595
- - spec/rubyspec/filters/bugs/kernel/instance_variables.rb
596
- - spec/rubyspec/filters/bugs/language/class.rb
597
- - spec/rubyspec/filters/bugs/language/class_variables.rb
598
- - spec/rubyspec/filters/bugs/language/module.rb
599
- - spec/rubyspec/filters/bugs/module/class_variables.rb
600
- - spec/rubyspec/filters/bugs/public_methods.rb
601
- - spec/rubyspec/filters/mspec/mocks.rb
602
- - spec/rubyspec/filters/mspec/ruby_exe.rb
603
- - spec/rubyspec/filters/mspec/should_receive.rb
604
- - spec/rubyspec/filters/parser/block_args.rb
605
- - spec/rubyspec/filters/unsupported/array_subclasses.rb
606
- - spec/rubyspec/filters/unsupported/frozen.rb
607
- - spec/rubyspec/filters/unsupported/tainted.rb
608
712
  - spec/rubyspec/fixtures/class.rb
609
713
  - spec/rubyspec/fixtures/class_variables.rb
610
714
  - spec/rubyspec/fixtures/constants.rb
@@ -664,6 +768,8 @@ files:
664
768
  - spec/rubyspec/language/until_spec.rb
665
769
  - spec/rubyspec/language/variables_spec.rb
666
770
  - spec/rubyspec/language/versions/array_1.9.rb
771
+ - spec/rubyspec/language/versions/block_1.9.rb
772
+ - spec/rubyspec/language/versions/break_1.9.rb
667
773
  - spec/rubyspec/language/versions/case_1.9.rb
668
774
  - spec/rubyspec/language/versions/hash_1.9.rb
669
775
  - spec/rubyspec/language/versions/literal_lambda_1.9.rb
@@ -676,6 +782,7 @@ files:
676
782
  - spec/rubyspec/library/date/new_spec.rb
677
783
  - spec/rubyspec/library/date/to_s_spec.rb
678
784
  - spec/rubyspec/library/date/today_spec.rb
785
+ - spec/rubyspec/library/erb/util/html_escape_spec.rb
679
786
  - spec/rubyspec/library/observer/add_observer_spec.rb
680
787
  - spec/rubyspec/library/observer/count_observers_spec.rb
681
788
  - spec/rubyspec/library/observer/delete_observer_spec.rb
@@ -683,13 +790,21 @@ files:
683
790
  - spec/rubyspec/library/observer/fixtures/classes.rb
684
791
  - spec/rubyspec/library/observer/notify_observers_spec.rb
685
792
  - spec/rubyspec/library/rbconfig/config_spec.rb
793
+ - spec/rubyspec/library/singleton/clone_spec.rb
794
+ - spec/rubyspec/library/singleton/dup_spec.rb
795
+ - spec/rubyspec/library/singleton/fixtures/classes.rb
796
+ - spec/rubyspec/library/singleton/instance_spec.rb
686
797
  - spec/rubyspec/library/stringscanner/element_reference_spec.rb
687
798
  - spec/rubyspec/library/stringscanner/pos_spec.rb
688
799
  - spec/rubyspec/spec_helper.rb
689
800
  - spec/spec_helper.rb
801
+ - stdlib/buffer.rb
802
+ - stdlib/buffer/array.rb
803
+ - stdlib/buffer/view.rb
690
804
  - stdlib/date.rb
691
805
  - stdlib/erb.rb
692
806
  - stdlib/fileutils.rb
807
+ - stdlib/forwardable.rb
693
808
  - stdlib/iconv.rb
694
809
  - stdlib/json.rb
695
810
  - stdlib/observer.rb
@@ -697,14 +812,18 @@ files:
697
812
  - stdlib/opal-browser/script_loader.rb
698
813
  - stdlib/opal-parser.js.erb
699
814
  - stdlib/opal-source-maps.js.erb
815
+ - stdlib/ostruct.rb
700
816
  - stdlib/pp.rb
701
817
  - stdlib/racc.rb
702
818
  - stdlib/rbconfig.rb
819
+ - stdlib/singleton.rb
703
820
  - stdlib/source_map.rb
704
821
  - stdlib/source_map/generator.rb
705
822
  - stdlib/source_map/parser.rb
706
823
  - stdlib/source_map/vlq.rb
824
+ - stdlib/stringio.rb
707
825
  - stdlib/strscan.rb
826
+ - stdlib/template.rb
708
827
  - stdlib/yaml.rb
709
828
  homepage: http://opalrb.org
710
829
  licenses: []
@@ -732,6 +851,89 @@ specification_version: 3
732
851
  summary: Ruby runtime and core library for javascript
733
852
  test_files:
734
853
  - spec/config.ru
854
+ - spec/filters/bugs/alias.rb
855
+ - spec/filters/bugs/ancestors.rb
856
+ - spec/filters/bugs/array.rb
857
+ - spec/filters/bugs/array/combination.rb
858
+ - spec/filters/bugs/array/count.rb
859
+ - spec/filters/bugs/array/delete_if.rb
860
+ - spec/filters/bugs/array/drop.rb
861
+ - spec/filters/bugs/array/drop_while.rb
862
+ - spec/filters/bugs/array/eql.rb
863
+ - spec/filters/bugs/array/flatten.rb
864
+ - spec/filters/bugs/array/minus.rb
865
+ - spec/filters/bugs/array/multipliy.rb
866
+ - spec/filters/bugs/array/new.rb
867
+ - spec/filters/bugs/array/pop.rb
868
+ - spec/filters/bugs/array/rassoc.rb
869
+ - spec/filters/bugs/array/rindex.rb
870
+ - spec/filters/bugs/array/select.rb
871
+ - spec/filters/bugs/array/shift.rb
872
+ - spec/filters/bugs/array/shuffle.rb
873
+ - spec/filters/bugs/array/slice.rb
874
+ - spec/filters/bugs/array/take.rb
875
+ - spec/filters/bugs/array/to_a.rb
876
+ - spec/filters/bugs/array/try_convert.rb
877
+ - spec/filters/bugs/array/uniq.rb
878
+ - spec/filters/bugs/array/zip.rb
879
+ - spec/filters/bugs/array_delete.rb
880
+ - spec/filters/bugs/array_fetch.rb
881
+ - spec/filters/bugs/array_first.rb
882
+ - spec/filters/bugs/array_flatten.rb
883
+ - spec/filters/bugs/array_intersection.rb
884
+ - spec/filters/bugs/array_join.rb
885
+ - spec/filters/bugs/break.rb
886
+ - spec/filters/bugs/case.rb
887
+ - spec/filters/bugs/coerce_integer.rb
888
+ - spec/filters/bugs/enumerable_sort_by.rb
889
+ - spec/filters/bugs/kernel/instance_variables.rb
890
+ - spec/filters/bugs/kernel/rand.rb
891
+ - spec/filters/bugs/language/array.rb
892
+ - spec/filters/bugs/language/block.rb
893
+ - spec/filters/bugs/language/break.rb
894
+ - spec/filters/bugs/language/class.rb
895
+ - spec/filters/bugs/language/class_variables.rb
896
+ - spec/filters/bugs/language/def.rb
897
+ - spec/filters/bugs/language/defined.rb
898
+ - spec/filters/bugs/language/ensure.rb
899
+ - spec/filters/bugs/language/execution.rb
900
+ - spec/filters/bugs/language/for.rb
901
+ - spec/filters/bugs/language/if.rb
902
+ - spec/filters/bugs/language/loop.rb
903
+ - spec/filters/bugs/language/metaclass.rb
904
+ - spec/filters/bugs/language/module.rb
905
+ - spec/filters/bugs/language/next.rb
906
+ - spec/filters/bugs/language/or.rb
907
+ - spec/filters/bugs/language/order.rb
908
+ - spec/filters/bugs/language/precedence.rb
909
+ - spec/filters/bugs/language/proc.rb
910
+ - spec/filters/bugs/language/redo.rb
911
+ - spec/filters/bugs/language/rescue.rb
912
+ - spec/filters/bugs/language/retry.rb
913
+ - spec/filters/bugs/language/send.rb
914
+ - spec/filters/bugs/language/super.rb
915
+ - spec/filters/bugs/language/until.rb
916
+ - spec/filters/bugs/language/variables.rb
917
+ - spec/filters/bugs/language/while.rb
918
+ - spec/filters/bugs/language/yield.rb
919
+ - spec/filters/bugs/module/class_variables.rb
920
+ - spec/filters/bugs/module/method_defined.rb
921
+ - spec/filters/bugs/parser.rb
922
+ - spec/filters/bugs/public_methods.rb
923
+ - spec/filters/bugs/return.rb
924
+ - spec/filters/bugs/singleton/instance.rb
925
+ - spec/filters/bugs/source_map.rb
926
+ - spec/filters/bugs/string/center.rb
927
+ - spec/filters/bugs/string/lines.rb
928
+ - spec/filters/mspec/mocks.rb
929
+ - spec/filters/mspec/ruby_exe.rb
930
+ - spec/filters/mspec/should_receive.rb
931
+ - spec/filters/parser/block_args.rb
932
+ - spec/filters/unsupported/array_subclasses.rb
933
+ - spec/filters/unsupported/frozen.rb
934
+ - spec/filters/unsupported/immutable_strings.rb
935
+ - spec/filters/unsupported/tainted.rb
936
+ - spec/filters/unsupported/trusted.rb
735
937
  - spec/index.html
736
938
  - spec/mspec/guards/block_device.rb
737
939
  - spec/mspec/guards/endian.rb
@@ -747,7 +949,7 @@ test_files:
747
949
  - spec/opal/boolean/singleton_class_spec.rb
748
950
  - spec/opal/boolean/to_json_spec.rb
749
951
  - spec/opal/browser/local_storage_spec.rb
750
- - spec/opal/class/bridge_class_spec.rb
952
+ - spec/opal/class/constants_spec.rb
751
953
  - spec/opal/class/extend_spec.rb
752
954
  - spec/opal/class/instance_methods_spec.rb
753
955
  - spec/opal/class/last_value_spec.rb
@@ -755,14 +957,19 @@ test_files:
755
957
  - spec/opal/class/singleton_methods_spec.rb
756
958
  - spec/opal/constants_spec.rb
757
959
  - spec/opal/erb/erb_spec.rb
960
+ - spec/opal/erb/inline_block.opalerb
758
961
  - spec/opal/erb/quoted.opalerb
759
962
  - spec/opal/erb/simple.opalerb
963
+ - spec/opal/hash/allocate_spec.rb
964
+ - spec/opal/hash/new_spec.rb
965
+ - spec/opal/hash/to_s_spec.rb
760
966
  - spec/opal/json/parse_spec.rb
761
967
  - spec/opal/kernel/block_given_spec.rb
762
968
  - spec/opal/kernel/class_spec.rb
763
969
  - spec/opal/kernel/extend_spec.rb
764
970
  - spec/opal/kernel/format_spec.rb
765
971
  - spec/opal/kernel/freeze_spec.rb
972
+ - spec/opal/kernel/instance_variable_defined_spec.rb
766
973
  - spec/opal/kernel/match_spec.rb
767
974
  - spec/opal/kernel/method_spec.rb
768
975
  - spec/opal/kernel/methods_spec.rb
@@ -774,13 +981,25 @@ test_files:
774
981
  - spec/opal/kernel/respond_to_spec.rb
775
982
  - spec/opal/kernel/sprintf_spec.rb
776
983
  - spec/opal/kernel/to_json_spec.rb
984
+ - spec/opal/language/block_spec.rb
985
+ - spec/opal/language/rescue_spec.rb
986
+ - spec/opal/language/return_spec.rb
987
+ - spec/opal/language/singleton_class_spec.rb
988
+ - spec/opal/language/super_spec.rb
989
+ - spec/opal/language/variables_spec.rb
777
990
  - spec/opal/method_missing_spec.rb
778
991
  - spec/opal/module/alias_method_spec.rb
779
992
  - spec/opal/module/ancestors_spec.rb
780
993
  - spec/opal/module/append_features_spec.rb
994
+ - spec/opal/module/attr_accessor_spec.rb
781
995
  - spec/opal/module/constants_spec.rb
782
996
  - spec/opal/module/module_function_spec.rb
783
- - spec/opal/native_spec.rb
997
+ - spec/opal/native/alias_native_spec.rb
998
+ - spec/opal/native/each_spec.rb
999
+ - spec/opal/native/element_reference_spec.rb
1000
+ - spec/opal/native/method_missing_spec.rb
1001
+ - spec/opal/native/new_spec.rb
1002
+ - spec/opal/native/nil_spec.rb
784
1003
  - spec/opal/nil/to_json_spec.rb
785
1004
  - spec/opal/numeric/equal_spec.rb
786
1005
  - spec/opal/parser/irb_spec.rb
@@ -797,7 +1016,6 @@ test_files:
797
1016
  - spec/opal/string/freeze_spec.rb
798
1017
  - spec/opal/string/to_json_spec.rb
799
1018
  - spec/ospec/main.rb.erb
800
- - spec/ospec/runner.rb
801
1019
  - spec/ospec/sprockets.js
802
1020
  - spec/parser/alias_spec.rb
803
1021
  - spec/parser/and_spec.rb
@@ -832,6 +1050,7 @@ test_files:
832
1050
  - spec/parser/op_asgn1_spec.rb
833
1051
  - spec/parser/op_asgn2_spec.rb
834
1052
  - spec/parser/or_spec.rb
1053
+ - spec/parser/parse_spec.rb
835
1054
  - spec/parser/parser_spec.rb
836
1055
  - spec/parser/regexp_spec.rb
837
1056
  - spec/parser/return_spec.rb
@@ -1029,6 +1248,8 @@ test_files:
1029
1248
  - spec/rubyspec/core/module/const_set_spec.rb
1030
1249
  - spec/rubyspec/core/module/fixtures/classes.rb
1031
1250
  - spec/rubyspec/core/module/method_defined_spec.rb
1251
+ - spec/rubyspec/core/module/public_method_defined_spec.rb
1252
+ - spec/rubyspec/core/module/remove_const_spec.rb
1032
1253
  - spec/rubyspec/core/module/undef_method_spec.rb
1033
1254
  - spec/rubyspec/core/nil/and_spec.rb
1034
1255
  - spec/rubyspec/core/nil/dup_spec.rb
@@ -1072,6 +1293,7 @@ test_files:
1072
1293
  - spec/rubyspec/core/numeric/plus_spec.rb
1073
1294
  - spec/rubyspec/core/numeric/pred_spec.rb
1074
1295
  - spec/rubyspec/core/numeric/right_shift_spec.rb
1296
+ - spec/rubyspec/core/numeric/step_spec.rb
1075
1297
  - spec/rubyspec/core/numeric/succ_spec.rb
1076
1298
  - spec/rubyspec/core/numeric/times_spec.rb
1077
1299
  - spec/rubyspec/core/numeric/to_f_spec.rb
@@ -1137,6 +1359,9 @@ test_files:
1137
1359
  - spec/rubyspec/core/string/tr_s_spec.rb
1138
1360
  - spec/rubyspec/core/string/tr_spec.rb
1139
1361
  - spec/rubyspec/core/string/upcase_spec.rb
1362
+ - spec/rubyspec/core/struct/fixtures/classes.rb
1363
+ - spec/rubyspec/core/struct/initialize_spec.rb
1364
+ - spec/rubyspec/core/struct/new_spec.rb
1140
1365
  - spec/rubyspec/core/symbol/to_proc_spec.rb
1141
1366
  - spec/rubyspec/core/time/at_spec.rb
1142
1367
  - spec/rubyspec/core/time/day_spec.rb
@@ -1152,32 +1377,6 @@ test_files:
1152
1377
  - spec/rubyspec/core/true/or_spec.rb
1153
1378
  - spec/rubyspec/core/true/to_s_spec.rb
1154
1379
  - spec/rubyspec/core/true/xor_spec.rb
1155
- - spec/rubyspec/filters/bugs/alias.rb
1156
- - spec/rubyspec/filters/bugs/ancestors.rb
1157
- - spec/rubyspec/filters/bugs/array.rb
1158
- - spec/rubyspec/filters/bugs/array_delete.rb
1159
- - spec/rubyspec/filters/bugs/array_fetch.rb
1160
- - spec/rubyspec/filters/bugs/array_first.rb
1161
- - spec/rubyspec/filters/bugs/array_flatten.rb
1162
- - spec/rubyspec/filters/bugs/array_intersection.rb
1163
- - spec/rubyspec/filters/bugs/array_join.rb
1164
- - spec/rubyspec/filters/bugs/block_args.rb
1165
- - spec/rubyspec/filters/bugs/break.rb
1166
- - spec/rubyspec/filters/bugs/case.rb
1167
- - spec/rubyspec/filters/bugs/coerce_integer.rb
1168
- - spec/rubyspec/filters/bugs/kernel/instance_variables.rb
1169
- - spec/rubyspec/filters/bugs/language/class.rb
1170
- - spec/rubyspec/filters/bugs/language/class_variables.rb
1171
- - spec/rubyspec/filters/bugs/language/module.rb
1172
- - spec/rubyspec/filters/bugs/module/class_variables.rb
1173
- - spec/rubyspec/filters/bugs/public_methods.rb
1174
- - spec/rubyspec/filters/mspec/mocks.rb
1175
- - spec/rubyspec/filters/mspec/ruby_exe.rb
1176
- - spec/rubyspec/filters/mspec/should_receive.rb
1177
- - spec/rubyspec/filters/parser/block_args.rb
1178
- - spec/rubyspec/filters/unsupported/array_subclasses.rb
1179
- - spec/rubyspec/filters/unsupported/frozen.rb
1180
- - spec/rubyspec/filters/unsupported/tainted.rb
1181
1380
  - spec/rubyspec/fixtures/class.rb
1182
1381
  - spec/rubyspec/fixtures/class_variables.rb
1183
1382
  - spec/rubyspec/fixtures/constants.rb
@@ -1237,6 +1436,8 @@ test_files:
1237
1436
  - spec/rubyspec/language/until_spec.rb
1238
1437
  - spec/rubyspec/language/variables_spec.rb
1239
1438
  - spec/rubyspec/language/versions/array_1.9.rb
1439
+ - spec/rubyspec/language/versions/block_1.9.rb
1440
+ - spec/rubyspec/language/versions/break_1.9.rb
1240
1441
  - spec/rubyspec/language/versions/case_1.9.rb
1241
1442
  - spec/rubyspec/language/versions/hash_1.9.rb
1242
1443
  - spec/rubyspec/language/versions/literal_lambda_1.9.rb
@@ -1249,6 +1450,7 @@ test_files:
1249
1450
  - spec/rubyspec/library/date/new_spec.rb
1250
1451
  - spec/rubyspec/library/date/to_s_spec.rb
1251
1452
  - spec/rubyspec/library/date/today_spec.rb
1453
+ - spec/rubyspec/library/erb/util/html_escape_spec.rb
1252
1454
  - spec/rubyspec/library/observer/add_observer_spec.rb
1253
1455
  - spec/rubyspec/library/observer/count_observers_spec.rb
1254
1456
  - spec/rubyspec/library/observer/delete_observer_spec.rb
@@ -1256,6 +1458,10 @@ test_files:
1256
1458
  - spec/rubyspec/library/observer/fixtures/classes.rb
1257
1459
  - spec/rubyspec/library/observer/notify_observers_spec.rb
1258
1460
  - spec/rubyspec/library/rbconfig/config_spec.rb
1461
+ - spec/rubyspec/library/singleton/clone_spec.rb
1462
+ - spec/rubyspec/library/singleton/dup_spec.rb
1463
+ - spec/rubyspec/library/singleton/fixtures/classes.rb
1464
+ - spec/rubyspec/library/singleton/instance_spec.rb
1259
1465
  - spec/rubyspec/library/stringscanner/element_reference_spec.rb
1260
1466
  - spec/rubyspec/library/stringscanner/pos_spec.rb
1261
1467
  - spec/rubyspec/spec_helper.rb