opal 0.9.4 → 0.10.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +1 -0
  3. data/.gitignore +2 -3
  4. data/.gitmodules +5 -2
  5. data/.jshintrc +1 -8
  6. data/.rspec +1 -1
  7. data/.travis.yml +15 -23
  8. data/CHANGELOG.md +511 -326
  9. data/CODE_OF_CONDUCT.md +13 -15
  10. data/CONTRIBUTING.md +26 -216
  11. data/Gemfile +20 -12
  12. data/Guardfile +2 -2
  13. data/HACKING.md +230 -0
  14. data/README.md +6 -7
  15. data/bin/opal-mspec +1 -1
  16. data/config.ru +2 -2
  17. data/docs/faq.md +1 -1
  18. data/docs/source_maps.md +1 -1
  19. data/lib/opal.rb +1 -0
  20. data/lib/opal/builder.rb +1 -1
  21. data/lib/opal/cli.rb +30 -28
  22. data/lib/opal/cli_options.rb +3 -0
  23. data/lib/opal/cli_runners.rb +14 -1
  24. data/lib/opal/cli_runners/{apple_script.rb → applescript.rb} +3 -3
  25. data/lib/opal/cli_runners/nashorn.rb +2 -2
  26. data/lib/opal/cli_runners/nodejs.rb +2 -2
  27. data/lib/opal/cli_runners/phantom.js +24 -0
  28. data/lib/opal/cli_runners/phantomjs.rb +10 -10
  29. data/lib/opal/cli_runners/server.rb +3 -3
  30. data/lib/opal/compiler.rb +43 -4
  31. data/lib/opal/config.rb +3 -1
  32. data/lib/opal/errors.rb +13 -0
  33. data/lib/opal/fragment.rb +0 -13
  34. data/lib/opal/nodes.rb +10 -0
  35. data/lib/opal/nodes/args/initialize_kwargs.rb +28 -0
  36. data/lib/opal/nodes/args/kwarg.rb +29 -0
  37. data/lib/opal/nodes/args/kwoptarg.rb +29 -0
  38. data/lib/opal/nodes/args/kwrestarg.rb +39 -0
  39. data/lib/opal/nodes/args/mlhsarg.rb +79 -0
  40. data/lib/opal/nodes/args/normarg.rb +26 -0
  41. data/lib/opal/nodes/args/optarg.rb +27 -0
  42. data/lib/opal/nodes/args/post_args.rb +200 -0
  43. data/lib/opal/nodes/args/post_kwargs.rb +31 -0
  44. data/lib/opal/nodes/args/restarg.rb +33 -0
  45. data/lib/opal/nodes/base.rb +12 -0
  46. data/lib/opal/nodes/call.rb +92 -33
  47. data/lib/opal/nodes/def.rb +26 -169
  48. data/lib/opal/nodes/hash.rb +10 -4
  49. data/lib/opal/nodes/helpers.rb +6 -3
  50. data/lib/opal/nodes/inline_args.rb +61 -0
  51. data/lib/opal/nodes/iter.rb +73 -82
  52. data/lib/opal/nodes/logic.rb +12 -2
  53. data/lib/opal/nodes/masgn.rb +1 -2
  54. data/lib/opal/nodes/node_with_args.rb +141 -0
  55. data/lib/opal/nodes/rescue.rb +121 -43
  56. data/lib/opal/nodes/scope.rb +24 -5
  57. data/lib/opal/nodes/super.rb +122 -54
  58. data/lib/opal/nodes/top.rb +0 -12
  59. data/lib/opal/nodes/yield.rb +2 -13
  60. data/lib/opal/parser.rb +67 -39
  61. data/lib/opal/parser/grammar.rb +3319 -2961
  62. data/lib/opal/parser/grammar.y +234 -46
  63. data/lib/opal/parser/lexer.rb +105 -17
  64. data/lib/opal/parser/sexp.rb +4 -0
  65. data/lib/opal/paths.rb +4 -0
  66. data/lib/opal/regexp_anchors.rb +19 -1
  67. data/lib/opal/sprockets.rb +21 -18
  68. data/lib/opal/sprockets/environment.rb +0 -8
  69. data/lib/opal/sprockets/processor.rb +13 -16
  70. data/lib/opal/sprockets/server.rb +6 -12
  71. data/lib/opal/version.rb +1 -1
  72. data/opal.gemspec +1 -0
  73. data/opal/corelib/array.rb +209 -131
  74. data/opal/corelib/basic_object.rb +7 -3
  75. data/opal/corelib/class.rb +11 -17
  76. data/opal/corelib/constants.rb +2 -2
  77. data/opal/corelib/enumerable.rb +178 -355
  78. data/opal/corelib/enumerator.rb +3 -46
  79. data/opal/corelib/error.rb +2 -2
  80. data/opal/corelib/file.rb +13 -1
  81. data/opal/corelib/hash.rb +26 -56
  82. data/opal/corelib/helpers.rb +10 -0
  83. data/opal/corelib/kernel.rb +6 -3
  84. data/opal/corelib/module.rb +62 -31
  85. data/opal/corelib/number.rb +7 -16
  86. data/opal/corelib/proc.rb +24 -9
  87. data/opal/corelib/range.rb +4 -13
  88. data/opal/corelib/runtime.js +515 -378
  89. data/opal/corelib/string.rb +21 -49
  90. data/opal/corelib/struct.rb +50 -35
  91. data/opal/corelib/unsupported.rb +18 -30
  92. data/opal/opal.rb +0 -1
  93. data/opal/opal/mini.rb +1 -0
  94. data/spec/README.md +6 -4
  95. data/spec/filters/bugs/array.rb +0 -42
  96. data/spec/filters/bugs/basicobject.rb +0 -2
  97. data/spec/filters/bugs/bigdecimal.rb +160 -0
  98. data/spec/filters/bugs/class.rb +0 -5
  99. data/spec/filters/bugs/date.rb +1 -48
  100. data/spec/filters/bugs/enumerable.rb +4 -12
  101. data/spec/filters/bugs/enumerator.rb +0 -1
  102. data/spec/filters/bugs/exception.rb +4 -3
  103. data/spec/filters/bugs/float.rb +4 -2
  104. data/spec/filters/bugs/kernel.rb +25 -10
  105. data/spec/filters/bugs/language.rb +119 -68
  106. data/spec/filters/bugs/method.rb +135 -0
  107. data/spec/filters/bugs/module.rb +13 -28
  108. data/spec/filters/bugs/proc.rb +18 -8
  109. data/spec/filters/bugs/range.rb +0 -3
  110. data/spec/filters/bugs/rational.rb +4 -0
  111. data/spec/filters/bugs/regexp.rb +68 -36
  112. data/spec/filters/bugs/string.rb +1 -1
  113. data/spec/filters/bugs/struct.rb +0 -12
  114. data/spec/filters/bugs/time.rb +1 -0
  115. data/spec/filters/bugs/unboundmethod.rb +2 -1
  116. data/spec/filters/unsupported/freeze.rb +3 -1
  117. data/spec/filters/unsupported/language.rb +0 -7
  118. data/spec/filters/unsupported/privacy.rb +7 -6
  119. data/spec/filters/unsupported/string.rb +10 -0
  120. data/spec/filters/unsupported/struct.rb +3 -0
  121. data/spec/filters/unsupported/symbol.rb +9 -0
  122. data/spec/filters/unsupported/taint.rb +0 -3
  123. data/spec/filters/unsupported/thread.rb +1 -0
  124. data/spec/lib/cli_runners/phantomjs_spec.rb +39 -0
  125. data/spec/lib/cli_spec.rb +42 -1
  126. data/spec/lib/compiler/call_spec.rb +700 -0
  127. data/spec/lib/compiler_spec.rb +46 -28
  128. data/spec/lib/config_spec.rb +13 -0
  129. data/spec/lib/parser/call_spec.rb +18 -0
  130. data/spec/lib/parser/def_spec.rb +29 -0
  131. data/spec/lib/parser/iter_spec.rb +15 -15
  132. data/spec/lib/parser/lambda_spec.rb +153 -12
  133. data/spec/lib/parser/string_spec.rb +5 -0
  134. data/spec/lib/parser/undef_spec.rb +1 -1
  135. data/spec/lib/parser/variables_spec.rb +24 -0
  136. data/spec/lib/paths_spec.rb +12 -5
  137. data/spec/lib/spec_helper.rb +5 -0
  138. data/spec/lib/sprockets/processor_spec.rb +6 -5
  139. data/spec/lib/sprockets_spec.rb +8 -0
  140. data/spec/mspec-opal/formatters.rb +188 -0
  141. data/spec/mspec-opal/runner.rb +193 -0
  142. data/spec/opal/core/enumerator/with_index_spec.rb +6 -0
  143. data/spec/opal/core/kernel/define_singleton_method_spec.rb +1 -1
  144. data/spec/opal/core/kernel/instance_variables_spec.rb +14 -0
  145. data/spec/opal/core/kernel/loop_spec.rb +1 -1
  146. data/spec/opal/core/kernel/raise_spec.rb +1 -1
  147. data/spec/opal/core/language/heredoc_spec.rb +42 -0
  148. data/spec/opal/core/language/rescue_spec.rb +18 -0
  149. data/spec/opal/core/language_spec.rb +22 -0
  150. data/spec/opal/core/module/const_defined_spec.rb +1 -2
  151. data/spec/opal/core/module/name_spec.rb +6 -0
  152. data/spec/opal/core/runtime/bridged_classes_spec.rb +14 -2
  153. data/spec/opal/core/runtime/rescue_spec.rb +12 -2
  154. data/spec/opal/core/runtime/super_spec.rb +1 -0
  155. data/spec/opal/core/string_spec.rb +21 -0
  156. data/spec/opal/stdlib/js_spec.rb +1 -1
  157. data/spec/opal/stdlib/native/hash_spec.rb +7 -0
  158. data/spec/opal/stdlib/promise/always_spec.rb +24 -5
  159. data/spec/opal/stdlib/promise/rescue_spec.rb +15 -6
  160. data/spec/opal/stdlib/promise/then_spec.rb +13 -5
  161. data/spec/opal/stdlib/promise/trace_spec.rb +5 -6
  162. data/spec/opal/stdlib/strscan/scan_spec.rb +1 -1
  163. data/spec/ruby_specs +122 -0
  164. data/spec/spec_helper.rb +3 -15
  165. data/stdlib/base64.rb +51 -121
  166. data/stdlib/bigdecimal.rb +231 -0
  167. data/stdlib/bigdecimal/bignumber.js.rb +11 -0
  168. data/stdlib/bigdecimal/kernel.rb +5 -0
  169. data/stdlib/date.rb +252 -10
  170. data/stdlib/native.rb +38 -38
  171. data/stdlib/nodejs/dir.rb +8 -6
  172. data/stdlib/nodejs/file.rb +28 -3
  173. data/stdlib/nodejs/node_modules/.bin/js-yaml +1 -0
  174. data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esparse +1 -0
  175. data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esvalidate +1 -0
  176. data/stdlib/nodejs/require.rb +1 -1
  177. data/stdlib/nodejs/yaml.rb +3 -2
  178. data/stdlib/opal-parser.rb +7 -2
  179. data/stdlib/pathname.rb +23 -1
  180. data/stdlib/phantomjs.rb +10 -0
  181. data/stdlib/promise.rb +38 -23
  182. data/tasks/building.rake +3 -3
  183. data/tasks/testing.rake +27 -14
  184. data/tasks/testing/mspec_special_calls.rb +1 -1
  185. data/tasks/testing/sprockets-phantomjs.js +4 -0
  186. data/test/opal/test_keyword.rb +110 -110
  187. data/test/opal/unsupported_and_bugs.rb +30 -0
  188. data/vendored-minitest/minitest/assertions.rb +1 -1
  189. metadata +65 -15
  190. data/.spectator +0 -2
  191. data/.spectator-mspec +0 -3
  192. data/opal/corelib/array/inheritance.rb +0 -127
  193. data/spec/rubyspecs +0 -139
