opal 0.7.2 → 0.8.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +6 -1
- data/CHANGELOG.md +29 -0
- data/CONTRIBUTING.md +51 -4
- data/Gemfile +3 -0
- data/README.md +5 -5
- data/config.ru +1 -1
- data/examples/sinatra/Gemfile +1 -0
- data/examples/sinatra/config.ru +13 -3
- data/lib/mspec/opal/rake_task.rb +21 -30
- data/lib/mspec/opal/runner.rb +37 -0
- data/lib/mspec/opal/special_calls.rb +6 -0
- data/lib/opal/builder.rb +1 -0
- data/lib/opal/builder_processors.rb +5 -2
- data/lib/opal/cli_runners/phantom.js +10 -1
- data/lib/opal/compiler.rb +6 -3
- data/lib/opal/config.rb +48 -0
- data/lib/opal/nodes/call.rb +3 -2
- data/lib/opal/nodes/literal.rb +19 -2
- data/lib/opal/parser/grammar.rb +2224 -2196
- data/lib/opal/parser/grammar.y +25 -7
- data/lib/opal/parser/lexer.rb +12 -9
- data/lib/opal/path_reader.rb +1 -1
- data/lib/opal/sprockets/erb.rb +6 -20
- data/lib/opal/sprockets/path_reader.rb +4 -2
- data/lib/opal/sprockets/processor.rb +135 -80
- data/lib/opal/sprockets/server.rb +49 -78
- data/lib/opal/sprockets/source_map_header_patch.rb +41 -0
- data/lib/opal/sprockets/source_map_server.rb +115 -0
- data/lib/opal/version.rb +1 -1
- data/lib/tilt/opal.rb +48 -0
- data/opal.gemspec +1 -1
- data/opal/corelib/array.rb +179 -51
- data/opal/corelib/array/inheritance.rb +14 -0
- data/opal/corelib/boolean.rb +5 -0
- data/opal/corelib/hash.rb +1 -1
- data/opal/corelib/kernel.rb +660 -164
- data/opal/corelib/match_data.rb +44 -21
- data/opal/corelib/module.rb +83 -53
- data/opal/corelib/numeric.rb +15 -1
- data/opal/corelib/regexp.rb +31 -75
- data/opal/corelib/runtime.js +20 -8
- data/opal/corelib/string.rb +754 -243
- data/opal/corelib/string/inheritance.rb +20 -3
- data/opal/corelib/struct.rb +30 -6
- data/opal/corelib/variables.rb +2 -2
- data/spec/filters/bugs/array.rb +0 -39
- data/spec/filters/bugs/kernel.rb +10 -7
- data/spec/filters/bugs/module.rb +21 -0
- data/spec/filters/bugs/opal.rb +0 -5
- data/spec/filters/bugs/singleton.rb +0 -2
- data/spec/filters/bugs/string.rb +69 -315
- data/spec/filters/bugs/struct.rb +0 -16
- data/spec/filters/unsupported/encoding.rb +7 -0
- data/spec/filters/unsupported/float.rb +3 -0
- data/spec/filters/unsupported/integer_size.rb +52 -0
- data/spec/filters/unsupported/marshal.rb +4 -0
- data/spec/filters/unsupported/mutable_strings.rb +37 -0
- data/spec/filters/unsupported/private_methods.rb +11 -0
- data/spec/filters/unsupported/rational_numbers.rb +4 -0
- data/spec/filters/unsupported/regular_expressions.rb +47 -0
- data/spec/filters/unsupported/symbols.rb +7 -0
- data/spec/filters/unsupported/tainted.rb +23 -1
- data/spec/filters/unsupported/trusted.rb +5 -0
- data/spec/lib/fixtures/complex_sprockets.js.rb.erb +4 -0
- data/spec/lib/fixtures/jst_file.js.jst +1 -0
- data/spec/lib/parser/call_spec.rb +19 -0
- data/spec/lib/parser/def_spec.rb +6 -0
- data/spec/lib/sprockets/erb_spec.rb +17 -4
- data/spec/lib/sprockets/processor_spec.rb +50 -18
- data/spec/lib/sprockets/server_spec.rb +39 -11
- data/spec/lib/tilt/opal_spec.rb +19 -0
- data/spec/opal/core/kernel/format_spec.rb +10 -10
- data/spec/opal/core/language/predefined_spec.rb +10 -0
- data/spec/opal/core/object_id_spec.rb +56 -0
- data/spec/opal/core/runtime/bridged_classes_spec.rb +4 -4
- data/spec/opal/core/runtime_spec.rb +7 -0
- data/spec/opal/stdlib/native/native_class_spec.rb +1 -1
- data/spec/opal/stdlib/promise/always_spec.rb +30 -0
- data/spec/opal/stdlib/promise/then_spec.rb +8 -0
- data/spec/opal/stdlib/promise/trace_spec.rb +8 -0
- data/spec/rubyspecs +15 -104
- data/spec/spec_helper.rb +4 -0
- data/stdlib/native.rb +7 -18
- data/stdlib/nodejs/file.rb +1 -1
- data/stdlib/opal-parser.rb +1 -0
- data/stdlib/pp.rb +7 -5
- data/stdlib/promise.rb +53 -41
- data/tasks/testing.rake +8 -6
- metadata +28 -14
- data/spec/filters/bugs/match_data.rb +0 -13
- data/spec/filters/bugs/numeric.rb +0 -22
- data/spec/filters/bugs/regexp.rb +0 -9
- data/spec/filters/bugs/unknown.rb +0 -11
@@ -1,13 +0,0 @@
|
|
1
|
-
opal_filter "MatchData" do
|
2
|
-
fails "MatchData#regexp returns the pattern used in the match"
|
3
|
-
fails "MatchData#values_at when passed a Range returns an array of the matching value"
|
4
|
-
|
5
|
-
fails "MatchData#[Symbol] returns the corresponding named match when given a Symbol"
|
6
|
-
fails "MatchData#[Symbol] returns the corresponding named match when given a String"
|
7
|
-
fails "MatchData#[Symbol] returns the matching version of multiple corresponding named match"
|
8
|
-
fails "MatchData#[Symbol] returns the last match when multiple named matches exist with the same name"
|
9
|
-
fails "MatchData#[Symbol] returns nil on non-matching named matches"
|
10
|
-
fails "MatchData#[Symbol] raises an IndexError if there is no named match corresponding to the Symbol"
|
11
|
-
fails "MatchData#[Symbol] raises an IndexError if there is no named match corresponding to the String"
|
12
|
-
fails "MatchData#[Symbol] returns matches in the String's encoding"
|
13
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
opal_filter "Fixnum bugs" do
|
2
|
-
fails "Integer#downto [stop] when self and stop are Fixnums raises an ArgumentError for invalid endpoints"
|
3
|
-
fails "Integer#upto [stop] when self and stop are Fixnums raises an ArgumentError for non-numeric endpoints"
|
4
|
-
fails "Integer#even? returns true when self is an even number"
|
5
|
-
|
6
|
-
fails "Fixnum#to_s when no base given returns self converted to a String using base 10"
|
7
|
-
|
8
|
-
fails "Fixnum#zero? returns true if self is 0"
|
9
|
-
end
|
10
|
-
|
11
|
-
opal_filter "Fixnum#<< doesn't handle Bignum and large number checks" do
|
12
|
-
fails "Fixnum#<< with n << m returns a Bignum == fixnum_min() * 2 when fixnum_min() << 1 and n < 0"
|
13
|
-
fails "Fixnum#<< with n << m returns a Bignum == fixnum_max() * 2 when fixnum_max() << 1 and n > 0"
|
14
|
-
fails "Fixnum#<< with n << m returns 0 when m < 0 and m is a Bignum"
|
15
|
-
fails "Fixnum#<< with n << m returns 0 when m < 0 and m == p where 2**p > n >= 2**(p-1)"
|
16
|
-
end
|
17
|
-
|
18
|
-
opal_filter "Fixnum#>> doesn't handle Bignum" do
|
19
|
-
fails "Fixnum#>> with n >> m returns a Bignum == fixnum_max() * 2 when fixnum_max() >> -1 and n > 0"
|
20
|
-
fails "Fixnum#>> with n >> m returns a Bignum == fixnum_min() * 2 when fixnum_min() >> -1 and n < 0"
|
21
|
-
fails "Fixnum#>> with n >> m returns 0 when m is a Bignum"
|
22
|
-
end
|
data/spec/filters/bugs/regexp.rb
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
opal_filter "RegExp" do
|
2
|
-
fails "Regexp#eql? is true if self and other have the same character set code"
|
3
|
-
fails "Regexp#== is true if self and other have the same character set code"
|
4
|
-
fails "Regexp#~ matches against the contents of $_"
|
5
|
-
fails "Regexp#match uses the start as a character offset"
|
6
|
-
fails "Regexp#match matches the input at a given position"
|
7
|
-
fails "Regexp#match with [string, position] when given a positive position matches the input at a given position"
|
8
|
-
fails "Regexp#match with [string, position] when given a negative position matches the input at a given position"
|
9
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
opal_filter "Kernel#Integer() fix broke mspec" do
|
2
|
-
fails "Array#shuffle calls #to_f on the Object returned by #rand"
|
3
|
-
fails "Array#shuffle raises a RangeError if the random generator returns a value less than 0.0"
|
4
|
-
fails "Array#shuffle raises a RangeError if the random generator returns a value equal to 1.0"
|
5
|
-
fails "Array#shuffle raises a RangeError if the random generator returns a value greater than 1.0"
|
6
|
-
fails "A singleton class has class Bignum as the superclass of a Bignum instance"
|
7
|
-
fails "Hash.[] ignores elements that are arrays of more than 2 elements"
|
8
|
-
fails "Hash.[] creates a Hash; values can be provided as a list of value-invalid-pairs in an array"
|
9
|
-
fails "Hash#default_proc= raises an error if passed nil"
|
10
|
-
fails "ERB::Util.html_escape not escape characters except '& < > \"'"
|
11
|
-
end
|