opal 0.5.4 → 0.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -2
- data/.gitmodules +2 -2
- data/Rakefile +13 -63
- data/bin/opal-build +14 -0
- data/config.ru +14 -0
- data/{spec/ospec → lib/mspec/opal}/main.rb.erb +0 -0
- data/{spec/ospec → lib/mspec/opal}/mspec_fixes.rb +0 -0
- data/lib/mspec/opal/rake_task.rb +233 -0
- data/{spec/ospec → lib/mspec/opal}/runner.rb +0 -0
- data/{spec/ospec → lib/mspec/opal}/sprockets.js +0 -0
- data/lib/opal/builder.rb +28 -0
- data/lib/opal/parser/grammar.rb +2118 -2086
- data/lib/opal/parser/grammar.y +2 -2
- data/lib/opal/parser/lexer.rb +1 -1
- data/lib/opal/version.rb +1 -1
- data/opal/{core → corelib}/array.rb +0 -0
- data/opal/{core → corelib}/basic_object.rb +0 -0
- data/opal/{core → corelib}/boolean.rb +0 -0
- data/opal/{core → corelib}/class.rb +0 -0
- data/opal/{core → corelib}/comparable.rb +0 -0
- data/opal/{core → corelib}/encoding.rb +0 -0
- data/opal/{core → corelib}/enumerable.rb +0 -0
- data/opal/{core → corelib}/enumerator.rb +0 -0
- data/opal/{core → corelib}/error.rb +0 -0
- data/opal/{core → corelib}/hash.rb +0 -0
- data/opal/{core → corelib}/helpers.rb +0 -0
- data/opal/{core → corelib}/io.rb +0 -0
- data/opal/{core → corelib}/kernel.rb +0 -0
- data/opal/{core → corelib}/main.rb +0 -0
- data/opal/{core → corelib}/match_data.rb +0 -0
- data/opal/{core → corelib}/method.rb +0 -0
- data/opal/{core → corelib}/module.rb +0 -0
- data/opal/{core → corelib}/nil_class.rb +0 -0
- data/opal/{core → corelib}/numeric.rb +0 -0
- data/opal/{core → corelib}/proc.rb +0 -0
- data/opal/{core → corelib}/range.rb +0 -0
- data/opal/{core → corelib}/regexp.rb +0 -0
- data/opal/{core → corelib}/runtime.js +0 -0
- data/opal/{core → corelib}/string.rb +0 -0
- data/opal/{core → corelib}/struct.rb +0 -0
- data/opal/{core → corelib}/time.rb +0 -0
- data/opal/opal.rb +28 -28
- data/{mri_spec → spec/cli}/cli_spec.rb +0 -0
- data/{mri_spec → spec/cli}/fixtures/opal_file.rb +0 -0
- data/{mri_spec → spec/cli}/spec_helper.rb +0 -0
- data/spec/{corelib → opal/core}/array/select_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/all_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/any_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/collect_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/count_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/detect_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/drop_while_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/each_slice_break.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/each_with_index_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/each_with_object_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/find_all_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/find_index_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/grep_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/max_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/max_by_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/min_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/min_by_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/none_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/one_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/reduce_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/enumerable/take_while_break_spec.rb +0 -0
- data/spec/{corelib → opal/core}/fixtures/class.rb +0 -0
- data/spec/{corelib → opal/core}/fixtures/class_variables.rb +0 -0
- data/spec/{corelib → opal/core}/fixtures/constants.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/Array_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/block_given_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/class_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/define_singleton_method_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/equal_value_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/extend_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/format_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/freeze_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/instance_eval_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/instance_variable_defined_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/instance_variable_get_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/instance_variable_set_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/loop_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/match_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/method_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/methods_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/nil_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/p_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/printf_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/proc_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/rand_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/respond_to_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/send_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/sprintf_spec.rb +0 -0
- data/spec/{corelib → opal/core}/kernel/warn_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/block_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/array.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/block.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/break.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/ensure.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/literal_lambda.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/metaclass.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/module.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/next.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/return.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/send.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/send_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/super.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/variables.rb +0 -0
- data/spec/{corelib → opal/core}/language/fixtures/yield.rb +0 -0
- data/spec/{corelib → opal/core}/language/numbers_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/predefined_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/proc_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/regexp_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/send_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/string_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/symbol_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/variables_spec.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/array_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/block_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/break_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/case_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/hash_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/literal_lambda_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/not_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/send_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/symbol_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/language/versions/variables_1.9.rb +0 -0
- data/spec/{corelib → opal/core}/module/alias_method_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/ancestors_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/append_features_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/attr_accessor_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/const_defined_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/const_get_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/const_missing_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/const_set_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/constants_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/fixtures/classes.rb +0 -0
- data/spec/{corelib → opal/core}/module/method_defined_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/module_function_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/name_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/public_method_defined_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/remove_const_spec.rb +0 -0
- data/spec/{corelib → opal/core}/module/undef_method_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/abs_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/bit_and_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/bit_or_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/bit_xor_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/ceil_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/chr_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/comparison_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/complement_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/divide_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/downto_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/eql_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/equal_value_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/even_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/exponent_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/floor_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/gt_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/gte_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/integer_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/left_shift_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/lt_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/lte_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/magnitude_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/minus_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/modulo_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/multiply_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/next_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/odd_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/ord_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/plus_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/pred_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/right_shift_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/step_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/succ_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/times_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/to_f_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/to_i_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/to_json_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/to_s_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/uminus_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/upto_spec.rb +0 -0
- data/spec/{corelib → opal/core}/numeric/zero_spec.rb +0 -0
- data/spec/{corelib → opal/core}/proc/call_spec.rb +0 -0
- data/spec/{corelib → opal/core}/proc/element_reference_spec.rb +0 -0
- data/spec/{corelib → opal/core}/proc/proc_tricks_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/begin_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/block_send_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/block_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/bridged_classes_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/constants_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/eval_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/main_methods_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/method_missing_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/method_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/paren_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/rescue_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/return_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/send_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/singleton_class_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/super_spec.rb +0 -0
- data/spec/{corelib → opal/core}/runtime/variables_spec.rb +0 -0
- data/spec/{corelib → opal/core}/source_map_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/chop_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/chr_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/clone_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/comparison_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/dup_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/element_reference_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/fixtures/classes.rb +0 -0
- data/spec/{corelib → opal/core}/string/format_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/freeze_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/gsub_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/lines_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/ljust_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/lstrip_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/match_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/next_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/ord_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/partition_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/rindex_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/rjust_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/rstrip_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/scan_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/slice_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/split_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/strip_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/sub_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/succ_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/sum_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/to_f_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/to_i_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/tr_s_spec.rb +0 -0
- data/spec/{corelib → opal/core}/string/tr_spec.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/array.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/basic_object.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/class.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/enumerable.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/hash.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/kernel.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/language.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/module.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/parser.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/regexp.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/set.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/singleton.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/string.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/stringscanner.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/struct.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/symbol.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/time.rb +0 -0
- data/spec/{filters → opal/filters}/bugs/unknown.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/encoding.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/enumerator.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/float.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/frozen.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/hash_compare_by_identity.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/immutable_strings.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/mutable_strings.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/private_methods.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/ruby_exe.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/string_subclasses.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/tainted.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/time.rb +0 -0
- data/spec/{filters → opal/filters}/unsupported/trusted.rb +0 -0
- data/spec/{rubyspecs → opal/rubyspecs} +0 -0
- data/spec/{spec_helper.rb → opal/spec_helper.rb} +2 -2
- data/spec/{stdlib → opal/stdlib}/erb/erb_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/erb/inline_block.opalerb +0 -0
- data/spec/{stdlib → opal/stdlib}/erb/quoted.opalerb +0 -0
- data/spec/{stdlib → opal/stdlib}/erb/simple.opalerb +0 -0
- data/spec/{stdlib → opal/stdlib}/json/ext_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/json/parse_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/native/alias_native_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/native/each_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/native/element_reference_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/native/exposure_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/native/ext_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/native/initialize_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/native/method_missing_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/native/new_spec.rb +0 -0
- data/spec/{stdlib → opal/stdlib}/template/paths_spec.rb +0 -0
- data/tasks/github.rake +19 -0
- metadata +518 -520
- data/spec/config.ru +0 -17
- data/spec/index.html +0 -9
- data/tasks/mspec.rake +0 -149
data/spec/config.ru
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'bundler'
|
2
|
-
Bundler.require
|
3
|
-
require 'opal-sprockets'
|
4
|
-
|
5
|
-
Dir.chdir File.expand_path('../../', __FILE__) # go to opal gem root
|
6
|
-
ENV['OPAL_SPEC'] = [File.dirname(__FILE__)].join(',')
|
7
|
-
|
8
|
-
run Opal::Server.new { |s|
|
9
|
-
Opal::Processor.arity_check_enabled = true
|
10
|
-
|
11
|
-
s.append_path 'spec'
|
12
|
-
s.append_path File.join(Gem::Specification.find_by_name('mspec').gem_dir, 'lib')
|
13
|
-
|
14
|
-
s.debug = false
|
15
|
-
s.main = 'ospec/main'
|
16
|
-
s.index_path = 'spec/index.html'
|
17
|
-
}
|
data/spec/index.html
DELETED
data/tasks/mspec.rake
DELETED
@@ -1,149 +0,0 @@
|
|
1
|
-
require 'rack'
|
2
|
-
require 'webrick'
|
3
|
-
require 'opal-sprockets'
|
4
|
-
|
5
|
-
class Opal::Nodes::CallNode
|
6
|
-
# Rubyspec uses this call to load in language specific features at runtime.
|
7
|
-
# We can't do this at runtime, so handle it during compilation
|
8
|
-
add_special :language_version do
|
9
|
-
if meth == :language_version and scope.top?
|
10
|
-
lang_type = arglist[2][1]
|
11
|
-
target = "rubyspec/language/versions/#{lang_type}_1.9"
|
12
|
-
|
13
|
-
if File.exist?(target)
|
14
|
-
compiler.requires << target
|
15
|
-
end
|
16
|
-
|
17
|
-
return fragment("nil")
|
18
|
-
end
|
19
|
-
|
20
|
-
nil
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
class SpecEnvironment < Opal::Environment
|
25
|
-
def initialize
|
26
|
-
super
|
27
|
-
append_path 'spec'
|
28
|
-
append_path 'rubyspec'
|
29
|
-
use_gem 'mspec'
|
30
|
-
|
31
|
-
stubs.each do |asset|
|
32
|
-
Opal::Processor.stub_file asset
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def stubs
|
37
|
-
# missing stdlib
|
38
|
-
stubs = %w[fileutils iconv yaml]
|
39
|
-
|
40
|
-
# use x-strings which generate bad javascript
|
41
|
-
stubs << "mspec/helpers/tmp"
|
42
|
-
stubs << "mspec/helpers/environment"
|
43
|
-
stubs << "mspec/guards/block_device"
|
44
|
-
stubs << "mspec/guards/endian"
|
45
|
-
|
46
|
-
stubs
|
47
|
-
end
|
48
|
-
|
49
|
-
def specs
|
50
|
-
@specs ||= self['ospec/main'].to_s
|
51
|
-
end
|
52
|
-
|
53
|
-
def build_min file = 'build/specs.min.js'
|
54
|
-
build uglify(specs), file
|
55
|
-
end
|
56
|
-
|
57
|
-
def build code = specs, file = 'build/specs.js'
|
58
|
-
FileUtils.mkdir_p File.dirname(file)
|
59
|
-
puts "Building #{file}..."
|
60
|
-
File.open(file, 'w+') { |o| o << code }
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
class RunSpec
|
65
|
-
def initialize(file=nil)
|
66
|
-
Opal::Processor.arity_check_enabled = true
|
67
|
-
Opal::Processor.dynamic_require_severity = :ignore
|
68
|
-
|
69
|
-
ENV['OPAL_SPEC'] = self.specs_to_run(file).join(',')
|
70
|
-
|
71
|
-
build_specs
|
72
|
-
|
73
|
-
server = fork do
|
74
|
-
app = Rack::Builder.app do
|
75
|
-
use Rack::ShowExceptions
|
76
|
-
run Rack::Directory.new('.')
|
77
|
-
end
|
78
|
-
|
79
|
-
Rack::Server.start(:app => app, :Port => 9999, :AccessLog => [],
|
80
|
-
:Logger => WEBrick::Log.new("/dev/null"))
|
81
|
-
end
|
82
|
-
|
83
|
-
system "phantomjs \"spec/ospec/sprockets.js\" \"http://localhost:9999/spec/index.html\""
|
84
|
-
success = $?.success?
|
85
|
-
|
86
|
-
exit 1 unless success
|
87
|
-
|
88
|
-
rescue => e
|
89
|
-
puts e.message
|
90
|
-
ensure
|
91
|
-
Process.kill(:SIGINT, server)
|
92
|
-
Process.wait
|
93
|
-
end
|
94
|
-
|
95
|
-
def specs_to_run(file=nil)
|
96
|
-
specs = []
|
97
|
-
|
98
|
-
# add any filters in spec/filters of specs we dont want to run
|
99
|
-
specs << Dir.glob('spec/filters/**/*.rb').map { |s| s.sub(/^spec\//, '').sub(/\.rb$/, '') }
|
100
|
-
|
101
|
-
# add custom opal specs from spec/
|
102
|
-
specs << (file.nil? ? Dir.glob("#{Dir.pwd}/spec/**/*_spec.{rb,opal}") : file)
|
103
|
-
|
104
|
-
# add any rubyspecs we want to run (defined in spec/rubyspecs)
|
105
|
-
specs.push File.read('spec/rubyspecs').split("\n").reject {|line|
|
106
|
-
line.empty? || line.start_with?('#')
|
107
|
-
}
|
108
|
-
|
109
|
-
specs.flatten
|
110
|
-
end
|
111
|
-
|
112
|
-
def build_specs
|
113
|
-
SpecEnvironment.new.build
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
desc <<-DESC
|
118
|
-
Run task with spec:dir:file helper
|
119
|
-
Example: to run all antive specs in /spec/opal/native
|
120
|
-
type:
|
121
|
-
rake spec:opal:native
|
122
|
-
DESC
|
123
|
-
namespace :spec do
|
124
|
-
task 'dirs' do
|
125
|
-
end
|
126
|
-
rule '' do |task|
|
127
|
-
|
128
|
-
#build path for spec files\dirs.
|
129
|
-
#Example:
|
130
|
-
#spec:core => spec/core/
|
131
|
-
#spec:core:array:allocate => spec/core/array/allocate_spec.rb
|
132
|
-
def path(dirs)
|
133
|
-
path = "#{Dir.pwd}"
|
134
|
-
dirs.each do |dir|
|
135
|
-
base = path + "/#{dir}"
|
136
|
-
if Dir.exists?(base)
|
137
|
-
path = base
|
138
|
-
else
|
139
|
-
path = Dir.glob("#{base}_spec.rb")
|
140
|
-
end
|
141
|
-
end
|
142
|
-
path = [path].flatten
|
143
|
-
raise ArgumentError, "File or Dir with task #{dirs.join('/')} not found." if path.empty?
|
144
|
-
path
|
145
|
-
end
|
146
|
-
|
147
|
-
RunSpec.new(path(task.name.split(":")))
|
148
|
-
end
|
149
|
-
end
|