@@ -0,0 +1,30 @@
1
+ class Test::Unit::TestCase
2
+ #
3
+ # @example
4
+ # class TestBase64
5
+ # unsupported :test_urlsafe_encode64
6
+ # unsupported :test_strict_encode64
7
+ # end
8
+ #
9
+ def self.unsupported name, message = 'unsupported'
10
+ define_method name do
11
+ skip message
12
+ end
13
+ end
14
+
15
+ #
16
+ # @example
17
+ # class TestBase64
18
+ # bug :test_strict_decode64
19
+ # end
20
+ #
21
+ def self.bug name, message = 'BUG'
22
+ define_method name do
23
+ skip message
24
+ end
25
+ end
26
+ end
27
+
28
+ class TestBase64
29
+ bug :test_strict_decode64
30
+ end
@@ -105,7 +105,7 @@ module Minitest
105
105
 
106
106
  def mu_pp obj
107
107
  s = obj.inspect
108
- s = s.encode Encoding.default_external if defined? Encoding
108
+ # s = s.encode Encoding.default_external if defined? Encoding
109
109
  s
110
110
  end
111
111
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.10.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Beynon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-20 00:00:00.000000000 Z
11
+ date: 2016-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sourcemap
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: coveralls
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
195
209
  description: Ruby runtime and core library for JavaScript.
