opal 0.9.0.beta1 → 0.9.0.beta2
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/CHANGELOG.md +39 -20
- data/CONTRIBUTING.md +8 -16
- data/lib/opal/compiler.rb +5 -0
- data/lib/opal/nodes/def.rb +10 -3
- data/lib/opal/nodes/definitions.rb +14 -3
- data/lib/opal/paths.rb +21 -4
- data/lib/opal/version.rb +1 -1
- data/opal/corelib/array.rb +1 -1
- data/opal/corelib/basic_object.rb +9 -9
- data/opal/corelib/constants.rb +2 -2
- data/opal/corelib/enumerable.rb +79 -2
- data/opal/corelib/error.rb +18 -0
- data/opal/corelib/helpers.rb +2 -8
- data/opal/corelib/kernel.rb +7 -7
- data/opal/corelib/module.rb +10 -10
- data/opal/corelib/number.rb +1 -1
- data/opal/corelib/regexp.rb +31 -30
- data/opal/corelib/string.rb +1 -1
- data/opal/corelib/struct.rb +8 -10
- data/opal/corelib/time.rb +4 -2
- data/opal/corelib/unsupported.rb +2 -2
- data/spec/filters/bugs/enumerable.rb +0 -19
- data/spec/filters/bugs/exception.rb +0 -4
- data/spec/filters/bugs/language.rb +7 -5
- data/spec/filters/bugs/module.rb +18 -19
- data/spec/filters/bugs/regexp.rb +0 -3
- data/spec/filters/bugs/set.rb +0 -8
- data/spec/filters/bugs/struct.rb +2 -2
- data/spec/filters/unsupported/bignum.rb +1 -0
- data/spec/filters/unsupported/language.rb +7 -0
- data/spec/lib/compiler_spec.rb +5 -0
- data/spec/lib/parser/undef_spec.rb +4 -0
- data/spec/lib/paths_spec.rb +11 -0
- data/spec/lib/spec_helper.rb +1 -1
- data/spec/opal/core/arity_spec.rb +142 -0
- data/spec/rubyspecs +1 -0
- data/stdlib/json.rb +13 -8
- data/stdlib/native.rb +1 -1
- data/stdlib/observer.rb +1 -1
- data/stdlib/ostruct.rb +1 -1
- data/stdlib/set.rb +33 -0
- data/tasks/testing.rake +8 -7
- metadata +7 -3
data/stdlib/ostruct.rb
CHANGED
@@ -17,7 +17,7 @@ class OpenStruct
|
|
17
17
|
|
18
18
|
def method_missing(name, *args)
|
19
19
|
if args.length > 2
|
20
|
-
raise NoMethodError.new
|
20
|
+
raise NoMethodError.new("undefined method `#{name}' for #<OpenStruct>", name)
|
21
21
|
end
|
22
22
|
if name.end_with? '='
|
23
23
|
if args.length != 1
|
data/stdlib/set.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# Portions Copyright (c) 2002-2013 Akinori MUSHA <knu@iDaemons.org>
|
1
2
|
class Set
|
2
3
|
include Enumerable
|
3
4
|
|
@@ -155,6 +156,38 @@ class Set
|
|
155
156
|
dup.merge(enum)
|
156
157
|
end
|
157
158
|
|
159
|
+
def superset?(set)
|
160
|
+
set.is_a?(Set) or raise ArgumentError, "value must be a set"
|
161
|
+
return false if size < set.size
|
162
|
+
set.all? { |o| include?(o) }
|
163
|
+
end
|
164
|
+
|
165
|
+
alias >= superset?
|
166
|
+
|
167
|
+
def proper_superset?(set)
|
168
|
+
set.is_a?(Set) or raise ArgumentError, "value must be a set"
|
169
|
+
return false if size <= set.size
|
170
|
+
set.all? { |o| include?(o) }
|
171
|
+
end
|
172
|
+
|
173
|
+
alias > proper_superset?
|
174
|
+
|
175
|
+
def subset?(set)
|
176
|
+
set.is_a?(Set) or raise ArgumentError, "value must be a set"
|
177
|
+
return false if set.size < size
|
178
|
+
all? { |o| set.include?(o) }
|
179
|
+
end
|
180
|
+
|
181
|
+
alias <= subset?
|
182
|
+
|
183
|
+
def proper_subset?(set)
|
184
|
+
set.is_a?(Set) or raise ArgumentError, "value must be a set"
|
185
|
+
return false if set.size <= size
|
186
|
+
all? { |o| set.include?(o) }
|
187
|
+
end
|
188
|
+
|
189
|
+
alias < proper_subset?
|
190
|
+
|
158
191
|
alias + |
|
159
192
|
alias union |
|
160
193
|
|
data/tasks/testing.rake
CHANGED
@@ -55,8 +55,8 @@ module Testing
|
|
55
55
|
elsif suite == 'rubyspec'
|
56
56
|
add_specs['spec/rubyspec', rubyspecs]
|
57
57
|
else
|
58
|
-
warn 'Please provide at lease one of the following
|
59
|
-
warn 'PATTERN # e.g.
|
58
|
+
warn 'Please provide at lease one of the following environment variables:'
|
59
|
+
warn 'PATTERN # e.g. PATTERN=spec/rubyspec/core/numeric/**_spec.rb'
|
60
60
|
warn 'SUITE # can be either SUITE=opal or SUITE=rubyspec'
|
61
61
|
exit 1
|
62
62
|
end
|
@@ -85,18 +85,19 @@ module Testing
|
|
85
85
|
index = 0
|
86
86
|
begin
|
87
87
|
index += 1
|
88
|
-
|
89
|
-
end while File.exist?(
|
88
|
+
filepath = "tmp/bench/Spec#{index}"
|
89
|
+
end while File.exist?(filepath)
|
90
|
+
filepath
|
90
91
|
end
|
91
92
|
end
|
92
93
|
|
93
94
|
pattern_usage = <<-DESC
|
94
|
-
Use PATTERN
|
95
|
+
Use PATTERN environment variable to manually set the glob for specs:
|
95
96
|
|
96
97
|
# Will run all specs matching the specified pattern.
|
97
98
|
# (Note: the rubyspecs filters will still apply)
|
98
|
-
|
99
|
-
|
99
|
+
bundle exec rake mspec_node PATTERN=spec/rubyspec/core/module/class_variable*_spec.rb
|
100
|
+
bundle exec rake mspec_node PATTERN=spec/rubyspec/core/numeric/**_spec.rb
|
100
101
|
DESC
|
101
102
|
|
102
103
|
%w[rubyspec opal].each do |suite|
|
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.beta2
|
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
|
+
date: 2015-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sourcemap
|
@@ -570,6 +570,7 @@ files:
|
|
570
570
|
- spec/lib/parser/while_spec.rb
|
571
571
|
- spec/lib/parser/yield_spec.rb
|
572
572
|
- spec/lib/path_reader_spec.rb
|
573
|
+
- spec/lib/paths_spec.rb
|
573
574
|
- spec/lib/shared/path_finder_shared.rb
|
574
575
|
- spec/lib/shared/path_reader_shared.rb
|
575
576
|
- spec/lib/spec_helper.rb
|
@@ -580,6 +581,7 @@ files:
|
|
580
581
|
- spec/lib/sprockets_spec.rb
|
581
582
|
- spec/lib/tilt/opal_spec.rb
|
582
583
|
- spec/opal/compiler/irb_spec.rb
|
584
|
+
- spec/opal/core/arity_spec.rb
|
583
585
|
- spec/opal/core/array/intersection_spec.rb
|
584
586
|
- spec/opal/core/array/minus_spec.rb
|
585
587
|
- spec/opal/core/array/select_spec.rb
|
@@ -1087,7 +1089,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1087
1089
|
version: 1.3.1
|
1088
1090
|
requirements: []
|
1089
1091
|
rubyforge_project:
|
1090
|
-
rubygems_version: 2.4.
|
1092
|
+
rubygems_version: 2.4.8
|
1091
1093
|
signing_key:
|
1092
1094
|
specification_version: 4
|
1093
1095
|
summary: Ruby runtime and core library for JavaScript
|
@@ -1203,6 +1205,7 @@ test_files:
|
|
1203
1205
|
- spec/lib/parser/while_spec.rb
|
1204
1206
|
- spec/lib/parser/yield_spec.rb
|
1205
1207
|
- spec/lib/path_reader_spec.rb
|
1208
|
+
- spec/lib/paths_spec.rb
|
1206
1209
|
- spec/lib/shared/path_finder_shared.rb
|
1207
1210
|
- spec/lib/shared/path_reader_shared.rb
|
1208
1211
|
- spec/lib/spec_helper.rb
|
@@ -1213,6 +1216,7 @@ test_files:
|
|
1213
1216
|
- spec/lib/sprockets_spec.rb
|
1214
1217
|
- spec/lib/tilt/opal_spec.rb
|
1215
1218
|
- spec/opal/compiler/irb_spec.rb
|
1219
|
+
- spec/opal/core/arity_spec.rb
|
1216
1220
|
- spec/opal/core/array/intersection_spec.rb
|
1217
1221
|
- spec/opal/core/array/minus_spec.rb
|
1218
1222
|
- spec/opal/core/array/select_spec.rb
|