opal 1.1.0.rc1 → 1.2.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +4 -4
- data/.github/ISSUE_TEMPLATE/bug-report.md +47 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/build.yml +11 -5
- data/.gitignore +1 -0
- data/.jshintrc +1 -1
- data/CHANGELOG.md +42 -1
- data/Gemfile +0 -4
- data/HACKING.md +1 -1
- data/LICENSE +1 -1
- data/README.md +20 -16
- data/UNRELEASED.md +32 -95
- data/benchmark-ips/bm_array_unshift.rb +7 -0
- data/benchmark-ips/bm_js_symbols_vs_strings.rb +7 -2
- data/bin/build-browser-source-map-support +2 -3
- data/bin/opal-mspec +2 -0
- data/docs/compiler.md +1 -1
- data/examples/rack/Gemfile +0 -1
- data/examples/rack/Gemfile.lock +0 -4
- data/lib/opal/cli.rb +1 -0
- data/lib/opal/cli_options.rb +4 -0
- data/lib/opal/cli_runners/nodejs.rb +5 -1
- data/lib/opal/cli_runners/source-map-support-browser.js +8 -2
- data/lib/opal/cli_runners/source-map-support-node.js +3706 -0
- data/lib/opal/cli_runners/source-map-support.js +3 -1
- data/lib/opal/compiler.rb +2 -2
- data/lib/opal/nodes/args/arity_check.rb +1 -0
- data/lib/opal/nodes/args/parameters.rb +6 -0
- data/lib/opal/nodes/class.rb +1 -13
- data/lib/opal/nodes/literal.rb +14 -7
- data/lib/opal/nodes/module.rb +13 -9
- data/lib/opal/nodes/variables.rb +13 -4
- data/lib/opal/nodes/while.rb +54 -17
- data/lib/opal/parser.rb +1 -5
- data/lib/opal/parser/patch.rb +34 -0
- data/lib/opal/repl.rb +7 -0
- data/lib/opal/rewriter.rb +2 -0
- data/lib/opal/rewriters/arguments.rb +4 -1
- data/lib/opal/rewriters/forward_args.rb +54 -0
- data/lib/opal/rewriters/logical_operator_assignment.rb +5 -2
- data/lib/opal/rewriters/opal_engine_check.rb +5 -7
- data/lib/opal/version.rb +1 -1
- data/opal.gemspec +1 -1
- data/opal/corelib/array.rb +42 -20
- data/opal/corelib/array/pack.rb +6 -1
- data/opal/corelib/complex.rb +2 -0
- data/opal/corelib/constants.rb +3 -3
- data/opal/corelib/hash.rb +36 -38
- data/opal/corelib/module.rb +2 -7
- data/opal/corelib/number.rb +2 -180
- data/opal/corelib/numeric.rb +156 -0
- data/opal/corelib/object_space.rb +102 -0
- data/opal/corelib/random.rb +31 -66
- data/opal/corelib/random/formatter.rb +122 -0
- data/opal/corelib/range.rb +50 -19
- data/opal/corelib/runtime.js +82 -21
- data/opal/corelib/string.rb +86 -52
- data/opal/corelib/string/encoding.rb +140 -25
- data/opal/corelib/string/unpack.rb +26 -40
- data/opal/opal.rb +1 -0
- data/opal/opal/full.rb +1 -0
- data/package.json +1 -1
- data/spec/filters/bugs/array.rb +0 -22
- data/spec/filters/bugs/basicobject.rb +3 -0
- data/spec/filters/bugs/encoding.rb +0 -2
- data/spec/filters/bugs/exception.rb +1 -0
- data/spec/filters/bugs/float.rb +0 -2
- data/spec/filters/bugs/hash.rb +2 -7
- data/spec/filters/bugs/integer.rb +0 -2
- data/spec/filters/bugs/kernel.rb +16 -3
- data/spec/filters/bugs/language.rb +6 -14
- data/spec/filters/bugs/marshal.rb +1 -3
- data/spec/filters/bugs/module.rb +16 -1
- data/spec/filters/bugs/numeric.rb +4 -12
- data/spec/filters/bugs/objectspace.rb +67 -0
- data/spec/filters/bugs/pack_unpack.rb +0 -9
- data/spec/filters/bugs/pathname.rb +1 -0
- data/spec/filters/bugs/proc.rb +8 -0
- data/spec/filters/bugs/random.rb +3 -6
- data/spec/filters/bugs/range.rb +83 -113
- data/spec/filters/bugs/set.rb +2 -0
- data/spec/filters/bugs/string.rb +31 -70
- data/spec/filters/bugs/struct.rb +2 -0
- data/spec/filters/bugs/time.rb +8 -2
- data/spec/filters/unsupported/float.rb +3 -0
- data/spec/filters/unsupported/freeze.rb +1 -0
- data/spec/filters/unsupported/integer.rb +3 -0
- data/spec/filters/unsupported/refinements.rb +5 -0
- data/spec/filters/unsupported/string.rb +100 -95
- data/spec/filters/unsupported/time.rb +4 -0
- data/spec/lib/compiler_spec.rb +16 -0
- data/spec/lib/rewriters/forward_args_spec.rb +61 -0
- data/spec/lib/rewriters/logical_operator_assignment_spec.rb +1 -1
- data/spec/lib/rewriters/numblocks_spec.rb +44 -0
- data/spec/lib/rewriters/opal_engine_check_spec.rb +49 -4
- data/spec/opal/core/language/forward_args_spec.rb +53 -0
- data/spec/opal/core/language/infinite_range_spec.rb +13 -0
- data/spec/opal/core/language/memoization_spec.rb +16 -0
- data/spec/opal/core/module_spec.rb +38 -2
- data/spec/opal/core/number/to_i_spec.rb +28 -0
- data/spec/opal/core/runtime/bridged_classes_spec.rb +16 -0
- data/spec/opal/core/runtime/constants_spec.rb +20 -1
- data/spec/opal/core/string/subclassing_spec.rb +16 -0
- data/spec/opal/core/string/unpack_spec.rb +22 -0
- data/spec/opal/core/string_spec.rb +4 -4
- data/spec/ruby_specs +4 -1
- data/stdlib/json.rb +3 -1
- data/stdlib/securerandom.rb +55 -35
- data/tasks/testing.rake +6 -3
- data/test/nodejs/test_string.rb +25 -0
- data/vendored-minitest/minitest/assertions.rb +2 -0
- metadata +35 -12
- data/lib/opal/parser/with_c_lexer.rb +0 -15
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class MyStringSubclass < String
|
4
|
+
attr_reader :v
|
5
|
+
def initialize(s, v)
|
6
|
+
super(s)
|
7
|
+
@v = v
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "String subclassing" do
|
12
|
+
it "should call initialize for subclasses" do
|
13
|
+
c = MyStringSubclass.new('s', 5)
|
14
|
+
[c, c.v].should == ['s', 5]
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'String#unpack' do
|
4
|
+
it 'correctly unpacks with U* strings with latin-1 characters' do
|
5
|
+
'café'.unpack('U*').should == [99, 97, 102, 233]
|
6
|
+
[99, 97, 102, 233].pack('U*').unpack('U*').should == [99, 97, 102, 233]
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'correctly unpacks with U* strings with latin-2 characters' do
|
10
|
+
'pół'.unpack('U*').should == [112, 243, 322]
|
11
|
+
[112, 243, 322].pack('U*').unpack('U*').should == [112, 243, 322]
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'correctly unpacks with c* strings with latin-2 characters' do
|
15
|
+
'ść'.unpack('c*').should == [-59, -101, -60, -121]
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'correctly unpacks with s* binary strings' do
|
19
|
+
"\xc8\x01".unpack('s*').should == [456]
|
20
|
+
[678].pack('s').unpack('s').should == [678]
|
21
|
+
end
|
22
|
+
end
|
@@ -19,10 +19,10 @@ describe 'Encoding' do
|
|
19
19
|
Encoding.find('ascii').should == Encoding::ASCII
|
20
20
|
Encoding.find('US-ASCII').should == Encoding::ASCII
|
21
21
|
Encoding.find('us-ascii').should == Encoding::ASCII
|
22
|
-
Encoding.find('ASCII-8BIT').should == Encoding::
|
23
|
-
Encoding.find('ascii-8bit').should == Encoding::
|
24
|
-
Encoding.find('BINARY').should == Encoding::
|
25
|
-
Encoding.find('binary').should == Encoding::
|
22
|
+
Encoding.find('ASCII-8BIT').should == Encoding::BINARY
|
23
|
+
Encoding.find('ascii-8bit').should == Encoding::BINARY
|
24
|
+
Encoding.find('BINARY').should == Encoding::BINARY
|
25
|
+
Encoding.find('binary').should == Encoding::BINARY
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
data/spec/ruby_specs
CHANGED
@@ -106,6 +106,9 @@ ruby/core/marshal/minor_version_spec
|
|
106
106
|
ruby/core/nil
|
107
107
|
ruby/core/numeric
|
108
108
|
|
109
|
+
ruby/core/objectspace
|
110
|
+
ruby/core/objectspace/weakmap
|
111
|
+
|
109
112
|
ruby/core/proc
|
110
113
|
|
111
114
|
ruby/core/range
|
@@ -175,7 +178,7 @@ ruby/library/pathname
|
|
175
178
|
!ruby/library/pathname/empty_spec
|
176
179
|
!ruby/library/pathname/glob_spec
|
177
180
|
ruby/library/pp
|
178
|
-
ruby/library/securerandom
|
181
|
+
ruby/library/securerandom
|
179
182
|
ruby/library/set
|
180
183
|
ruby/library/singleton
|
181
184
|
ruby/library/stringio/each_line_spec
|
data/stdlib/json.rb
CHANGED
data/stdlib/securerandom.rb
CHANGED
@@ -1,44 +1,64 @@
|
|
1
1
|
module SecureRandom
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
2
|
+
extend Random::Formatter
|
3
|
+
|
4
|
+
%x{
|
5
|
+
var gen_random_bytes;
|
6
|
+
|
7
|
+
if ((Opal.global.crypto && Opal.global.crypto.getRandomValues) ||
|
8
|
+
(Opal.global.msCrypto && Opal.global.msCrypto.getRandomValues)) {
|
9
|
+
// This method is available in all non-ancient web browsers.
|
10
|
+
|
11
|
+
var crypto = Opal.global.crypto || Opal.global.msCrypto;
|
12
|
+
gen_random_bytes = function(count) {
|
13
|
+
var storage = new Uint8Array(count);
|
14
|
+
crypto.getRandomValues(storage);
|
15
|
+
return storage;
|
16
|
+
};
|
17
|
+
}
|
18
|
+
else if (Opal.global.crypto && Opal.global.crypto.randomBytes) {
|
19
|
+
// This method is available in Node.js
|
20
|
+
|
21
|
+
gen_random_bytes = function(count) {
|
22
|
+
return Opal.global.crypto.randomBytes(count);
|
23
|
+
};
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
// Let's dangerously polyfill this interface with our MersenneTwister
|
27
|
+
// xor native JS Math.random xor something about current time...
|
28
|
+
// That's hardly secure, but the following warning should provide a person
|
29
|
+
// deploying the code a good idea on what he should do to make his deployment
|
30
|
+
// actually secure.
|
31
|
+
// It's possible to interface other libraries by adding an else if above if
|
32
|
+
// that's really desired.
|
33
|
+
|
34
|
+
#{warn 'Can\'t get a Crypto.getRandomValues interface or Crypto.randomBytes.' \
|
35
|
+
'The random values generated with SecureRandom won\'t be ' \
|
36
|
+
'cryptographically secure'}
|
37
|
+
|
38
|
+
gen_random_bytes = function(count) {
|
39
|
+
var storage = new Uint8Array(count);
|
40
|
+
for (var i = 0; i < count; i++) {
|
41
|
+
storage[i] = #{rand(0xff)} ^ Math.floor(Math.random() * 256);
|
42
|
+
storage[i] ^= +(new Date())>>#{rand(0xff)}&0xff;
|
27
43
|
}
|
28
|
-
|
44
|
+
return storage;
|
29
45
|
}
|
30
|
-
return string;
|
31
46
|
}
|
32
|
-
|
47
|
+
}
|
33
48
|
|
34
|
-
def self.
|
35
|
-
|
36
|
-
|
37
|
-
var r = Math.random() * 16 | 0,
|
38
|
-
v = ch == "x" ? r : (r & 3 | 8);
|
49
|
+
def self.bytes(bytes = nil)
|
50
|
+
gen_random(bytes)
|
51
|
+
end
|
39
52
|
|
40
|
-
|
53
|
+
def self.gen_random(count = nil)
|
54
|
+
count = Random._verify_count(count)
|
55
|
+
out = ''
|
56
|
+
%x{
|
57
|
+
var bytes = gen_random_bytes(#{count});
|
58
|
+
for (var i = 0; i < #{count}; i++) {
|
59
|
+
out += String.fromCharCode(bytes[i]);
|
41
60
|
}
|
42
|
-
|
61
|
+
}
|
62
|
+
out.encode('ASCII-8BIT')
|
43
63
|
end
|
44
64
|
end
|
data/tasks/testing.rake
CHANGED
@@ -113,6 +113,7 @@ module Testing
|
|
113
113
|
|
114
114
|
require 'spec_helper'
|
115
115
|
require 'opal/full'
|
116
|
+
require 'securerandom'
|
116
117
|
#{enter_benchmarking_mode}
|
117
118
|
|
118
119
|
#{filter_requires}
|
@@ -354,13 +355,14 @@ task :minitest_node_nodejs do
|
|
354
355
|
files = %w[
|
355
356
|
nodejs
|
356
357
|
opal-parser
|
357
|
-
nodejs/test_file.rb
|
358
358
|
nodejs/test_dir.rb
|
359
359
|
nodejs/test_env.rb
|
360
|
-
nodejs/test_io.rb
|
361
360
|
nodejs/test_error.rb
|
361
|
+
nodejs/test_file.rb
|
362
362
|
nodejs/test_file_encoding.rb
|
363
|
+
nodejs/test_io.rb
|
363
364
|
nodejs/test_opal_builder.rb
|
365
|
+
nodejs/test_string.rb
|
364
366
|
]
|
365
367
|
|
366
368
|
filename = "tmp/minitest_node_nodejs.rb"
|
@@ -369,8 +371,9 @@ task :minitest_node_nodejs do
|
|
369
371
|
stubs = "-soptparse -sio/console -stimeout -smutex_m -srubygems -stempfile -smonitor"
|
370
372
|
includes = "-Itest -Ilib -Ivendored-minitest"
|
371
373
|
|
374
|
+
use_strict_opt = ENV['USE_STRICT'] ? ' --use-strict' : ''
|
372
375
|
sh "ruby -rbundler/setup "\
|
373
|
-
"exe/opal #{includes} #{stubs} -R#{platform} -Dwarning -A --enable-source-location #{filename}"
|
376
|
+
"exe/opal #{includes} #{stubs} -R#{platform} -Dwarning -A --enable-source-location#{use_strict_opt} #{filename}"
|
374
377
|
end
|
375
378
|
|
376
379
|
desc 'Run smoke tests with opal-rspec to see if something is broken'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'nodejs'
|
3
|
+
|
4
|
+
class TestString < Test::Unit::TestCase
|
5
|
+
def test_should_get_bytes
|
6
|
+
assert_equal('foo'.bytesize, 3)
|
7
|
+
assert_equal('foo'.each_byte.to_a, [102, 111, 111])
|
8
|
+
assert_equal('foo'.bytes, [102, 111, 111])
|
9
|
+
assert_equal('foo'.bytes, [102, 111, 111])
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_frozen
|
13
|
+
# Commented out examples somehow work in the strict mode,
|
14
|
+
# but otherwise they don't. I have unfortunately no idea
|
15
|
+
# on where it's mangled, but then I don't see it really
|
16
|
+
# as a really harmful thing.
|
17
|
+
|
18
|
+
#assert_equal((-'x').frozen?, true)
|
19
|
+
assert_equal((+'x').frozen?, false)
|
20
|
+
#assert_equal((-+-'x').frozen?, true)
|
21
|
+
assert_equal((+-+'x').frozen?, false)
|
22
|
+
#assert_equal((`'x'`).frozen?, true)
|
23
|
+
assert_equal((+`'x'`).frozen?, false)
|
24
|
+
end
|
25
|
+
end
|
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: 1.
|
4
|
+
version: 1.2.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elia Schito
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-07-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ast
|
@@ -142,16 +142,16 @@ dependencies:
|
|
142
142
|
name: benchmark-ips
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
144
144
|
requirements:
|
145
|
-
- - "
|
145
|
+
- - "<"
|
146
146
|
- !ruby/object:Gem::Version
|
147
|
-
version: '
|
147
|
+
version: '2.8'
|
148
148
|
type: :development
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
|
-
- - "
|
152
|
+
- - "<"
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version: '
|
154
|
+
version: '2.8'
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
156
|
name: sinatra
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|
@@ -238,6 +238,8 @@ files:
|
|
238
238
|
- ".codeclimate.yml"
|
239
239
|
- ".gitattributes"
|
240
240
|
- ".github/FUNDING.yml"
|
241
|
+
- ".github/ISSUE_TEMPLATE/bug-report.md"
|
242
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
241
243
|
- ".github/workflows/build.yml"
|
242
244
|
- ".gitignore"
|
243
245
|
- ".gitmodules"
|
@@ -261,6 +263,7 @@ files:
|
|
261
263
|
- benchmark-ips/README.md
|
262
264
|
- benchmark-ips/bm_array_pop_1.rb
|
263
265
|
- benchmark-ips/bm_array_shift.rb
|
266
|
+
- benchmark-ips/bm_array_unshift.rb
|
264
267
|
- benchmark-ips/bm_block_vs_yield.rb
|
265
268
|
- benchmark-ips/bm_case.rb
|
266
269
|
- benchmark-ips/bm_constants_lookup.rb
|
@@ -469,6 +472,7 @@ files:
|
|
469
472
|
- lib/opal/cli_runners/package.json
|
470
473
|
- lib/opal/cli_runners/server.rb
|
471
474
|
- lib/opal/cli_runners/source-map-support-browser.js
|
475
|
+
- lib/opal/cli_runners/source-map-support-node.js
|
472
476
|
- lib/opal/cli_runners/source-map-support.js
|
473
477
|
- lib/opal/cli_runners/system_runner.rb
|
474
478
|
- lib/opal/compiler.rb
|
@@ -535,7 +539,6 @@ files:
|
|
535
539
|
- lib/opal/parser/default_config.rb
|
536
540
|
- lib/opal/parser/patch.rb
|
537
541
|
- lib/opal/parser/source_buffer.rb
|
538
|
-
- lib/opal/parser/with_c_lexer.rb
|
539
542
|
- lib/opal/parser/with_ruby_lexer.rb
|
540
543
|
- lib/opal/path_reader.rb
|
541
544
|
- lib/opal/paths.rb
|
@@ -551,6 +554,7 @@ files:
|
|
551
554
|
- lib/opal/rewriters/dump_args.rb
|
552
555
|
- lib/opal/rewriters/explicit_writer_return.rb
|
553
556
|
- lib/opal/rewriters/for_rewriter.rb
|
557
|
+
- lib/opal/rewriters/forward_args.rb
|
554
558
|
- lib/opal/rewriters/hashes/key_duplicates_rewriter.rb
|
555
559
|
- lib/opal/rewriters/inline_args.rb
|
556
560
|
- lib/opal/rewriters/js_reserved_words.rb
|
@@ -600,10 +604,12 @@ files:
|
|
600
604
|
- opal/corelib/nil.rb
|
601
605
|
- opal/corelib/number.rb
|
602
606
|
- opal/corelib/numeric.rb
|
607
|
+
- opal/corelib/object_space.rb
|
603
608
|
- opal/corelib/pack_unpack/format_string_parser.rb
|
604
609
|
- opal/corelib/proc.rb
|
605
610
|
- opal/corelib/process.rb
|
606
611
|
- opal/corelib/random.rb
|
612
|
+
- opal/corelib/random/formatter.rb
|
607
613
|
- opal/corelib/random/math_random.js.rb
|
608
614
|
- opal/corelib/random/mersenne_twister.rb
|
609
615
|
- opal/corelib/random/seedrandom.js.rb
|
@@ -648,6 +654,7 @@ files:
|
|
648
654
|
- spec/filters/bugs/module.rb
|
649
655
|
- spec/filters/bugs/nilclass.rb
|
650
656
|
- spec/filters/bugs/numeric.rb
|
657
|
+
- spec/filters/bugs/objectspace.rb
|
651
658
|
- spec/filters/bugs/openstruct.rb
|
652
659
|
- spec/filters/bugs/pack_unpack.rb
|
653
660
|
- spec/filters/bugs/pathname.rb
|
@@ -688,6 +695,7 @@ files:
|
|
688
695
|
- spec/filters/unsupported/proc.rb
|
689
696
|
- spec/filters/unsupported/random.rb
|
690
697
|
- spec/filters/unsupported/range.rb
|
698
|
+
- spec/filters/unsupported/refinements.rb
|
691
699
|
- spec/filters/unsupported/regexp.rb
|
692
700
|
- spec/filters/unsupported/set.rb
|
693
701
|
- spec/filters/unsupported/singleton.rb
|
@@ -731,9 +739,11 @@ files:
|
|
731
739
|
- spec/lib/rewriters/dot_js_syntax_spec.rb
|
732
740
|
- spec/lib/rewriters/explicit_writer_return_spec.rb
|
733
741
|
- spec/lib/rewriters/for_rewriter_spec.rb
|
742
|
+
- spec/lib/rewriters/forward_args_spec.rb
|
734
743
|
- spec/lib/rewriters/hashes/key_duplicates_rewriter_spec.rb
|
735
744
|
- spec/lib/rewriters/js_reserved_words_spec.rb
|
736
745
|
- spec/lib/rewriters/logical_operator_assignment_spec.rb
|
746
|
+
- spec/lib/rewriters/numblocks_spec.rb
|
737
747
|
- spec/lib/rewriters/opal_engine_check_spec.rb
|
738
748
|
- spec/lib/rewriters/returnable_logic_spec.rb
|
739
749
|
- spec/lib/rewriters/rubyspec/filters_rewriter_spec.rb
|
@@ -799,7 +809,10 @@ files:
|
|
799
809
|
- spec/opal/core/language/DATA/empty___END___spec.rb
|
800
810
|
- spec/opal/core/language/DATA/multiple___END___spec.rb
|
801
811
|
- spec/opal/core/language/arguments/mlhs_arg_spec.rb
|
812
|
+
- spec/opal/core/language/forward_args_spec.rb
|
813
|
+
- spec/opal/core/language/infinite_range_spec.rb
|
802
814
|
- spec/opal/core/language/keyword_arguments_spec.rb
|
815
|
+
- spec/opal/core/language/memoization_spec.rb
|
803
816
|
- spec/opal/core/language/numblocks_spec.rb
|
804
817
|
- spec/opal/core/language/safe_navigator_spec.rb
|
805
818
|
- spec/opal/core/language/while_spec.rb
|
@@ -807,6 +820,7 @@ files:
|
|
807
820
|
- spec/opal/core/marshal/dump_spec.rb
|
808
821
|
- spec/opal/core/marshal/load_spec.rb
|
809
822
|
- spec/opal/core/module_spec.rb
|
823
|
+
- spec/opal/core/number/to_i_spec.rb
|
810
824
|
- spec/opal/core/object_id_spec.rb
|
811
825
|
- spec/opal/core/regexp/interpolation_spec.rb
|
812
826
|
- spec/opal/core/regexp/match_spec.rb
|
@@ -824,7 +838,9 @@ files:
|
|
824
838
|
- spec/opal/core/runtime_spec.rb
|
825
839
|
- spec/opal/core/string/each_byte_spec.rb
|
826
840
|
- spec/opal/core/string/gsub_spec.rb
|
841
|
+
- spec/opal/core/string/subclassing_spec.rb
|
827
842
|
- spec/opal/core/string/to_sym_spec.rb
|
843
|
+
- spec/opal/core/string/unpack_spec.rb
|
828
844
|
- spec/opal/core/string_spec.rb
|
829
845
|
- spec/opal/core/struct/dup_spec.rb
|
830
846
|
- spec/opal/core/time_spec.rb
|
@@ -1028,6 +1044,7 @@ files:
|
|
1028
1044
|
- test/nodejs/test_io.rb
|
1029
1045
|
- test/nodejs/test_opal_builder.rb
|
1030
1046
|
- test/nodejs/test_pathname.rb
|
1047
|
+
- test/nodejs/test_string.rb
|
1031
1048
|
- test/opal/cat.png
|
1032
1049
|
- test/opal/http_server.rb
|
1033
1050
|
- test/opal/test_base64.rb
|
@@ -1056,10 +1073,10 @@ licenses:
|
|
1056
1073
|
metadata:
|
1057
1074
|
homepage_uri: https://opalrb.com/
|
1058
1075
|
bug_tracker_uri: https://github.com/opal/opal/issues
|
1059
|
-
changelog_uri: https://github.com/opal/opal/blob/v1.
|
1060
|
-
readme_uri: https://github.com/opal/opal/blob/v1.
|
1061
|
-
api_documentation_uri: http://opalrb.com/docs/api/v1.
|
1062
|
-
guides_uri: http://opalrb.com/docs/guides/v1.
|
1076
|
+
changelog_uri: https://github.com/opal/opal/blob/v1.2.0.beta1/CHANGELOG.md
|
1077
|
+
readme_uri: https://github.com/opal/opal/blob/v1.2.0.beta1/README.md
|
1078
|
+
api_documentation_uri: http://opalrb.com/docs/api/v1.2.0.beta1/index.html
|
1079
|
+
guides_uri: http://opalrb.com/docs/guides/v1.2.0.beta1/index.html
|
1063
1080
|
chat_uri: https://gitter.im/opal/opal
|
1064
1081
|
source_code_uri: https://github.com/opal/opal
|
1065
1082
|
post_install_message:
|
@@ -1085,6 +1102,8 @@ test_files:
|
|
1085
1102
|
- ".codeclimate.yml"
|
1086
1103
|
- ".gitattributes"
|
1087
1104
|
- ".github/FUNDING.yml"
|
1105
|
+
- ".github/ISSUE_TEMPLATE/bug-report.md"
|
1106
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
1088
1107
|
- ".github/workflows/build.yml"
|
1089
1108
|
- ".gitignore"
|
1090
1109
|
- ".gitmodules"
|
@@ -1108,6 +1127,7 @@ test_files:
|
|
1108
1127
|
- benchmark-ips/README.md
|
1109
1128
|
- benchmark-ips/bm_array_pop_1.rb
|
1110
1129
|
- benchmark-ips/bm_array_shift.rb
|
1130
|
+
- benchmark-ips/bm_array_unshift.rb
|
1111
1131
|
- benchmark-ips/bm_block_vs_yield.rb
|
1112
1132
|
- benchmark-ips/bm_case.rb
|
1113
1133
|
- benchmark-ips/bm_constants_lookup.rb
|
@@ -1316,6 +1336,7 @@ test_files:
|
|
1316
1336
|
- lib/opal/cli_runners/package.json
|
1317
1337
|
- lib/opal/cli_runners/server.rb
|
1318
1338
|
- lib/opal/cli_runners/source-map-support-browser.js
|
1339
|
+
- lib/opal/cli_runners/source-map-support-node.js
|
1319
1340
|
- lib/opal/cli_runners/source-map-support.js
|
1320
1341
|
- lib/opal/cli_runners/system_runner.rb
|
1321
1342
|
- lib/opal/compiler.rb
|
@@ -1382,7 +1403,6 @@ test_files:
|
|
1382
1403
|
- lib/opal/parser/default_config.rb
|
1383
1404
|
- lib/opal/parser/patch.rb
|
1384
1405
|
- lib/opal/parser/source_buffer.rb
|
1385
|
-
- lib/opal/parser/with_c_lexer.rb
|
1386
1406
|
- lib/opal/parser/with_ruby_lexer.rb
|
1387
1407
|
- lib/opal/path_reader.rb
|
1388
1408
|
- lib/opal/paths.rb
|
@@ -1398,6 +1418,7 @@ test_files:
|
|
1398
1418
|
- lib/opal/rewriters/dump_args.rb
|
1399
1419
|
- lib/opal/rewriters/explicit_writer_return.rb
|
1400
1420
|
- lib/opal/rewriters/for_rewriter.rb
|
1421
|
+
- lib/opal/rewriters/forward_args.rb
|
1401
1422
|
- lib/opal/rewriters/hashes/key_duplicates_rewriter.rb
|
1402
1423
|
- lib/opal/rewriters/inline_args.rb
|
1403
1424
|
- lib/opal/rewriters/js_reserved_words.rb
|
@@ -1447,10 +1468,12 @@ test_files:
|
|
1447
1468
|
- opal/corelib/nil.rb
|
1448
1469
|
- opal/corelib/number.rb
|
1449
1470
|
- opal/corelib/numeric.rb
|
1471
|
+
- opal/corelib/object_space.rb
|
1450
1472
|
- opal/corelib/pack_unpack/format_string_parser.rb
|
1451
1473
|
- opal/corelib/proc.rb
|
1452
1474
|
- opal/corelib/process.rb
|
1453
1475
|
- opal/corelib/random.rb
|
1476
|
+
- opal/corelib/random/formatter.rb
|
1454
1477
|
- opal/corelib/random/math_random.js.rb
|
1455
1478
|
- opal/corelib/random/mersenne_twister.rb
|
1456
1479
|
- opal/corelib/random/seedrandom.js.rb
|