196
210
  email: adam.beynon@gmail.com
197
211
  executables:
@@ -202,13 +216,12 @@ executables:
202
216
  extensions: []
203
217
  extra_rdoc_files: []
204
218
  files:
219
+ - ".gitattributes"
205
220
  - ".gitignore"
206
221
  - ".gitmodules"
207
222
  - ".inch.yml"
208
223
  - ".jshintrc"
209
224
  - ".rspec"
210
- - ".spectator"
211
- - ".spectator-mspec"
212
225
  - ".travis.yml"
213
226
  - ".yardopts"
214
227
  - CHANGELOG.md
@@ -216,6 +229,7 @@ files:
216
229
  - CONTRIBUTING.md
217
230
  - Gemfile
218
231
  - Guardfile
232
+ - HACKING.md
219
233
  - LICENSE
220
234
  - README.md
221
235
  - Rakefile
@@ -353,7 +367,7 @@ files:
353
367
  - lib/opal/cli.rb
354
368
  - lib/opal/cli_options.rb
355
369
  - lib/opal/cli_runners.rb
356
- - lib/opal/cli_runners/apple_script.rb
370
+ - lib/opal/cli_runners/applescript.rb
357
371
  - lib/opal/cli_runners/nashorn.rb
358
372
  - lib/opal/cli_runners/nodejs.rb
