opal 0.3.6 → 0.3.9

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.
Files changed (98) hide show
  1. data/README.md +69 -97
  2. data/bin/opal +2 -2
  3. data/{lib/core → corelib}/array.rb +85 -56
  4. data/corelib/boolean.rb +20 -0
  5. data/corelib/class.rb +58 -0
  6. data/{lib → corelib}/core.rb +2 -50
  7. data/corelib/dir.rb +22 -0
  8. data/{lib/core → corelib}/enumerable.rb +0 -0
  9. data/corelib/error.rb +19 -0
  10. data/{lib/core → corelib}/file.rb +7 -9
  11. data/{lib/core → corelib}/hash.rb +104 -144
  12. data/{lib/core → corelib}/kernel.rb +38 -44
  13. data/corelib/load_order +21 -0
  14. data/{lib/core → corelib}/match_data.rb +0 -0
  15. data/{lib/core → corelib}/module.rb +12 -8
  16. data/{lib/core → corelib}/nil_class.rb +2 -2
  17. data/{lib/core → corelib}/numeric.rb +37 -100
  18. data/corelib/object.rb +37 -0
  19. data/{lib/core → corelib}/proc.rb +3 -3
  20. data/corelib/range.rb +27 -0
  21. data/{lib/core → corelib}/regexp.rb +1 -1
  22. data/{lib/core → corelib}/string.rb +16 -107
  23. data/{lib/core → corelib}/top_self.rb +0 -0
  24. data/lib/opal.rb +7 -0
  25. data/lib/opal/browserify.rb +34 -0
  26. data/{opal_lib → lib}/opal/builder.rb +70 -24
  27. data/lib/opal/command.rb +52 -0
  28. data/lib/opal/context.rb +197 -0
  29. data/{opal_lib/opal/ruby/parser.rb → lib/opal/lexer.rb} +20 -4
  30. data/{opal_lib/opal/ruby → lib/opal}/nodes.rb +238 -127
  31. data/lib/opal/parser.rb +4894 -0
  32. data/{opal_lib/opal/ruby/ruby_parser.y → lib/opal/parser.y} +38 -18
  33. data/lib/rbp.rb +2 -0
  34. data/lib/rbp/package.rb +49 -0
  35. data/runtime/class.js +216 -189
  36. data/runtime/fs.js +2 -2
  37. data/runtime/init.js +242 -244
  38. data/runtime/loader.js +78 -99
  39. data/runtime/module.js +34 -40
  40. data/runtime/post.js +2 -2
  41. data/runtime/pre.js +1 -1
  42. data/runtime/runtime.js +129 -135
  43. data/{lib → stdlib}/dev.rb +10 -10
  44. data/{lib → stdlib}/racc/parser.rb +0 -6
  45. data/{lib → stdlib}/strscan.rb +4 -4
  46. metadata +57 -105
  47. data/lib/core/basic_object.rb +0 -51
  48. data/lib/core/class.rb +0 -38
  49. data/lib/core/dir.rb +0 -26
  50. data/lib/core/error.rb +0 -75
  51. data/lib/core/false_class.rb +0 -81
  52. data/lib/core/object.rb +0 -6
  53. data/lib/core/range.rb +0 -27
  54. data/lib/core/symbol.rb +0 -42
  55. data/lib/core/true_class.rb +0 -41
  56. data/lib/ospec.rb +0 -7
  57. data/lib/ospec/autorun.rb +0 -8
  58. data/lib/ospec/dsl.rb +0 -15
  59. data/lib/ospec/example.rb +0 -11
  60. data/lib/ospec/example/before_and_after_hooks.rb +0 -56
  61. data/lib/ospec/example/errors.rb +0 -17
  62. data/lib/ospec/example/example_group.rb +0 -12
  63. data/lib/ospec/example/example_group_factory.rb +0 -18
  64. data/lib/ospec/example/example_group_hierarchy.rb +0 -21
  65. data/lib/ospec/example/example_group_methods.rb +0 -100
  66. data/lib/ospec/example/example_group_proxy.rb +0 -15
  67. data/lib/ospec/example/example_methods.rb +0 -46
  68. data/lib/ospec/example/example_proxy.rb +0 -18
  69. data/lib/ospec/expectations.rb +0 -19
  70. data/lib/ospec/expectations/errors.rb +0 -8
  71. data/lib/ospec/expectations/fail_with.rb +0 -9
  72. data/lib/ospec/expectations/handler.rb +0 -33
  73. data/lib/ospec/helpers/scratch.rb +0 -18
  74. data/lib/ospec/matchers.rb +0 -24
  75. data/lib/ospec/matchers/be.rb +0 -1
  76. data/lib/ospec/matchers/generated_descriptions.rb +0 -20
  77. data/lib/ospec/matchers/operator_matcher.rb +0 -54
  78. data/lib/ospec/matchers/raise_error.rb +0 -38
  79. data/lib/ospec/runner.rb +0 -90
  80. data/lib/ospec/runner/example_group_runner.rb +0 -41
  81. data/lib/ospec/runner/formatter/html_formatter.rb +0 -139
  82. data/lib/ospec/runner/formatter/terminal_formatter.rb +0 -48
  83. data/lib/ospec/runner/options.rb +0 -34
  84. data/lib/ospec/runner/reporter.rb +0 -82
  85. data/opal_lib/opal.rb +0 -16
  86. data/opal_lib/opal/build_methods.rb +0 -51
  87. data/opal_lib/opal/bundle.rb +0 -70
  88. data/opal_lib/opal/command.rb +0 -68
  89. data/opal_lib/opal/context.rb +0 -81
  90. data/opal_lib/opal/context/console.rb +0 -10
  91. data/opal_lib/opal/context/file_system.rb +0 -34
  92. data/opal_lib/opal/context/loader.rb +0 -135
  93. data/opal_lib/opal/gem.rb +0 -84
  94. data/opal_lib/opal/rake/builder_task.rb +0 -44
  95. data/opal_lib/opal/rake/spec_task.rb +0 -32
  96. data/opal_lib/opal/ruby/ruby_parser.rb +0 -4862
  97. data/opal_lib/opal/version.rb +0 -4
  98. data/runtime/debug.js +0 -84
