opal 0.9.0.beta2 → 0.9.0.rc1
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.
- checksums.yaml +4 -4
- data/.jshintrc +2 -1
- data/.travis.yml +8 -4
- data/CHANGELOG.md +270 -251
- data/CONTRIBUTING.md +41 -0
- data/README.md +8 -8
- data/Rakefile +1 -1
- data/lib/opal/cli.rb +1 -0
- data/lib/opal/cli_options.rb +2 -2
- data/lib/opal/cli_runners.rb +1 -0
- data/lib/opal/cli_runners/nashorn.rb +58 -0
- data/lib/opal/cli_runners/phantom.js +11 -9
- data/lib/opal/compiler.rb +2 -0
- data/lib/opal/erb.rb +2 -1
- data/lib/opal/nodes/def.rb +15 -6
- data/lib/opal/nodes/helpers.rb +1 -1
- data/lib/opal/nodes/literal.rb +1 -1
- data/lib/opal/nodes/masgn.rb +79 -29
- data/lib/opal/nodes/module.rb +1 -1
- data/lib/opal/nodes/top.rb +6 -2
- data/lib/opal/parser.rb +1 -0
- data/lib/opal/parser/grammar.rb +3160 -3083
- data/lib/opal/parser/grammar.y +39 -11
- data/lib/opal/parser/lexer.rb +15 -13
- data/lib/opal/parser/sexp.rb +5 -0
- data/lib/opal/version.rb +1 -1
- data/opal/corelib/array.rb +21 -6
- data/opal/corelib/basic_object.rb +17 -4
- data/opal/corelib/class.rb +1 -1
- data/opal/corelib/constants.rb +2 -2
- data/opal/corelib/enumerator.rb +2 -0
- data/opal/corelib/hash.rb +50 -50
- data/opal/corelib/helpers.rb +1 -1
- data/opal/corelib/io.rb +9 -6
- data/opal/corelib/kernel.rb +37 -9
- data/opal/corelib/module.rb +6 -17
- data/opal/corelib/nil.rb +4 -0
- data/opal/corelib/number.rb +0 -4
- data/opal/corelib/runtime.js +637 -662
- data/opal/corelib/struct.rb +7 -3
- data/spec/filters/bugs/array.rb +4 -9
- data/spec/filters/bugs/basicobject.rb +1 -15
- data/spec/filters/bugs/date.rb +4 -26
- data/spec/filters/bugs/enumerable.rb +26 -1
- data/spec/filters/bugs/enumerator.rb +4 -4
- data/spec/filters/bugs/exception.rb +1 -7
- data/spec/filters/bugs/float.rb +14 -0
- data/spec/filters/bugs/hash.rb +0 -2
- data/spec/filters/bugs/integer.rb +1 -1
- data/spec/filters/bugs/kernel.rb +47 -66
- data/spec/filters/bugs/language.rb +1 -2
- data/spec/filters/bugs/module.rb +11 -14
- data/spec/filters/bugs/numeric.rb +3 -3
- data/spec/filters/bugs/proc.rb +0 -1
- data/spec/filters/bugs/range.rb +2 -3
- data/spec/filters/bugs/regexp.rb +15 -17
- data/spec/filters/bugs/set.rb +2 -2
- data/spec/filters/bugs/string.rb +29 -5
- data/spec/filters/bugs/{strscan.rb → stringscanner.rb} +9 -10
- data/spec/filters/bugs/struct.rb +0 -4
- data/spec/filters/bugs/time.rb +2 -3
- data/spec/filters/bugs/unboundmethod.rb +3 -0
- data/spec/filters/unsupported/freeze.rb +2 -1
- data/spec/filters/unsupported/taint.rb +2 -0
- data/spec/lib/parser/aref_spec.rb +10 -0
- data/spec/lib/parser/lambda_spec.rb +14 -0
- data/spec/lib/parser/op_asgn_spec.rb +17 -0
- data/spec/lib/parser/return_spec.rb +5 -0
- data/spec/lib/parser/unary_spec.rb +4 -0
- data/spec/lib/sprockets/erb_spec.rb +1 -1
- data/spec/mspec/opal/formatters.rb +159 -0
- data/{lib → spec}/mspec/opal/runner.rb +0 -160
- data/spec/opal/core/hash/internals_spec.rb +162 -162
- data/spec/opal/core/kernel/at_exit_spec.rb +70 -0
- data/spec/opal/core/kernel/extend_spec.rb +1 -1
- data/spec/opal/core/kernel/instance_variables_spec.rb +56 -0
- data/spec/opal/core/language/equal_spec.rb +8 -0
- data/spec/opal/core/language/predefined_spec.rb +1 -1
- data/spec/opal/core/language/ternary_operator_spec.rb +14 -0
- data/spec/opal/core/language/versions/{hash_1.9.rb → hash_1_9_spec.rb} +5 -0
- data/spec/opal/core/module/fixtures/classes.rb +11 -1
- data/spec/opal/core/module/method_lookup_spec.rb +13 -0
- data/spec/opal/core/runtime/super_spec.rb +10 -0
- data/spec/opal/stdlib/native/new_spec.rb +84 -0
- data/spec/opal/stdlib/strscan/scan_spec.rb +11 -0
- data/spec/rubyspecs +6 -9
- data/spec/spec_helper.rb +9 -21
- data/stdlib/date.rb +121 -1
- data/stdlib/js.rb +13 -5
- data/stdlib/json.rb +3 -3
- data/stdlib/nashorn.rb +5 -0
- data/stdlib/nashorn/file.rb +13 -0
- data/stdlib/nashorn/io.rb +2 -0
- data/stdlib/native.rb +12 -4
- data/stdlib/nodejs/io.rb +5 -2
- data/stdlib/opal/platform.rb +19 -0
- data/stdlib/phantomjs.rb +4 -0
- data/stdlib/strscan.rb +1 -1
- data/tasks/building.rake +2 -1
- data/tasks/testing.rake +29 -34
- data/tasks/testing/{phantomjs1-sprockets.js → sprockets-phantomjs.js} +2 -20
- data/vendored-minitest/minitest/test.rb +7 -15
- metadata +32 -9
- data/lib/mspec/opal/main.rb.erb +0 -9
data/stdlib/js.rb
CHANGED
|
@@ -23,11 +23,19 @@ module JS
|
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
# Use new to create a new instance of the prototype of the function.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
if `typeof Function.prototype.bind == 'function'`
|
|
27
|
+
def new(func, *args, &block)
|
|
28
|
+
args.insert(0, `this`)
|
|
29
|
+
args << block if block
|
|
30
|
+
`new (#{func}.bind.apply(#{func}, #{args}))()`
|
|
31
|
+
end
|
|
32
|
+
else
|
|
33
|
+
def new(func, *args, &block)
|
|
34
|
+
args << block if block
|
|
35
|
+
f = `function(){return func.apply(this, args)}`
|
|
36
|
+
f.JS[:prototype] = func.JS[:prototype]
|
|
37
|
+
`new f()`
|
|
38
|
+
end
|
|
31
39
|
end
|
|
32
40
|
|
|
33
41
|
# Use typeof to return the underlying javascript type of value.
|
data/stdlib/json.rb
CHANGED
|
@@ -83,7 +83,7 @@ module JSON
|
|
|
83
83
|
options[:object_class] ||= Hash
|
|
84
84
|
options[:array_class] ||= Array
|
|
85
85
|
|
|
86
|
-
`to_opal(js_object, options
|
|
86
|
+
`to_opal(js_object, options.$$smap)`
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
def self.generate(obj, options = {})
|
|
@@ -143,11 +143,11 @@ class Hash
|
|
|
143
143
|
%x{
|
|
144
144
|
var result = [];
|
|
145
145
|
|
|
146
|
-
for (var i = 0, keys = self
|
|
146
|
+
for (var i = 0, keys = self.$$keys, length = keys.length, key, value; i < length; i++) {
|
|
147
147
|
key = keys[i];
|
|
148
148
|
|
|
149
149
|
if (key.$$is_string) {
|
|
150
|
-
value = self
|
|
150
|
+
value = self.$$smap[key];
|
|
151
151
|
} else {
|
|
152
152
|
value = key.value;
|
|
153
153
|
key = key.key;
|
data/stdlib/nashorn.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
class File
|
|
2
|
+
|
|
3
|
+
def self.read path
|
|
4
|
+
%x(
|
|
5
|
+
var Paths = Java.type('java.nio.file.Paths');
|
|
6
|
+
var Files = Java.type('java.nio.file.Files');
|
|
7
|
+
var lines = Files.readAllLines(Paths.get(path), Java.type('java.nio.charset.StandardCharsets').UTF_8);
|
|
8
|
+
var data = [];
|
|
9
|
+
lines.forEach(function(line) { data.push(line); });
|
|
10
|
+
return data.join("\n");
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
end
|
data/stdlib/native.rb
CHANGED
|
@@ -213,6 +213,14 @@ module Kernel
|
|
|
213
213
|
nil
|
|
214
214
|
elsif native?(obj)
|
|
215
215
|
Native::Object.new(obj)
|
|
216
|
+
elsif obj.is_a?(Array)
|
|
217
|
+
obj.map do |o|
|
|
218
|
+
Native(o)
|
|
219
|
+
end
|
|
220
|
+
elsif obj.is_a?(Proc)
|
|
221
|
+
proc do |*args, &block|
|
|
222
|
+
Native(obj.call(*args, &block))
|
|
223
|
+
end
|
|
216
224
|
else
|
|
217
225
|
obj
|
|
218
226
|
end
|
|
@@ -524,8 +532,8 @@ class Hash
|
|
|
524
532
|
def initialize(defaults = undefined, &block)
|
|
525
533
|
%x{
|
|
526
534
|
if (defaults !== undefined && defaults.constructor === Object) {
|
|
527
|
-
var smap = self
|
|
528
|
-
keys = self
|
|
535
|
+
var smap = self.$$smap,
|
|
536
|
+
keys = self.$$keys,
|
|
529
537
|
key, value;
|
|
530
538
|
|
|
531
539
|
for (key in defaults) {
|
|
@@ -561,8 +569,8 @@ class Hash
|
|
|
561
569
|
def to_n
|
|
562
570
|
%x{
|
|
563
571
|
var result = {},
|
|
564
|
-
keys = self
|
|
565
|
-
smap = self
|
|
572
|
+
keys = self.$$keys,
|
|
573
|
+
smap = self.$$smap,
|
|
566
574
|
key, value;
|
|
567
575
|
|
|
568
576
|
for (var i = 0, length = keys.length; i < length; i++) {
|
data/stdlib/nodejs/io.rb
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
STDOUT.write_proc = -> (string) {`process.stdout.write(string)`}
|
|
2
|
+
STDERR.write_proc = -> (string) {`process.stderr.write(string)`}
|
|
3
|
+
|
|
4
|
+
STDOUT.tty = true
|
|
5
|
+
STDERR.tty = true
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
phantomjs = `typeof(callPhantom) !== "undefined"`
|
|
2
|
+
browser = `typeof(document) !== "undefined"`
|
|
3
|
+
node = `typeof(process) !== "undefined" && process.versions && process.versions.node`
|
|
4
|
+
nashorn = `typeof(Java) !== "undefined" && Java.type`
|
|
5
|
+
|
|
6
|
+
case
|
|
7
|
+
when nashorn
|
|
8
|
+
OPAL_PLATFORM = 'nashorn'
|
|
9
|
+
require 'nashorn'
|
|
10
|
+
when phantomjs
|
|
11
|
+
OPAL_PLATFORM = 'phantomjs'
|
|
12
|
+
require 'phantomjs'
|
|
13
|
+
when node
|
|
14
|
+
OPAL_PLATFORM = 'nodejs'
|
|
15
|
+
require 'nodejs/kernel'
|
|
16
|
+
require 'nodejs/io'
|
|
17
|
+
else # browser, which is the primary target
|
|
18
|
+
# noop
|
|
19
|
+
end
|
data/stdlib/phantomjs.rb
CHANGED
data/stdlib/strscan.rb
CHANGED
data/tasks/building.rake
CHANGED
|
@@ -48,7 +48,8 @@ end
|
|
|
48
48
|
|
|
49
49
|
desc 'Rebuild grammar.rb for opal parser'
|
|
50
50
|
task :racc do
|
|
51
|
-
|
|
51
|
+
debug_option = '--debug' if ENV['RACC_DEBUG']
|
|
52
|
+
sh "racc #{debug_option} -l -o lib/opal/parser/grammar.rb lib/opal/parser/grammar.y"
|
|
52
53
|
end
|
|
53
54
|
|
|
54
55
|
desc 'Remove any generated file.'
|
data/tasks/testing.rake
CHANGED
|
@@ -14,6 +14,7 @@ module Testing
|
|
|
14
14
|
mspec/helpers/environment
|
|
15
15
|
mspec/guards/block_device
|
|
16
16
|
mspec/guards/endian
|
|
17
|
+
a_file
|
|
17
18
|
]
|
|
18
19
|
end
|
|
19
20
|
|
|
@@ -73,10 +74,12 @@ module Testing
|
|
|
73
74
|
|
|
74
75
|
File.write filename, <<-RUBY
|
|
75
76
|
require 'spec_helper'
|
|
77
|
+
require 'opal/platform'
|
|
76
78
|
#{enter_benchmarking_mode}
|
|
77
79
|
#{requires.join("\n ")}
|
|
78
80
|
OSpecFilter.main.unused_filters_message(list: #{!!ENV['LIST_UNUSED_FILTERS']})
|
|
79
81
|
OSpecRunner.main.did_finish
|
|
82
|
+
exit MSpec.exit_code
|
|
80
83
|
RUBY
|
|
81
84
|
end
|
|
82
85
|
|
|
@@ -101,10 +104,10 @@ Use PATTERN environment variable to manually set the glob for specs:
|
|
|
101
104
|
DESC
|
|
102
105
|
|
|
103
106
|
%w[rubyspec opal].each do |suite|
|
|
104
|
-
desc "Run the MSpec/#{suite} test suite on
|
|
105
|
-
task :"mspec_#{suite}
|
|
106
|
-
filename = File.expand_path('tmp/
|
|
107
|
-
runner = "#{__dir__}/testing/
|
|
107
|
+
desc "Run the MSpec/#{suite} test suite on Opal::Sprockets/phantomjs" + pattern_usage
|
|
108
|
+
task :"mspec_#{suite}_sprockets_phantomjs" do
|
|
109
|
+
filename = File.expand_path('tmp/mspec_sprockets_phantomjs.rb')
|
|
110
|
+
runner = "#{__dir__}/testing/sprockets-phantomjs.js"
|
|
108
111
|
port = 9999
|
|
109
112
|
url = "http://localhost:#{port}/"
|
|
110
113
|
|
|
@@ -114,7 +117,7 @@ DESC
|
|
|
114
117
|
Testing.stubs.each {|s| ::Opal::Processor.stub_file s }
|
|
115
118
|
|
|
116
119
|
Opal::Config.arity_check_enabled = true
|
|
117
|
-
Opal::Config.freezing_stubs_enabled =
|
|
120
|
+
Opal::Config.freezing_stubs_enabled = true
|
|
118
121
|
Opal::Config.tainting_stubs_enabled = false
|
|
119
122
|
Opal::Config.dynamic_require_severity = :error
|
|
120
123
|
|
|
@@ -134,29 +137,33 @@ DESC
|
|
|
134
137
|
end
|
|
135
138
|
end
|
|
136
139
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
+
%w[nodejs phantomjs].each do |platform|
|
|
141
|
+
desc "Run the MSpec test suite on Opal::Builder/#{platform}" + pattern_usage
|
|
142
|
+
task :"mspec_#{suite}_#{platform}" do
|
|
143
|
+
include_paths = '-Ispec -Ilib'
|
|
140
144
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
Testing.write_file filename, Testing.specs(ENV.to_hash.merge 'SUITE' => suite), bm_filepath
|
|
145
|
+
filename = "tmp/mspec_#{platform}.rb"
|
|
146
|
+
mkdir_p File.dirname(filename)
|
|
147
|
+
bm_filepath = Testing.bm_filepath if ENV['BM']
|
|
148
|
+
Testing.write_file filename, Testing.specs(ENV.to_hash.merge 'SUITE' => suite), bm_filepath
|
|
146
149
|
|
|
147
|
-
|
|
150
|
+
stubs = Testing.stubs.map{|s| "-s#{s}"}.join(' ')
|
|
148
151
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
sh "NODE_PATH=stdlib/nodejs/node_modules node #{js_filename}"
|
|
152
|
+
sh "ruby -rbundler/setup -r#{__dir__}/testing/mspec_special_calls "\
|
|
153
|
+
"bin/opal -gmspec #{include_paths} #{stubs} -R#{platform} -Dwarning -A #{filename}"
|
|
152
154
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
155
|
+
if bm_filepath
|
|
156
|
+
puts "Benchmark results have been written to #{bm_filepath}"
|
|
157
|
+
puts "To view the results, run bundle exec rake bench:report"
|
|
158
|
+
end
|
|
156
159
|
end
|
|
157
160
|
end
|
|
158
161
|
end
|
|
159
162
|
|
|
163
|
+
task :mspec_phantomjs => [:mspec_opal_phantomjs, :mspec_rubyspec_phantomjs]
|
|
164
|
+
task :mspec_nodejs => [:mspec_opal_nodejs, :mspec_rubyspec_nodejs]
|
|
165
|
+
task :mspec_sprockets_phantomjs => [:mspec_opal_sprockets_phantomjs, :mspec_rubyspec_sprockets_phantomjs]
|
|
166
|
+
|
|
160
167
|
task :jshint do
|
|
161
168
|
js_filename = 'tmp/jshint.js'
|
|
162
169
|
mkdir_p 'tmp'
|
|
@@ -213,23 +220,11 @@ task :cruby_tests do
|
|
|
213
220
|
puts "== Running: #{files.join ", "}"
|
|
214
221
|
|
|
215
222
|
sh "ruby -rbundler/setup "\
|
|
216
|
-
"bin/opal #{include_paths} #{stubs} -
|
|
223
|
+
"bin/opal #{include_paths} #{stubs} -ropal/platform -ropal-parser -Dwarning -A #{filename} -c > #{js_filename}"
|
|
217
224
|
sh "NODE_PATH=stdlib/nodejs/node_modules node #{js_filename}"
|
|
218
225
|
end
|
|
219
226
|
|
|
220
|
-
task :mspec => [:
|
|
227
|
+
task :mspec => [:mspec_phantomjs, :mspec_nodejs, :mspec_sprockets_phantomjs]
|
|
221
228
|
task :minitest => [:cruby_tests]
|
|
222
229
|
task :test_all => [:rspec, :mspec, :minitest]
|
|
223
230
|
|
|
224
|
-
|
|
225
|
-
if (current_suite = ENV['SUITE'])
|
|
226
|
-
# Legacy tasks, only if ENV['SUITE'] is set
|
|
227
|
-
desc "Deprecated: use mspec_rubyspec_phantom or mspec_opal_phantom instead"
|
|
228
|
-
task :mspec_phantom => :"mspec_#{current_suite}_phantom"
|
|
229
|
-
|
|
230
|
-
desc "Deprecated: use mspec_rubyspec_node or mspec_opal_node instead"
|
|
231
|
-
task :mspec_node => :"mspec_#{current_suite}_node"
|
|
232
|
-
else
|
|
233
|
-
task :mspec_phantom => [:mspec_opal_phantom, :mspec_rubyspec_phantom]
|
|
234
|
-
task :mspec_node => [:mspec_opal_node, :mspec_rubyspec_node]
|
|
235
|
-
end
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Test runner for phantomjs
|
|
3
3
|
*/
|
|
4
|
-
var
|
|
4
|
+
var system = require('system');
|
|
5
|
+
var args = phantom.args ? phantom.args : system.args.slice(1);
|
|
5
6
|
var page = require('webpage').create();
|
|
6
7
|
var url = args[0];
|
|
7
8
|
|
|
@@ -25,7 +26,6 @@ page.onInitialized = function() {
|
|
|
25
26
|
});
|
|
26
27
|
};
|
|
27
28
|
|
|
28
|
-
var system = require('system');
|
|
29
29
|
page.onCallback = function(data) {
|
|
30
30
|
switch (data[0]) {
|
|
31
31
|
case 'exit':
|
|
@@ -46,23 +46,5 @@ page.open(url, function(status) {
|
|
|
46
46
|
if (status !== 'success') {
|
|
47
47
|
console.error("Cannot load: " + url);
|
|
48
48
|
phantom_exit(1);
|
|
49
|
-
} else {
|
|
50
|
-
var timeout = parseInt(args[1] || 60000, 10);
|
|
51
|
-
var start = Date.now();
|
|
52
|
-
var interval = setInterval(function() {
|
|
53
|
-
if (Date.now() > start + timeout) {
|
|
54
|
-
console.error("Specs timed out");
|
|
55
|
-
phantom_exit(124);
|
|
56
|
-
} else {
|
|
57
|
-
var code = page.evaluate(function() {
|
|
58
|
-
return window.OPAL_SPEC_CODE;
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
if (code === 0 || code === 1) {
|
|
62
|
-
clearInterval(interval);
|
|
63
|
-
phantom_exit(code);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}, 500);
|
|
67
49
|
}
|
|
68
50
|
});
|
|
@@ -202,21 +202,13 @@ module Minitest
|
|
|
202
202
|
end # LifecycleHooks
|
|
203
203
|
|
|
204
204
|
def capture_exceptions # :nodoc:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
# self.failures << UnexpectedError.new(e)
|
|
213
|
-
rescue => e
|
|
214
|
-
case e
|
|
215
|
-
when *PASSTHROUGH_EXCEPTIONS
|
|
216
|
-
when Assertion then self.failures << e
|
|
217
|
-
when Exception then self.failures << UnexpectedError.new(e)
|
|
218
|
-
end
|
|
219
|
-
end
|
|
205
|
+
yield
|
|
206
|
+
rescue *PASSTHROUGH_EXCEPTIONS
|
|
207
|
+
raise
|
|
208
|
+
rescue Assertion => e
|
|
209
|
+
self.failures << e
|
|
210
|
+
rescue Exception => e
|
|
211
|
+
self.failures << UnexpectedError.new(e)
|
|
220
212
|
end
|
|
221
213
|
|
|
222
214
|
##
|
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.0.
|
|
4
|
+
version: 0.9.0.rc1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adam Beynon
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-11
|
|
11
|
+
date: 2015-12-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: sourcemap
|
|
@@ -347,8 +347,6 @@ files:
|
|
|
347
347
|
- examples/sinatra/Gemfile.lock
|
|
348
348
|
- examples/sinatra/app/application.rb
|
|
349
349
|
- examples/sinatra/config.ru
|
|
350
|
-
- lib/mspec/opal/main.rb.erb
|
|
351
|
-
- lib/mspec/opal/runner.rb
|
|
352
350
|
- lib/opal.rb
|
|
353
351
|
- lib/opal/builder.rb
|
|
354
352
|
- lib/opal/builder_processors.rb
|
|
@@ -356,6 +354,7 @@ files:
|
|
|
356
354
|
- lib/opal/cli_options.rb
|
|
357
355
|
- lib/opal/cli_runners.rb
|
|
358
356
|
- lib/opal/cli_runners/apple_script.rb
|
|
357
|
+
- lib/opal/cli_runners/nashorn.rb
|
|
359
358
|
- lib/opal/cli_runners/nodejs.rb
|
|
360
359
|
- lib/opal/cli_runners/phantom.js
|
|
361
360
|
- lib/opal/cli_runners/phantomjs.rb
|
|
@@ -484,7 +483,7 @@ files:
|
|
|
484
483
|
- spec/filters/bugs/set.rb
|
|
485
484
|
- spec/filters/bugs/singleton.rb
|
|
486
485
|
- spec/filters/bugs/string.rb
|
|
487
|
-
- spec/filters/bugs/
|
|
486
|
+
- spec/filters/bugs/stringscanner.rb
|
|
488
487
|
- spec/filters/bugs/struct.rb
|
|
489
488
|
- spec/filters/bugs/time.rb
|
|
490
489
|
- spec/filters/bugs/unboundmethod.rb
|
|
@@ -541,6 +540,7 @@ files:
|
|
|
541
540
|
- spec/lib/lexer_spec.rb
|
|
542
541
|
- spec/lib/parser/alias_spec.rb
|
|
543
542
|
- spec/lib/parser/and_spec.rb
|
|
543
|
+
- spec/lib/parser/aref_spec.rb
|
|
544
544
|
- spec/lib/parser/attrasgn_spec.rb
|
|
545
545
|
- spec/lib/parser/begin_spec.rb
|
|
546
546
|
- spec/lib/parser/block_spec.rb
|
|
@@ -558,6 +558,7 @@ files:
|
|
|
558
558
|
- spec/lib/parser/not_spec.rb
|
|
559
559
|
- spec/lib/parser/op_asgn1_spec.rb
|
|
560
560
|
- spec/lib/parser/op_asgn2_spec.rb
|
|
561
|
+
- spec/lib/parser/op_asgn_spec.rb
|
|
561
562
|
- spec/lib/parser/or_spec.rb
|
|
562
563
|
- spec/lib/parser/return_spec.rb
|
|
563
564
|
- spec/lib/parser/sclass_spec.rb
|
|
@@ -580,6 +581,8 @@ files:
|
|
|
580
581
|
- spec/lib/sprockets/server_spec.rb
|
|
581
582
|
- spec/lib/sprockets_spec.rb
|
|
582
583
|
- spec/lib/tilt/opal_spec.rb
|
|
584
|
+
- spec/mspec/opal/formatters.rb
|
|
585
|
+
- spec/mspec/opal/runner.rb
|
|
583
586
|
- spec/opal/compiler/irb_spec.rb
|
|
584
587
|
- spec/opal/core/arity_spec.rb
|
|
585
588
|
- spec/opal/core/array/intersection_spec.rb
|
|
@@ -629,6 +632,7 @@ files:
|
|
|
629
632
|
- spec/opal/core/hash/internals_spec.rb
|
|
630
633
|
- spec/opal/core/helpers_spec.rb
|
|
631
634
|
- spec/opal/core/kernel/Array_spec.rb
|
|
635
|
+
- spec/opal/core/kernel/at_exit_spec.rb
|
|
632
636
|
- spec/opal/core/kernel/block_given_spec.rb
|
|
633
637
|
- spec/opal/core/kernel/class_spec.rb
|
|
634
638
|
- spec/opal/core/kernel/define_singleton_method_spec.rb
|
|
@@ -640,6 +644,7 @@ files:
|
|
|
640
644
|
- spec/opal/core/kernel/instance_variable_defined_spec.rb
|
|
641
645
|
- spec/opal/core/kernel/instance_variable_get_spec.rb
|
|
642
646
|
- spec/opal/core/kernel/instance_variable_set_spec.rb
|
|
647
|
+
- spec/opal/core/kernel/instance_variables_spec.rb
|
|
643
648
|
- spec/opal/core/kernel/loop_spec.rb
|
|
644
649
|
- spec/opal/core/kernel/match_spec.rb
|
|
645
650
|
- spec/opal/core/kernel/method_spec.rb
|
|
@@ -656,6 +661,7 @@ files:
|
|
|
656
661
|
- spec/opal/core/kernel/sprintf_spec.rb
|
|
657
662
|
- spec/opal/core/language/block_spec.rb
|
|
658
663
|
- spec/opal/core/language/class_spec.rb
|
|
664
|
+
- spec/opal/core/language/equal_spec.rb
|
|
659
665
|
- spec/opal/core/language/fixtures/array.rb
|
|
660
666
|
- spec/opal/core/language/fixtures/block.rb
|
|
661
667
|
- spec/opal/core/language/fixtures/break.rb
|
|
@@ -676,13 +682,14 @@ files:
|
|
|
676
682
|
- spec/opal/core/language/regexp_spec.rb
|
|
677
683
|
- spec/opal/core/language/send_spec.rb
|
|
678
684
|
- spec/opal/core/language/string_spec.rb
|
|
685
|
+
- spec/opal/core/language/ternary_operator_spec.rb
|
|
679
686
|
- spec/opal/core/language/variables_spec.rb
|
|
680
687
|
- spec/opal/core/language/versions/array_1.9.rb
|
|
681
688
|
- spec/opal/core/language/versions/block_1.9.rb
|
|
682
689
|
- spec/opal/core/language/versions/break_1.9.rb
|
|
683
690
|
- spec/opal/core/language/versions/case_1.9.rb
|
|
684
691
|
- spec/opal/core/language/versions/def_2_0_spec.rb
|
|
685
|
-
- spec/opal/core/language/versions/
|
|
692
|
+
- spec/opal/core/language/versions/hash_1_9_spec.rb
|
|
686
693
|
- spec/opal/core/language/versions/literal_lambda_1.9.rb
|
|
687
694
|
- spec/opal/core/language/versions/not_1.9.rb
|
|
688
695
|
- spec/opal/core/language/versions/send_1.9.rb
|
|
@@ -701,6 +708,7 @@ files:
|
|
|
701
708
|
- spec/opal/core/module/constants_spec.rb
|
|
702
709
|
- spec/opal/core/module/fixtures/classes.rb
|
|
703
710
|
- spec/opal/core/module/method_defined_spec.rb
|
|
711
|
+
- spec/opal/core/module/method_lookup_spec.rb
|
|
704
712
|
- spec/opal/core/module/module_function_spec.rb
|
|
705
713
|
- spec/opal/core/module/name_spec.rb
|
|
706
714
|
- spec/opal/core/module/public_method_defined_spec.rb
|
|
@@ -795,6 +803,7 @@ files:
|
|
|
795
803
|
- spec/opal/stdlib/promise/trace_spec.rb
|
|
796
804
|
- spec/opal/stdlib/promise/value_spec.rb
|
|
797
805
|
- spec/opal/stdlib/promise/when_spec.rb
|
|
806
|
+
- spec/opal/stdlib/strscan/scan_spec.rb
|
|
798
807
|
- spec/opal/stdlib/template/paths_spec.rb
|
|
799
808
|
- spec/opal/stdlib/thread/mutex_spec.rb
|
|
800
809
|
- spec/opal/stdlib/thread/thread_queue_spec.rb
|
|
@@ -823,6 +832,9 @@ files:
|
|
|
823
832
|
- stdlib/js.rb
|
|
824
833
|
- stdlib/json.rb
|
|
825
834
|
- stdlib/math.rb
|
|
835
|
+
- stdlib/nashorn.rb
|
|
836
|
+
- stdlib/nashorn/file.rb
|
|
837
|
+
- stdlib/nashorn/io.rb
|
|
826
838
|
- stdlib/native.rb
|
|
827
839
|
- stdlib/nodejs.rb
|
|
828
840
|
- stdlib/nodejs/dir.rb
|
|
@@ -1024,6 +1036,7 @@ files:
|
|
|
1024
1036
|
- stdlib/observer.rb
|
|
1025
1037
|
- stdlib/opal-parser.rb
|
|
1026
1038
|
- stdlib/opal-source-maps.rb
|
|
1039
|
+
- stdlib/opal/platform.rb
|
|
1027
1040
|
- stdlib/ostruct.rb
|
|
1028
1041
|
- stdlib/pathname.rb
|
|
1029
1042
|
- stdlib/phantomjs.rb
|
|
@@ -1053,7 +1066,7 @@ files:
|
|
|
1053
1066
|
- tasks/linting.rake
|
|
1054
1067
|
- tasks/testing.rake
|
|
1055
1068
|
- tasks/testing/mspec_special_calls.rb
|
|
1056
|
-
- tasks/testing/
|
|
1069
|
+
- tasks/testing/sprockets-phantomjs.js
|
|
1057
1070
|
- test/opal/test_keyword.rb
|
|
1058
1071
|
- vendored-minitest/minitest.rb
|
|
1059
1072
|
- vendored-minitest/minitest/assertions.rb
|
|
@@ -1119,7 +1132,7 @@ test_files:
|
|
|
1119
1132
|
- spec/filters/bugs/set.rb
|
|
1120
1133
|
- spec/filters/bugs/singleton.rb
|
|
1121
1134
|
- spec/filters/bugs/string.rb
|
|
1122
|
-
- spec/filters/bugs/
|
|
1135
|
+
- spec/filters/bugs/stringscanner.rb
|
|
1123
1136
|
- spec/filters/bugs/struct.rb
|
|
1124
1137
|
- spec/filters/bugs/time.rb
|
|
1125
1138
|
- spec/filters/bugs/unboundmethod.rb
|
|
@@ -1176,6 +1189,7 @@ test_files:
|
|
|
1176
1189
|
- spec/lib/lexer_spec.rb
|
|
1177
1190
|
- spec/lib/parser/alias_spec.rb
|
|
1178
1191
|
- spec/lib/parser/and_spec.rb
|
|
1192
|
+
- spec/lib/parser/aref_spec.rb
|
|
1179
1193
|
- spec/lib/parser/attrasgn_spec.rb
|
|
1180
1194
|
- spec/lib/parser/begin_spec.rb
|
|
1181
1195
|
- spec/lib/parser/block_spec.rb
|
|
@@ -1193,6 +1207,7 @@ test_files:
|
|
|
1193
1207
|
- spec/lib/parser/not_spec.rb
|
|
1194
1208
|
- spec/lib/parser/op_asgn1_spec.rb
|
|
1195
1209
|
- spec/lib/parser/op_asgn2_spec.rb
|
|
1210
|
+
- spec/lib/parser/op_asgn_spec.rb
|
|
1196
1211
|
- spec/lib/parser/or_spec.rb
|
|
1197
1212
|
- spec/lib/parser/return_spec.rb
|
|
1198
1213
|
- spec/lib/parser/sclass_spec.rb
|
|
@@ -1215,6 +1230,8 @@ test_files:
|
|
|
1215
1230
|
- spec/lib/sprockets/server_spec.rb
|
|
1216
1231
|
- spec/lib/sprockets_spec.rb
|
|
1217
1232
|
- spec/lib/tilt/opal_spec.rb
|
|
1233
|
+
- spec/mspec/opal/formatters.rb
|
|
1234
|
+
- spec/mspec/opal/runner.rb
|
|
1218
1235
|
- spec/opal/compiler/irb_spec.rb
|
|
1219
1236
|
- spec/opal/core/arity_spec.rb
|
|
1220
1237
|
- spec/opal/core/array/intersection_spec.rb
|
|
@@ -1264,6 +1281,7 @@ test_files:
|
|
|
1264
1281
|
- spec/opal/core/hash/internals_spec.rb
|
|
1265
1282
|
- spec/opal/core/helpers_spec.rb
|
|
1266
1283
|
- spec/opal/core/kernel/Array_spec.rb
|
|
1284
|
+
- spec/opal/core/kernel/at_exit_spec.rb
|
|
1267
1285
|
- spec/opal/core/kernel/block_given_spec.rb
|
|
1268
1286
|
- spec/opal/core/kernel/class_spec.rb
|
|
1269
1287
|
- spec/opal/core/kernel/define_singleton_method_spec.rb
|
|
@@ -1275,6 +1293,7 @@ test_files:
|
|
|
1275
1293
|
- spec/opal/core/kernel/instance_variable_defined_spec.rb
|
|
1276
1294
|
- spec/opal/core/kernel/instance_variable_get_spec.rb
|
|
1277
1295
|
- spec/opal/core/kernel/instance_variable_set_spec.rb
|
|
1296
|
+
- spec/opal/core/kernel/instance_variables_spec.rb
|
|
1278
1297
|
- spec/opal/core/kernel/loop_spec.rb
|
|
1279
1298
|
- spec/opal/core/kernel/match_spec.rb
|
|
1280
1299
|
- spec/opal/core/kernel/method_spec.rb
|
|
@@ -1291,6 +1310,7 @@ test_files:
|
|
|
1291
1310
|
- spec/opal/core/kernel/sprintf_spec.rb
|
|
1292
1311
|
- spec/opal/core/language/block_spec.rb
|
|
1293
1312
|
- spec/opal/core/language/class_spec.rb
|
|
1313
|
+
- spec/opal/core/language/equal_spec.rb
|
|
1294
1314
|
- spec/opal/core/language/fixtures/array.rb
|
|
1295
1315
|
- spec/opal/core/language/fixtures/block.rb
|
|
1296
1316
|
- spec/opal/core/language/fixtures/break.rb
|
|
@@ -1311,13 +1331,14 @@ test_files:
|
|
|
1311
1331
|
- spec/opal/core/language/regexp_spec.rb
|
|
1312
1332
|
- spec/opal/core/language/send_spec.rb
|
|
1313
1333
|
- spec/opal/core/language/string_spec.rb
|
|
1334
|
+
- spec/opal/core/language/ternary_operator_spec.rb
|
|
1314
1335
|
- spec/opal/core/language/variables_spec.rb
|
|
1315
1336
|
- spec/opal/core/language/versions/array_1.9.rb
|
|
1316
1337
|
- spec/opal/core/language/versions/block_1.9.rb
|
|
1317
1338
|
- spec/opal/core/language/versions/break_1.9.rb
|
|
1318
1339
|
- spec/opal/core/language/versions/case_1.9.rb
|
|
1319
1340
|
- spec/opal/core/language/versions/def_2_0_spec.rb
|
|
1320
|
-
- spec/opal/core/language/versions/
|
|
1341
|
+
- spec/opal/core/language/versions/hash_1_9_spec.rb
|
|
1321
1342
|
- spec/opal/core/language/versions/literal_lambda_1.9.rb
|
|
1322
1343
|
- spec/opal/core/language/versions/not_1.9.rb
|
|
1323
1344
|
- spec/opal/core/language/versions/send_1.9.rb
|
|
@@ -1336,6 +1357,7 @@ test_files:
|
|
|
1336
1357
|
- spec/opal/core/module/constants_spec.rb
|
|
1337
1358
|
- spec/opal/core/module/fixtures/classes.rb
|
|
1338
1359
|
- spec/opal/core/module/method_defined_spec.rb
|
|
1360
|
+
- spec/opal/core/module/method_lookup_spec.rb
|
|
1339
1361
|
- spec/opal/core/module/module_function_spec.rb
|
|
1340
1362
|
- spec/opal/core/module/name_spec.rb
|
|
1341
1363
|
- spec/opal/core/module/public_method_defined_spec.rb
|
|
@@ -1430,6 +1452,7 @@ test_files:
|
|
|
1430
1452
|
- spec/opal/stdlib/promise/trace_spec.rb
|
|
1431
1453
|
- spec/opal/stdlib/promise/value_spec.rb
|
|
1432
1454
|
- spec/opal/stdlib/promise/when_spec.rb
|
|
1455
|
+
- spec/opal/stdlib/strscan/scan_spec.rb
|
|
1433
1456
|
- spec/opal/stdlib/template/paths_spec.rb
|
|
1434
1457
|
- spec/opal/stdlib/thread/mutex_spec.rb
|
|
1435
1458
|
- spec/opal/stdlib/thread/thread_queue_spec.rb
|