359
373
  - lib/opal/cli_runners/phantom.js
@@ -362,10 +376,21 @@ files:
362
376
  - lib/opal/compiler.rb
363
377
  - lib/opal/config.rb
364
378
  - lib/opal/erb.rb
379
+ - lib/opal/errors.rb
365
380
  - lib/opal/fragment.rb
366
381
  - lib/opal/hike_path_finder.rb
367
382
  - lib/opal/nodes.rb
368
383
  - lib/opal/nodes/arglist.rb
384
+ - lib/opal/nodes/args/initialize_kwargs.rb
385
+ - lib/opal/nodes/args/kwarg.rb
386
+ - lib/opal/nodes/args/kwoptarg.rb
387
+ - lib/opal/nodes/args/kwrestarg.rb
388
+ - lib/opal/nodes/args/mlhsarg.rb
389
+ - lib/opal/nodes/args/normarg.rb
390
+ - lib/opal/nodes/args/optarg.rb
391
+ - lib/opal/nodes/args/post_args.rb
392
+ - lib/opal/nodes/args/post_kwargs.rb
393
+ - lib/opal/nodes/args/restarg.rb
369
394
  - lib/opal/nodes/array.rb
370
395
  - lib/opal/nodes/base.rb
371
396
  - lib/opal/nodes/call.rb