@@ -1,15 +0,0 @@
1
-
2
- module Spec
3
- module Example
4
- class ExampleGroupProxy
5
-
6
- attr_reader :description, :examples
7
-
8
- def initialize(example_group)
9
- @description = example_group.description
10
- @examples = example_group.example_proxies
11
- end
12
- end
13
- end
14
- end
15
-
@@ -1,46 +0,0 @@
1
- module Spec
2
-
3
- module Example
4
-
5
- module ExampleMethods
6
-
7
- include Spec::Matchers
8
-
9
- def initialize(example_proxy, &implementation)
10
- @example_proxy = example_proxy
11
- @implementation = implementation
12
- end
13
-
14
- def before_each_example
15
- run_before_each
16
- end
17
-
18
- def run_before_each
19
- example_group_hierarchy.run_before_each self
20
- end
21
-
22
- def example_group_hierarchy
23
- self.class.example_group_hierarchy
24
- end
25
-
26
- def description
27
- @example_proxy.description
28
- end
29
-
30
- def execute(run_options, instance_variables)
31
- run_options.reporter.example_started @example_proxy
32
- execution_error = nil
33
-
34
- begin
35
- before_each_example
36
- instance_eval(&@implementation)
37
- rescue Exception => e
38
- execution_error = e
39
- end
40
-
41
- run_options.reporter.example_finished @example_proxy.update(description), execution_error
42
- end
43
- end
44
- end
45
- end
46
-
@@ -1,18 +0,0 @@
1
- module Spec
2
- module Example
3
- class ExampleProxy
4
-
5
- attr_reader :description
6
-
7
- def initialize(description, options = nil, location = nil)
8
- @description = description
9
- end
10
-
11
- def update(description)
12
- @description = description
13
- self
14
- end
15
- end # ExampleProxy
16
- end
17
- end
18
-
@@ -1,19 +0,0 @@
1
-
2
- require 'ospec/expectations/fail_with'
3
- require 'ospec/expectations/handler'
4
- require 'ospec/expectations/errors'
5
-
6
- module Kernel
7
-
8
- def should(matcher = nil, message = nil, &block)
9
- r = Spec::Expectations::PositiveExpectationHandler.handle_matcher self,
10
- matcher,
11
- message
12
- end
13
-
14
- def should_not(matcher = nil, message = nil, &block)
15
- Spec::Expectations::NegativeExpectationHandler.handle_matcher self,
16
- matcher,
17
- message
18
- end
19
- end
@@ -1,8 +0,0 @@
1
- module Spec
2
- module Expectations
3
- class ExpectationNotMetError < StandardError
4
-
5
- end
6
- end
7
- end
8
-
@@ -1,9 +0,0 @@
1
- module Spec
2
- module Expectations
3
-
4
- def self.fail_with(message, expected = nil, target = nil)
5
- raise Spec::Expectations::ExpectationNotMetError.new(message)
6
- end
7
- end
8
- end
9
-
@@ -1,33 +0,0 @@
1
- module Spec
2
- module Expectations
3
-
4
- class PositiveExpectationHandler
5
-
6
- def self.handle_matcher(actual, matcher, message, &block)
7
- Spec::Matchers.last_should = :should
8
- Spec::Matchers.last_matcher = matcher
9
- if matcher.nil?
10
- return Spec::Matchers::PositiveOperatorMatcher.new actual
11
- else
12
- match = matcher.matches?(actual, &block)
13
- return match if match
14
-
15
- Spec::Expectations.fail_with matcher.failure_message_for_should
16
- nil
17
- end
18
- end
19
- end
20
-
21
- class NegativeExpectationHandler
22
-
23
- def self.handle_matcher(actual, matcher, message, &block)
24
- Spec::Matchers.last_should = :should_not
25
- Spec::Matchers.last_matcher = matcher
26
- if matcher.nil?
27
- return Spec::Matchers::NegativeOperatorMatcher.new actual
28
- end
29
- end
30
- end
31
- end
32
- end
33
-
@@ -1,18 +0,0 @@
1
- module ScratchPad
2
- def self.clear
3
- @record = nil
4
- end
5
-
6
- def self.record(arg)
7
- @record = arg
8
- end
9
-
10
- def self.<<(arg)
11
- @record << arg
12
- end
13
-
14
- def self.recorded
15
- @record
16
- end
17
- end
18
-
@@ -1,24 +0,0 @@
1
- require 'ospec/matchers/operator_matcher'
2
- require 'ospec/matchers/be'
3
- require 'ospec/matchers/generated_descriptions'
4
- require 'ospec/matchers/raise_error'
5
-
6
- module Spec
7
-
8
- module Matchers
9
-
10
- class Matcher
11
- include Spec::Matchers
12
-
13
- # attr_reader :expected, :actual
14
-
15
- def initialize(name, expected, &declarations)
16
- @name = name
17
- @expected = expected
18
- instance_exec expected, &declarations
19
- end
20
-
21
- end # Matcher
22
- end # Matchers
23
- end # Spec
24
-
@@ -1 +0,0 @@
1
-
@@ -1,20 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- def self.last_matcher
5
- @last_matcher
6
- end
7
-
8
- def self.last_matcher=(last_matcher)
9
- @last_matcher = last_matcher
10
- end
11
-
12
- def self.last_should
13
- @last_should
14
- end
15
-
16
- def self.last_should=(last_should)
17
- @last_should = last_should
18
- end
19
- end
20
- end
@@ -1,54 +0,0 @@
1
-
2
- module Spec
3
-
4
- module Matchers
5
-
6
- class OperatorMatcher
7
-
8
- def initialize(actual)
9
- @actual = actual
10
- end
11
-
12
- [:==, :===, :=~, :>, :<, :>=, :<=].each do |op|
13
- define_method(op) do |exp|
14
- eval_match @actual, op, exp
15
- end
16
- end
17
-
18
- def eval_match(actual, operator, expected)
19
- @operator = operator
20
- @expected = expected
21
- __delegate_operator actual, operator, expected
22
- end
23
-
24
- def fail_with_message(message)
25
- Spec::Expectations.fail_with message, @expected, @actual
26
- end
27
- end
28
-
29
- class PositiveOperatorMatcher < OperatorMatcher
30
-
31
- def __delegate_operator(actual, operator, expected)
32
- if actual.__send__ operator, expected
33
- true
34
- else
35
- fail_with_message "expected: #{expected.inspect}, but got: #{actual.inspect} (using #{operator})"
36
- end
37
- end
38
- end
39
-
40
- class NegativeOperatorMatcher < OperatorMatcher
41
-
42
- def __delegate_operator(actual, operator, expected)
43
- if actual.__send__ operator, expected
44
- fail_with_message "expected not: #{expected.inspect}, and got: #{actual.inspect} (using #{operator})"
45
- else
46
- true
47
- end
48
- end
49
- end
50
-
51
- end
52
- end
53
-
54
-
@@ -1,38 +0,0 @@
1
- module Spec
2
-
3
- module Matchers
4
-
5
- class RaiseError
6
-
7
- def initialize(expected_error_or_message = Exception, expected_message = nil, &block)
8
- @block = block
9
- @actual_error = nil
10
- @expected_exception = Exception
11
- end
12
-
13
- def matches?(given_proc)
14
- @raised_expected_exception = false
15
- @with_expected_message = false
16
-
17
- begin
18
- given_proc.call
19
- rescue => e
20
- @raised_expected_exception = true
21
- end
22
-
23
- @raised_expected_exception
24
- end
25
-
26
- def failure_message_for_should
27
- "expected #{@expected_exception}, but nothing was raised"
28
- end
29
- end # RaiseError
30
-
31
- def raise_error(error = Exception, message = nil, &block)
32
- Spec::Matchers::RaiseError.new error, message, &block
33
- end
34
-
35
- alias_method :raise_exception, :raise_error
36
- end
37
- end
38
-
data/lib/ospec/runner.rb DELETED
@@ -1,90 +0,0 @@
1
- require 'ospec/runner/options'
2
- require 'ospec/runner/reporter'
3
- require 'ospec/runner/example_group_runner'
4
-
5
- require 'ospec/runner/formatter/html_formatter'
6
- require 'ospec/runner/formatter/terminal_formatter'
7
-
8
- module Spec
9
- module Runner
10
-
11
- def self.run
12
- options.run_examples
13
- end
14
-
15
- def self.options
16
- @options ||= Options.new
17
- @options
18
- end
19
-
20
- # Autorun for the browser. This differs from {.autorun} because it wraps
21
- # itself in a setTimeout call to make sure the browser is ready as we
22
- # start adding to the DOM as we run. This won't use rquery because its
23
- # nice to keep everything independant, and someone might write a better
24
- # DOM library. All the dom interactions are simply inline javascript.
25
- def self.autorun_browser
26
- `setTimeout(function() {`
27
- specs = Dir["spec/**/*.{rb,js}"]
28
-
29
- if specs.length == 0
30
- puts "ospec: no input files given"
31
- else
32
- if File.exist? "spec/spec_helper.js"
33
- require File.expand_path("spec/spec_helper.js")
34
- end
35
-
36
- specs.each do |spec|
37
- require spec
38
- end
39
- # require specs[0]
40
- # idx = 49
41
- # puts idx
42
- # `console.log(specs[idx]);`
43
- # puts specs[idx]
44
- # puts specs[idx]
45
- # require specs[idx]
46
- end
47
-
48
- Spec::Runner.run
49
- puts Spec::Runner.options.formatters
50
- `}, 0);`
51
- nil
52
- end
53
-
54
- # Autorun gem/node context
55
- def self.autorun
56
- puts "in here"
57
- puts ARGV.inspect
58
- if ARGV.length == 0
59
- specs = Dir["spec/**/*.{rb,js}"]
60
-
61
- if specs.length == 0
62
- puts "ospec: no input files given"
63
- else
64
-
65
- if File.exist? "spec/spec_helper.rb"
66
- require File.expand_path "spec/spec_helper.rb"
67
- end
68
-
69
- specs.each do |spec|
70
- require spec
71
- end
72
- end
73
- # return
74
- end
75
-
76
- ARGV.each do |spec|
77
- puts "should try and load #{spec}"
78
- if File.exist? spec
79
- puts "loading: " + File.expand_path(spec)
80
- require File.expand_path(spec)
81
- else
82
- raise "Bad spec to load (does not exist): #{spec}"
83
- end
84
- end
85
-
86
- Spec::Runner.run
87
- end
88
-
89
- end # Runner
90
- end
@@ -1,41 +0,0 @@
1
- module Spec
2
- module Runner
3
- class ExampleGroupRunner
4
-
5
- def initialize(options)
6
- @options = options
7
- end
8
-
9
- def run
10
- prepare
11
- example_groups.each do |group|
12
- group.run @options
13
- end
14
- finish
15
- end
16
-
17
- def example_groups
18
- @options.example_groups
19
- end
20
-
21
- def prepare
22
- rep = reporter
23
- rep.start number_of_examples
24
- end
25
-
26
- def finish
27
-
28
- end
29
-
30
- def reporter
31
- @options.reporter
32
- end
33
-
34
- def number_of_examples
35
- 0
36
- end
37
-
38
- end # ExampleGroupRunner
39
- end
40
- end
41
-