@@ -380,11 +405,13 @@ files:
380
405
  - lib/opal/nodes/hash.rb
381
406
  - lib/opal/nodes/helpers.rb
382
407
  - lib/opal/nodes/if.rb
408
+ - lib/opal/nodes/inline_args.rb
383
409
  - lib/opal/nodes/iter.rb
384
410
  - lib/opal/nodes/literal.rb
385
411
  - lib/opal/nodes/logic.rb
386
412
  - lib/opal/nodes/masgn.rb
387
413
  - lib/opal/nodes/module.rb
414
+ - lib/opal/nodes/node_with_args.rb
388
415
  - lib/opal/nodes/rescue.rb
389
416
  - lib/opal/nodes/runtime_helpers.rb
390
417
  - lib/opal/nodes/scope.rb
@@ -419,7 +446,6 @@ files:
419
446
  - opal.gemspec
420
447
  - opal/README.md
421
448
  - opal/corelib/array.rb
422
- - opal/corelib/array/inheritance.rb
423
449
  - opal/corelib/basic_object.rb
424
450
  - opal/corelib/boolean.rb
425
451
  - opal/corelib/class.rb
@@ -461,6 +487,7 @@ files:
461
487
  - spec/README.md
462
488
  - spec/filters/bugs/array.rb
463
489
  - spec/filters/bugs/basicobject.rb
490
+ - spec/filters/bugs/bigdecimal.rb
464
491
  - spec/filters/bugs/class.rb
465
492
  - spec/filters/bugs/complex.rb
466
493
  - spec/filters/bugs/date.rb
@@ -479,6 +506,7 @@ files:
479
506
  - spec/filters/bugs/numeric.rb
480
507
  - spec/filters/bugs/proc.rb
481
508
  - spec/filters/bugs/range.rb
509
+ - spec/filters/bugs/rational.rb
482
510
  - spec/filters/bugs/regexp.rb
483
511
  - spec/filters/bugs/set.rb
484
512
  - spec/filters/bugs/singleton.rb
@@ -518,9 +546,12 @@ files:
518
546
  - spec/filters/unsupported/time.rb
519
547
  - spec/lib/builder_processors_spec.rb
520
548
  - spec/lib/builder_spec.rb
549
+ - spec/lib/cli_runners/phantomjs_spec.rb
521
550
  - spec/lib/cli_spec.rb
551
+ - spec/lib/compiler/call_spec.rb
522
552
  - spec/lib/compiler/pre_processed_conditionals_spec.rb
523
553
  - spec/lib/compiler_spec.rb
554
+ - spec/lib/config_spec.rb
524
555
  - spec/lib/dependency_resolver_spec.rb
525
556
  - spec/lib/fixtures/complex_sprockets.js.rb.erb
526
557
  - spec/lib/fixtures/file_with_directives.js
@@ -581,8 +612,8 @@ files:
581
612
  - spec/lib/sprockets/server_spec.rb
582
613
  - spec/lib/sprockets_spec.rb
583
614
  - spec/lib/tilt/opal_spec.rb
584
- - spec/mspec/opal/formatters.rb
585
- - spec/mspec/opal/runner.rb
615
+ - spec/mspec-opal/formatters.rb
616
+ - spec/mspec-opal/runner.rb
586
617
  - spec/opal/compiler/irb_spec.rb
587
618
  - spec/opal/core/arity_spec.rb
588
619
  - spec/opal/core/array/intersection_spec.rb
@@ -612,6 +643,7 @@ files:
612
643
  - spec/opal/core/enumerable/one_break_spec.rb
613
644
  - spec/opal/core/enumerable/reduce_break_spec.rb
614
645
  - spec/opal/core/enumerable/take_while_break_spec.rb
646
+ - spec/opal/core/enumerator/with_index_spec.rb
615
647
  - spec/opal/core/exception_spec.rb
616
648
  - spec/opal/core/fixtures/class.rb
617
649
  - spec/opal/core/fixtures/class_variables.rb
@@ -676,10 +708,12 @@ files:
676
708
  - spec/opal/core/language/fixtures/super.rb
677
709
  - spec/opal/core/language/fixtures/variables.rb
678
710
  - spec/opal/core/language/fixtures/yield.rb
711
+ - spec/opal/core/language/heredoc_spec.rb
679
712
  - spec/opal/core/language/keyword_arguments_spec.rb
680
713
  - spec/opal/core/language/predefined_spec.rb
681
714
  - spec/opal/core/language/proc_spec.rb
682
715
  - spec/opal/core/language/regexp_spec.rb
716
+ - spec/opal/core/language/rescue_spec.rb
683
717
  - spec/opal/core/language/send_spec.rb
684
718
  - spec/opal/core/language/string_spec.rb
685
719
  - spec/opal/core/language/ternary_operator_spec.rb
@@ -810,13 +844,16 @@ files:
810
844
  - spec/opal/stdlib/thread/mutex_spec.rb
811
845
  - spec/opal/stdlib/thread/thread_queue_spec.rb
812
846
  - spec/opal/stdlib/thread/thread_spec.rb
813
- - spec/rubyspecs
847
+ - spec/ruby_specs
814
848
  - spec/spec_helper.rb
815
849
  - spec/support/mspec_rspec_adapter.rb
816
850
  - spec/support/parser_helpers.rb
817
851
  - stdlib/README.md
818
852
  - stdlib/base64.rb
819
853
  - stdlib/benchmark.rb
854
+ - stdlib/bigdecimal.rb
855
+ - stdlib/bigdecimal/bignumber.js.rb
856
+ - stdlib/bigdecimal/kernel.rb
820
857
  - stdlib/buffer.rb
821
858
  - stdlib/buffer/array.rb
822
859
  - stdlib/buffer/view.rb
@@ -845,6 +882,7 @@ files:
845
882
  - stdlib/nodejs/io.rb
846
883
  - stdlib/nodejs/irb.rb
847
884
  - stdlib/nodejs/kernel.rb
885
+ - stdlib/nodejs/node_modules/.bin/js-yaml
848
886
  - stdlib/nodejs/node_modules/glob/LICENSE
849
887
  - stdlib/nodejs/node_modules/glob/README.md
850
888
  - stdlib/nodejs/node_modules/glob/common.js
@@ -966,6 +1004,8 @@ files:
966
1004
  - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js
967
1005
  - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js
968
1006
  - stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js
1007
+ - stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esparse
1008
+ - stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esvalidate
969
1009
  - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md
970
1010
  - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE
971
1011
  - stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md
@@ -1067,6 +1107,7 @@ files:
1067
1107
  - tasks/testing/mspec_special_calls.rb
1068
1108
  - tasks/testing/sprockets-phantomjs.js
1069
1109
  - test/opal/test_keyword.rb
1110
+ - test/opal/unsupported_and_bugs.rb
1070
1111
  - vendored-minitest/minitest.rb
1071
1112
  - vendored-minitest/minitest/assertions.rb
1072
1113
  - vendored-minitest/minitest/autorun.rb
@@ -1096,12 +1137,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1096
1137
  version: 1.9.3
1097
1138
  required_rubygems_version: !ruby/object:Gem::Requirement
1098
1139
  requirements:
1099
- - - ">="
1140
+ - - ">"
1100
1141
  - !ruby/object:Gem::Version
1101
- version: '0'
1142
+ version: 1.3.1
1102
1143
  requirements: []
1103
1144
  rubyforge_project:
1104
- rubygems_version: 2.4.8
1145
+ rubygems_version: 2.5.2
1105
1146
  signing_key:
1106
1147
  specification_version: 4
1107
1148
  summary: Ruby runtime and core library for JavaScript
@@ -1109,6 +1150,7 @@ test_files:
1109
1150
  - spec/README.md
1110
1151
  - spec/filters/bugs/array.rb
1111
1152
  - spec/filters/bugs/basicobject.rb
1153
+ - spec/filters/bugs/bigdecimal.rb
1112
1154
  - spec/filters/bugs/class.rb
1113
1155
  - spec/filters/bugs/complex.rb
1114
1156
  - spec/filters/bugs/date.rb
@@ -1127,6 +1169,7 @@ test_files:
1127
1169
  - spec/filters/bugs/numeric.rb
1128
1170
  - spec/filters/bugs/proc.rb
1129
1171
  - spec/filters/bugs/range.rb
1172
+ - spec/filters/bugs/rational.rb
1130
1173
  - spec/filters/bugs/regexp.rb
1131
1174
  - spec/filters/bugs/set.rb
1132
1175
  - spec/filters/bugs/singleton.rb
@@ -1166,9 +1209,12 @@ test_files:
1166
1209
  - spec/filters/unsupported/time.rb
1167
1210
  - spec/lib/builder_processors_spec.rb
1168
1211
  - spec/lib/builder_spec.rb
1212
+ - spec/lib/cli_runners/phantomjs_spec.rb
1169
1213
  - spec/lib/cli_spec.rb
1214
+ - spec/lib/compiler/call_spec.rb
1170
1215
  - spec/lib/compiler/pre_processed_conditionals_spec.rb
1171
1216
  - spec/lib/compiler_spec.rb
1217
+ - spec/lib/config_spec.rb
1172
1218
  - spec/lib/dependency_resolver_spec.rb
1173
1219
  - spec/lib/fixtures/complex_sprockets.js.rb.erb
1174
1220
  - spec/lib/fixtures/file_with_directives.js
@@ -1229,8 +1275,8 @@ test_files:
1229
1275
  - spec/lib/sprockets/server_spec.rb
1230
1276
  - spec/lib/sprockets_spec.rb
1231
1277
  - spec/lib/tilt/opal_spec.rb
1232
- - spec/mspec/opal/formatters.rb
1233
- - spec/mspec/opal/runner.rb
1278
+ - spec/mspec-opal/formatters.rb
1279
+ - spec/mspec-opal/runner.rb
1234
1280
  - spec/opal/compiler/irb_spec.rb
1235
1281
  - spec/opal/core/arity_spec.rb
1236
1282
  - spec/opal/core/array/intersection_spec.rb
@@ -1260,6 +1306,7 @@ test_files:
1260
1306
  - spec/opal/core/enumerable/one_break_spec.rb
1261
1307
  - spec/opal/core/enumerable/reduce_break_spec.rb
1262
1308
  - spec/opal/core/enumerable/take_while_break_spec.rb
1309
+ - spec/opal/core/enumerator/with_index_spec.rb
1263
1310
  - spec/opal/core/exception_spec.rb
1264
1311
  - spec/opal/core/fixtures/class.rb
1265
1312
  - spec/opal/core/fixtures/class_variables.rb
@@ -1324,10 +1371,12 @@ test_files:
1324
1371
  - spec/opal/core/language/fixtures/super.rb
1325
1372
  - spec/opal/core/language/fixtures/variables.rb
1326
1373
  - spec/opal/core/language/fixtures/yield.rb
1374
+ - spec/opal/core/language/heredoc_spec.rb
1327
1375
  - spec/opal/core/language/keyword_arguments_spec.rb
1328
1376
  - spec/opal/core/language/predefined_spec.rb
1329
1377
  - spec/opal/core/language/proc_spec.rb
1330
1378
  - spec/opal/core/language/regexp_spec.rb
1379
+ - spec/opal/core/language/rescue_spec.rb
1331
1380
  - spec/opal/core/language/send_spec.rb
1332
1381
  - spec/opal/core/language/string_spec.rb
1333
1382
  - spec/opal/core/language/ternary_operator_spec.rb
@@ -1458,9 +1507,10 @@ test_files:
1458
1507
  - spec/opal/stdlib/thread/mutex_spec.rb
1459
1508
  - spec/opal/stdlib/thread/thread_queue_spec.rb
1460
1509
  - spec/opal/stdlib/thread/thread_spec.rb
1461
- - spec/rubyspecs
1510
+ - spec/ruby_specs
1462
1511
  - spec/spec_helper.rb
1463
1512
  - spec/support/mspec_rspec_adapter.rb
1464
1513
  - spec/support/parser_helpers.rb
1465
1514
  - test/opal/test_keyword.rb
1515
+ - test/opal/unsupported_and_bugs.rb
1466
1516
  has_rdoc:
data/.spectator DELETED
@@ -1,2 +0,0 @@
1
- BASE_DIR_REGEXP: 'lib/opal'
2
- SPEC_DIR_REGEXP: 'spec/lib'
data/.spectator-mspec DELETED
@@ -1,3 +0,0 @@
1
- BASE_DIR_REGEXP: '(?:opal/corelib|stdlib)'
2
- SPEC_DIR_REGEXP: '(?:spec/corelib/(?:core|language)|spec/opal|spec/stdlib/.*?/spec\b)'
3
- RSPEC_COMMAND: 'bundle exec ./bin/opal-mspec'
@@ -1,127 +0,0 @@
1
- class Array
2
- def self.inherited(klass)
3
- replace = Class.new(Array::Wrapper)
4
-
5
- %x{
6
- klass.$$proto = replace.$$proto;
7
- klass.$$proto.$$class = klass;
8
- klass.$$alloc = replace.$$alloc;
9
- klass.$$parent = #{Array::Wrapper};
10
-
11
- klass.$allocate = replace.$allocate;
12
- klass.$new = replace.$new;
13
- klass["$[]"] = replace["$[]"];
14
- }
15
- end
16
- end
17
-
18
- class Array::Wrapper
19
- `def.$$is_array = true`
20
-
21
- def self.allocate(array = [])
22
- obj = super()
23
- `obj.literal = array`
24
- obj
25
- end
26
-
27
- def self.new(*args, &block)
28
- obj = allocate
29
- obj.initialize(*args, &block)
30
- obj
31
- end
32
-
33
- def self.[](*objects)
34
- allocate(objects)
35
- end
36
-
37
- def initialize(*args, &block)
38
- @literal = Array.new(*args, &block)
39
- end
40
-
41
- def method_missing(*args, &block)
42
- result = @literal.__send__(*args, &block)
43
-
44
- if `result === #@literal`
45
- self
46
- else
47
- result
48
- end
49
- end
50
-
51
- def initialize_copy(other)
52
- @literal = `other.literal`.clone
53
- end
54
-
55
- def respond_to?(name, *)
56
- super || @literal.respond_to?(name)
57
- end
58
-
59
- def ==(other)
60
- @literal == other
61
- end
62
-
63
- def eql?(other)
64
- @literal.eql?(other)
65
- end
66
-
67
- def to_a
68
- @literal
69
- end
70
-
71
- def to_ary
72
- self
73
- end
74
-
75
- def inspect
76
- @literal.inspect
77
- end
78
-
79
- def hash
80
- @literal.hash
81
- end
82
-
83
- # wrapped results
84
- def *(other)
85
- %x{
86
- var result = #{@literal * other};
87
-
88
- if (result.$$is_array) {
89
- return #{self.class.allocate(`result`)}
90
- }
91
- else {
92
- return result;
93
- }
94
- }
95
- end
96
-
97
- def [](index, length = undefined)
98
- %x{
99
- var result = #{@literal.slice(index, length)};
100
-
101
- if (result.$$is_array && (index.$$is_range || length !== undefined)) {
102
- return #{self.class.allocate(`result`)}
103
- }
104
- else {
105
- return result;
106
- }
107
- }
108
- end
109
-
110
- alias slice []
111
-
112
- def uniq
113
- self.class.allocate(@literal.uniq)
114
- end
115
-
116
- def flatten(level = undefined)
117
- self.class.allocate(@literal.flatten(level))
118
- end
119
-
120
- def -(other)
121
- @literal - other
122
- end
123
-
124
- def +(other)
125
- @literal + other
126
- end
127
- end