opal 0.2.2 → 0.3.0
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.
- data/.gitignore +5 -10
- data/LICENSE +75 -0
- data/README.md +55 -3
- data/Rakefile +62 -139
- data/bin/opal +7 -10
- data/gems/core/README.md +5 -0
- data/gems/core/Rakefile +7 -0
- data/gems/core/core.gemspec +13 -0
- data/gems/core/lib/core.rb +33 -0
- data/gems/core/lib/core/array.rb +1470 -0
- data/gems/core/lib/core/basic_object.rb +15 -0
- data/gems/core/lib/core/class.rb +31 -0
- data/gems/core/lib/core/dir.rb +26 -0
- data/gems/core/lib/core/error.rb +43 -0
- data/gems/core/lib/core/false_class.rb +21 -0
- data/gems/core/lib/core/file.rb +54 -0
- data/gems/core/lib/core/hash.rb +725 -0
- data/gems/core/lib/core/kernel.rb +240 -0
- data/gems/core/lib/core/module.rb +98 -0
- data/gems/core/lib/core/nil_class.rb +41 -0
- data/gems/core/lib/core/numeric.rb +370 -0
- data/gems/core/lib/core/proc.rb +11 -0
- data/gems/core/lib/core/range.rb +17 -0
- data/gems/core/lib/core/regexp.rb +18 -0
- data/gems/core/lib/core/string.rb +328 -0
- data/gems/core/lib/core/symbol.rb +15 -0
- data/gems/core/lib/core/top_self.rb +8 -0
- data/gems/core/lib/core/true_class.rb +20 -0
- data/gems/core/lib/core/vm.rb +16 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/append_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/assoc_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/at_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/clear_spec.rb +1 -1
- data/{opals/opal/opal → gems/core}/spec/core/array/collect_bang_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/collect_spec.rb +0 -0
- data/gems/core/spec/core/array/compact_spec.rb +41 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/concat_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/constructor_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/each_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/element_reference_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/first_spec.rb +1 -1
- data/{opals/opal/opal → gems/core}/spec/core/array/include_spec.rb +0 -0
- data/gems/core/spec/core/array/join_spec.rb +6 -0
- data/gems/core/spec/core/array/last_spec.rb +51 -0
- data/gems/core/spec/core/array/length_spec.rb +6 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/map_spec.rb +2 -0
- data/gems/core/spec/core/array/reverse_spec.rb +6 -0
- data/{opals/opal/opal → gems/core}/spec/core/builtin_constants/builtin_constants_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/and_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/inspect_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/or_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/to_s_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/xor_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/file/join_spec.rb +1 -1
- data/gems/core/spec/core/hash/assoc_spec.rb +32 -0
- data/{opals/opal/opal → gems/core}/spec/core/kernel/instance_eval_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/kernel/loop_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/kernel/raise_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/module/attr_accessor_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/number/lt_spec.rb +0 -0
- data/gems/core/spec/core/string/sub_spec.rb +24 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/and_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/inspect_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/or_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/to_s_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/xor_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/and_spec.rb +2 -3
- data/{opals/opal/opal → gems/core}/spec/language/array_spec.rb +21 -5
- data/gems/core/spec/language/block_spec.rb +38 -0
- data/{opals/opal/opal → gems/core}/spec/language/break_spec.rb +0 -0
- data/gems/core/spec/language/case_spec.rb +103 -0
- data/{opals/opal/opal → gems/core}/spec/language/def_spec.rb +11 -1
- data/{opals/opal/opal → gems/core}/spec/language/eigenclass_spec.rb +0 -0
- data/gems/core/spec/language/file_spec.rb +13 -0
- data/gems/core/spec/language/fixtures/block.rb +21 -0
- data/gems/core/spec/language/fixtures/super.rb +293 -0
- data/{opals/opal/opal → gems/core}/spec/language/hash_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/if_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/loop_spec.rb +0 -0
- data/gems/core/spec/language/metaclass_spec.rb +21 -0
- data/{opals/opal/opal → gems/core}/spec/language/method_spec.rb +60 -0
- data/{opals/opal/opal → gems/core}/spec/language/next_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/or_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/redo_spec.rb +0 -0
- data/gems/core/spec/language/regexp_spec.rb +26 -0
- data/{opals/opal/opal → gems/core}/spec/language/rescue_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/return_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/string_spec.rb +0 -0
- data/gems/core/spec/language/super_spec.rb +32 -0
- data/{opals/opal/opal → gems/core}/spec/language/until_spec.rb +47 -47
- data/gems/core/spec/language/variables_spec.rb +155 -0
- data/{opals/opal/opal → gems/core}/spec/language/while_spec.rb +47 -47
- data/{opals/opal/opal → gems/core}/spec/spec_helper.rb +1 -1
- data/gems/core_fs/README.md +19 -0
- data/gems/dev/Rakefile +5 -0
- data/gems/dev/lib/dev.js +99 -0
- data/gems/dev/lib/dev/generator.js +1264 -0
- data/gems/dev/lib/dev/parser.js +979 -0
- data/gems/dev/lib/dev/ruby_parser.js +1088 -0
- data/gems/dev/lib/dev/ruby_parser.y +1267 -0
- data/gems/dev/lib/dev/string_scanner.js +38 -0
- data/gems/dev/tools/racc2js/README.md +39 -0
- data/gems/dev/tools/racc2js/math_parser.js +222 -0
- data/gems/dev/tools/racc2js/math_parser.rb +133 -0
- data/gems/dev/tools/racc2js/math_parser.y +28 -0
- data/gems/dev/tools/racc2js/parser.js +218 -0
- data/gems/dev/tools/racc2js/racc2js.rb +153 -0
- data/gems/json/README.md +4 -0
- data/gems/json/json.gemspec +14 -0
- data/gems/json/lib/json.rb +64 -0
- data/gems/json/lib/json/ext.rb +51 -0
- data/{opals/opal/browser/lib/browser/json_parse.js → gems/json/lib/json/json2.js} +197 -37
- data/gems/ospec/README.md +0 -0
- data/gems/ospec/lib/ospec.rb +6 -0
- data/gems/ospec/lib/ospec/autorun.rb +3 -0
- data/gems/ospec/lib/ospec/dsl.rb +15 -0
- data/gems/ospec/lib/ospec/example.rb +11 -0
- data/gems/ospec/lib/ospec/example/before_and_after_hooks.rb +56 -0
- data/gems/ospec/lib/ospec/example/errors.rb +17 -0
- data/gems/ospec/lib/ospec/example/example_group.rb +12 -0
- data/gems/ospec/lib/ospec/example/example_group_factory.rb +21 -0
- data/gems/ospec/lib/ospec/example/example_group_hierarchy.rb +20 -0
- data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/example/example_group_methods.rb +26 -68
- data/gems/ospec/lib/ospec/example/example_group_proxy.rb +14 -0
- data/gems/ospec/lib/ospec/example/example_methods.rb +46 -0
- data/gems/ospec/lib/ospec/example/example_proxy.rb +18 -0
- data/gems/ospec/lib/ospec/expectations.rb +19 -0
- data/gems/ospec/lib/ospec/expectations/errors.rb +8 -0
- data/gems/ospec/lib/ospec/expectations/fail_with.rb +8 -0
- data/gems/ospec/lib/ospec/expectations/handler.rb +27 -0
- data/gems/ospec/lib/ospec/matchers.rb +24 -0
- data/{opals/opal/Rakefile → gems/ospec/lib/ospec/matchers/be.rb} +0 -0
- data/gems/ospec/lib/ospec/matchers/generated_descriptions.rb +20 -0
- data/gems/ospec/lib/ospec/matchers/operator_matcher.rb +52 -0
- data/gems/ospec/lib/ospec/runner.rb +40 -0
- data/gems/ospec/lib/ospec/runner/example_group_runner.rb +44 -0
- data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/runner/formatter/html_formatter.rb +31 -40
- data/gems/ospec/lib/ospec/runner/formatter/terminal_formatter.rb +48 -0
- data/gems/ospec/lib/ospec/runner/options.rb +36 -0
- data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/runner/reporter.rb +23 -55
- data/gems/ospec/ospec.gemspec +0 -0
- data/gems/rquery/README.md +9 -0
- data/gems/rquery/lib/rquery.rb +10 -0
- data/gems/rquery/lib/rquery/ajax.rb +4 -0
- data/gems/rquery/lib/rquery/css.rb +96 -0
- data/gems/rquery/lib/rquery/document.rb +25 -0
- data/gems/rquery/lib/rquery/element.rb +292 -0
- data/gems/rquery/lib/rquery/event.rb +108 -0
- data/gems/rquery/lib/rquery/jquery.js +8177 -0
- data/gems/rquery/lib/rquery/request.rb +138 -0
- data/gems/rquery/lib/rquery/response.rb +49 -0
- data/gems/rquery/rquery.gemspec +16 -0
- data/lib/opal.js +1597 -0
- data/lib/opal.rb +6 -69
- data/lib/opal/builder.rb +115 -0
- data/lib/opal/bundle.rb +131 -0
- data/lib/opal/command.rb +11 -0
- data/lib/opal/context.rb +69 -0
- data/lib/opal/context/console.rb +12 -0
- data/lib/opal/context/file_system.rb +19 -0
- data/lib/opal/context/loader.rb +117 -0
- data/lib/opal/gem.rb +153 -0
- data/lib/opal/ruby/nodes.rb +1302 -0
- data/lib/opal/ruby/parser.rb +780 -0
- data/lib/opal/ruby/ruby_parser.rb +5170 -0
- data/lib/opal/ruby/ruby_parser.y +1298 -0
- data/opal.gemspec +11 -256
- metadata +179 -240
- data/.gitmodules +0 -6
- data/Opalfile +0 -384
- data/VERSION +0 -1
- data/demos/apps/browser_demo/index.html +0 -11
- data/demos/apps/browser_demo/lib/browser_demo.rb +0 -31
- data/demos/apps/simple_opal/Opalfile +0 -13
- data/demos/apps/simple_opal/index.html +0 -11
- data/demos/apps/simple_opal/lib/app_controller.rb +0 -62
- data/demos/apps/simple_opal/lib/main_window.rb +0 -146
- data/demos/browser/request/index.html +0 -52
- data/demos/browser/request/request.rb +0 -48
- data/gen/browser/__PROJECT_NAME__/Rakefile +0 -12
- data/gen/browser/__PROJECT_NAME__/index.html +0 -11
- data/gen/browser/__PROJECT_NAME__/javascripts/opal.debug.js +0 -4687
- data/gen/browser/__PROJECT_NAME__/javascripts/opal.min.js +0 -175
- data/gen/browser/__PROJECT_NAME__/lib/__PROJECT_NAME__.rb +0 -1
- data/lib/opal/builders/base.rb +0 -50
- data/lib/opal/builders/css.rb +0 -46
- data/lib/opal/builders/javascript.rb +0 -44
- data/lib/opal/builders/opal.rb +0 -79
- data/lib/opal/builders/ruby.rb +0 -50
- data/lib/opal/builders/ruby/generate.rb +0 -1851
- data/lib/opal/builders/ruby/nodes.rb +0 -210
- data/lib/opal/builders/ruby/ruby.rb +0 -916
- data/lib/opal/builders/ruby/ruby_parser.rb +0 -6008
- data/lib/opal/builders/ruby/ruby_parser.rb.y +0 -1451
- data/lib/opal/models/build_item.rb +0 -104
- data/lib/opal/models/hash_struct.rb +0 -40
- data/lib/opal/models/project.rb +0 -252
- data/lib/opal/models/struct_accessors.rb +0 -58
- data/lib/opal/models/target.rb +0 -176
- data/lib/opal/opal/build.rb +0 -169
- data/lib/opal/opal/env/console.rb +0 -66
- data/lib/opal/opal/env/fs.rb +0 -98
- data/lib/opal/opal/env/object.rb +0 -48
- data/lib/opal/opal/environment.rb +0 -139
- data/lib/opal/opal/gen.rb +0 -62
- data/lib/opal/opal/opal.rb +0 -75
- data/lib/opal/opal/repl.rb +0 -38
- data/lib/opal/opalfile/dsl.rb +0 -62
- data/lib/opal/opalfile/opalfile.rb +0 -133
- data/lib/opal/opalfile/task.rb +0 -96
- data/lib/opal/opalfile/task_manager.rb +0 -63
- data/lib/opal/opalfile/task_scope.rb +0 -52
- data/lib/opal/rack/app_server.rb +0 -119
- data/lib/opal/rake/opal_task.rb +0 -34
- data/opals/opal/README.md +0 -37
- data/opals/opal/browser/Opalfile +0 -11
- data/opals/opal/browser/README.md +0 -146
- data/opals/opal/browser/SIZZLE_LICESNSE.txt +0 -148
- data/opals/opal/browser/lib/browser.rb +0 -118
- data/opals/opal/browser/lib/browser/builder.rb +0 -41
- data/opals/opal/browser/lib/browser/canvas_context.rb +0 -115
- data/opals/opal/browser/lib/browser/dimensions.rb +0 -50
- data/opals/opal/browser/lib/browser/document.rb +0 -146
- data/opals/opal/browser/lib/browser/element.rb +0 -487
- data/opals/opal/browser/lib/browser/element/attributes.rb +0 -88
- data/opals/opal/browser/lib/browser/element/css.rb +0 -290
- data/opals/opal/browser/lib/browser/element/form.rb +0 -146
- data/opals/opal/browser/lib/browser/event/dom_events.rb +0 -81
- data/opals/opal/browser/lib/browser/event/event.rb +0 -177
- data/opals/opal/browser/lib/browser/event/trigger_events.rb +0 -53
- data/opals/opal/browser/lib/browser/geometry.rb +0 -97
- data/opals/opal/browser/lib/browser/json.rb +0 -32
- data/opals/opal/browser/lib/browser/request/request.rb +0 -201
- data/opals/opal/browser/lib/browser/sizzle.js +0 -1068
- data/opals/opal/browser/lib/browser/string.rb +0 -42
- data/opals/opal/browser/lib/browser/touch.rb +0 -37
- data/opals/opal/browser/lib/browser/vml_context.js +0 -33
- data/opals/opal/browser/lib/browser/window.rb +0 -36
- data/opals/opal/browser/spec/browser/browser_detection_spec.rb +0 -7
- data/opals/opal/browser/spec/document/aref_spec.rb +0 -110
- data/opals/opal/browser/spec/document/ready_spec.rb +0 -16
- data/opals/opal/browser/spec/element/body_spec.rb +0 -11
- data/opals/opal/browser/spec/element/clear_spec.rb +0 -26
- data/opals/opal/browser/spec/element/empty_spec.rb +0 -29
- data/opals/opal/browser/spec/element/has_class_spec.rb +0 -40
- data/opals/opal/browser/spec/element/hidden_spec.rb +0 -23
- data/opals/opal/browser/spec/element/hide_spec.rb +0 -31
- data/opals/opal/browser/spec/element/remove_spec.rb +0 -25
- data/opals/opal/browser/spec/element/show_spec.rb +0 -31
- data/opals/opal/browser/spec/element/style_spec.rb +0 -69
- data/opals/opal/browser/spec/element/toggle_spec.rb +0 -31
- data/opals/opal/browser/spec/element/visible_spec.rb +0 -23
- data/opals/opal/browser/spec/spec_helper.rb +0 -1
- data/opals/opal/opal/Opalfile +0 -14
- data/opals/opal/opal/spec/core/array/compact_spec.rb +0 -15
- data/opals/opal/opal/spec/fixtures/super.rb +0 -70
- data/opals/opal/opal/spec/language/____temp_remove_this.rb +0 -12
- data/opals/opal/opal/spec/language/block_spec.rb +0 -18
- data/opals/opal/opal/spec/language/case_spec.rb +0 -103
- data/opals/opal/opal/spec/language/metaclass_spec.rb +0 -21
- data/opals/opal/opal/spec/language/super_spec.rb +0 -26
- data/opals/opal/runtime/Opalfile +0 -78
- data/opals/opal/runtime/README.md +0 -12
- data/opals/opal/runtime/docs/debugging.md +0 -51
- data/opals/opal/runtime/lib/array.rb +0 -1516
- data/opals/opal/runtime/lib/basic_object.rb +0 -49
- data/opals/opal/runtime/lib/class.rb +0 -54
- data/opals/opal/runtime/lib/dir.rb +0 -36
- data/opals/opal/runtime/lib/error.rb +0 -49
- data/opals/opal/runtime/lib/false_class.rb +0 -52
- data/opals/opal/runtime/lib/file.rb +0 -79
- data/opals/opal/runtime/lib/hash.rb +0 -791
- data/opals/opal/runtime/lib/io.rb +0 -39
- data/opals/opal/runtime/lib/kernel.rb +0 -288
- data/opals/opal/runtime/lib/match_data.rb +0 -36
- data/opals/opal/runtime/lib/module.rb +0 -109
- data/opals/opal/runtime/lib/nil_class.rb +0 -69
- data/opals/opal/runtime/lib/number.rb +0 -398
- data/opals/opal/runtime/lib/proc.rb +0 -77
- data/opals/opal/runtime/lib/range.rb +0 -63
- data/opals/opal/runtime/lib/regexp.rb +0 -111
- data/opals/opal/runtime/lib/ruby.rb +0 -30
- data/opals/opal/runtime/lib/string.rb +0 -328
- data/opals/opal/runtime/lib/symbol.rb +0 -40
- data/opals/opal/runtime/lib/top_self.rb +0 -33
- data/opals/opal/runtime/lib/true_class.rb +0 -45
- data/opals/opal/runtime/runtime/browser.js +0 -287
- data/opals/opal/runtime/runtime/debug.js +0 -180
- data/opals/opal/runtime/runtime/opal.js +0 -1008
- data/opals/opal/runtime/runtime/post_opal.js +0 -1
- data/opals/opal/runtime/runtime/pre_opal.js +0 -2
- data/opals/opal/runtime/runtime/server_side.js +0 -50
- data/opals/opal/spec/LICENSE.txt +0 -26
- data/opals/opal/spec/Opalfile +0 -5
- data/opals/opal/spec/bin/spec.rb +0 -43
- data/opals/opal/spec/lib/spec.rb +0 -33
- data/opals/opal/spec/lib/spec/dsl.rb +0 -41
- data/opals/opal/spec/lib/spec/example.rb +0 -35
- data/opals/opal/spec/lib/spec/example/before_and_after_hooks.rb +0 -81
- data/opals/opal/spec/lib/spec/example/errors.rb +0 -42
- data/opals/opal/spec/lib/spec/example/example_group.rb +0 -37
- data/opals/opal/spec/lib/spec/example/example_group_factory.rb +0 -43
- data/opals/opal/spec/lib/spec/example/example_group_hierarchy.rb +0 -45
- data/opals/opal/spec/lib/spec/example/example_group_proxy.rb +0 -41
- data/opals/opal/spec/lib/spec/example/example_methods.rb +0 -73
- data/opals/opal/spec/lib/spec/example/example_proxy.rb +0 -48
- data/opals/opal/spec/lib/spec/expectations.rb +0 -46
- data/opals/opal/spec/lib/spec/expectations/errors.rb +0 -35
- data/opals/opal/spec/lib/spec/expectations/fail_with.rb +0 -37
- data/opals/opal/spec/lib/spec/expectations/handler.rb +0 -48
- data/opals/opal/spec/lib/spec/matchers.rb +0 -50
- data/opals/opal/spec/lib/spec/matchers/be.rb +0 -26
- data/opals/opal/spec/lib/spec/matchers/generated_descriptions.rb +0 -47
- data/opals/opal/spec/lib/spec/matchers/operator_matcher.rb +0 -66
- data/opals/opal/spec/lib/spec/runner.rb +0 -48
- data/opals/opal/spec/lib/spec/runner/example_group_runner.rb +0 -71
- data/opals/opal/spec/lib/spec/runner/formatter/terminal_formatter.rb +0 -82
- data/opals/opal/spec/lib/spec/runner/options.rb +0 -63
- data/opals/opal/spec/resources/index.html +0 -25
- data/opals/opal/spec/resources/spec.css +0 -132
- data/spec/cherry_kit/iseq_spec.rb +0 -38
- data/spec/spec_helper.rb +0 -16
- data/spec/vienna_spec.rb +0 -7
- data/yard/index.html +0 -43
- data/yard/style.css +0 -765
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
def self.autorun
|
|
21
|
+
if ARGV.length == 0
|
|
22
|
+
puts "Spec: no input files given"
|
|
23
|
+
return
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
ARGV.each do |spec|
|
|
27
|
+
# puts "should try and load #{spec}"
|
|
28
|
+
if File.exists? spec
|
|
29
|
+
# puts "loading: " + File.expand_path(spec)
|
|
30
|
+
require File.expand_path(spec)
|
|
31
|
+
else
|
|
32
|
+
raise "Bad spec to load (does not exist): #{spec}"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
Spec::Runner.run
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end # Runner
|
|
40
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
# puts "RUNNING"
|
|
12
|
+
#`console.log(#{example_groups})`
|
|
13
|
+
example_groups.each do |group|
|
|
14
|
+
# puts "running group!"
|
|
15
|
+
#puts group
|
|
16
|
+
group.run @options
|
|
17
|
+
end
|
|
18
|
+
finish
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def example_groups
|
|
22
|
+
@options.example_groups
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def prepare
|
|
26
|
+
rep = reporter
|
|
27
|
+
rep.start number_of_examples
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def finish
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def reporter
|
|
35
|
+
@options.reporter
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def number_of_examples
|
|
39
|
+
0
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end # ExampleGroupRunner
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -1,50 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
# html_formatter.rb
|
|
3
|
-
# vienna
|
|
4
|
-
#
|
|
5
|
-
# Created by Adam Beynon.
|
|
6
|
-
# Copyright 2010 Adam Beynon.
|
|
7
|
-
#
|
|
8
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
-
# of this software and associated documentation files (the "Software"), to deal
|
|
10
|
-
# in the Software without restriction, including without limitation the rights
|
|
11
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
-
# copies of the Software, and to permit persons to whom the Software is
|
|
13
|
-
# furnished to do so, subject to the following conditions:
|
|
14
|
-
#
|
|
15
|
-
# The above copyright notice and this permission notice shall be included in
|
|
16
|
-
# all copies or substantial portions of the Software.
|
|
17
|
-
#
|
|
18
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
20
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
21
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
22
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
23
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
24
|
-
# THE SOFTWARE.
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
module Spec
|
|
28
|
-
|
|
1
|
+
module Spec
|
|
29
2
|
module Runner
|
|
30
|
-
|
|
31
3
|
module Formatter
|
|
32
|
-
|
|
33
4
|
class HtmlFormatter
|
|
34
5
|
|
|
35
|
-
attr_reader :example_group
|
|
36
|
-
|
|
37
|
-
attr_reader :example_group_number
|
|
6
|
+
attr_reader :example_group, :example_group_number
|
|
38
7
|
|
|
39
8
|
def initialize(options)
|
|
40
9
|
@options = options
|
|
41
10
|
@example_group_number = 0
|
|
42
11
|
@example_number = 0
|
|
43
12
|
@header_red = nil
|
|
13
|
+
|
|
14
|
+
setup_page_dom
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
##
|
|
18
|
+
# Get the DOM ready for output
|
|
19
|
+
#
|
|
20
|
+
def setup_page_dom
|
|
21
|
+
content = [
|
|
22
|
+
'<div class="rspec-report">',
|
|
23
|
+
'<div id="rspec-header">',
|
|
24
|
+
'<div id="label">',
|
|
25
|
+
'<h1>Rspec Code Examples</h1>',
|
|
26
|
+
'<div>',
|
|
27
|
+
|
|
28
|
+
'<div id="summary">',
|
|
29
|
+
'<p id="totals">0</p>',
|
|
30
|
+
'<p id="duration">0</p>',
|
|
31
|
+
'</div>',
|
|
32
|
+
'</div>',
|
|
33
|
+
'<div id="results">',
|
|
34
|
+
'</div>',
|
|
35
|
+
'</div>'
|
|
36
|
+
].join ''
|
|
37
|
+
|
|
38
|
+
puts "content is: "
|
|
39
|
+
puts content
|
|
44
40
|
end
|
|
45
41
|
|
|
46
42
|
def start(number_of_examples)
|
|
47
|
-
|
|
43
|
+
|
|
48
44
|
end
|
|
49
45
|
|
|
50
46
|
def end
|
|
@@ -66,13 +62,11 @@ module Spec
|
|
|
66
62
|
end
|
|
67
63
|
|
|
68
64
|
def example_started(example)
|
|
69
|
-
|
|
65
|
+
|
|
70
66
|
end
|
|
71
67
|
|
|
72
68
|
def example_failed(example, counter, failure)
|
|
73
69
|
@header_red = true
|
|
74
|
-
# make_red Element['rspec-header']
|
|
75
|
-
# make_red @example_group dt
|
|
76
70
|
@example_group_red = true
|
|
77
71
|
|
|
78
72
|
dd = @example_group_dl.dd :class_name => "spec failed"
|
|
@@ -81,7 +75,6 @@ module Spec
|
|
|
81
75
|
:class_name => "failed_spec_name"
|
|
82
76
|
|
|
83
77
|
failure_div = dd.div :class_name => "failure"
|
|
84
|
-
# `console.log(#{failure.exception});`
|
|
85
78
|
failure_div.div(:class_name => "message").pre(:content => failure.exception.message)
|
|
86
79
|
end
|
|
87
80
|
|
|
@@ -90,8 +83,6 @@ module Spec
|
|
|
90
83
|
end
|
|
91
84
|
|
|
92
85
|
def example_pending(example, message)
|
|
93
|
-
# make_yellow Element['rspec-header'] unless @header_red
|
|
94
|
-
# make_yellow(@example_group_dt) unless @example_group_red
|
|
95
86
|
@example_group_dl.dd(:class_name => "spec not_implemented").span(:content => "#{example.description} (PENDING: #{message})", :class_name => "not_implemented_spec_name")
|
|
96
87
|
end
|
|
97
88
|
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Spec
|
|
2
|
+
module Runner
|
|
3
|
+
module Formatter
|
|
4
|
+
class TerminalFormatter
|
|
5
|
+
|
|
6
|
+
attr_reader :example_group, :example_group_number
|
|
7
|
+
|
|
8
|
+
def initialize(options)
|
|
9
|
+
@options = options
|
|
10
|
+
@example_group_number = 0
|
|
11
|
+
@example_number = 0
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def start(number_of_examples)
|
|
15
|
+
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def end
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def example_group_started(example_group)
|
|
23
|
+
@example_group = example_group
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def example_started(example)
|
|
27
|
+
@example_number += 1
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def example_failed(example, counter, failure)
|
|
31
|
+
puts "\033[0;31m#{@example_group.description}: #{example.description}\033[m"
|
|
32
|
+
puts ""
|
|
33
|
+
puts " #{failure.exception.message}"
|
|
34
|
+
puts ""
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def example_passed(example)
|
|
38
|
+
puts "\033[0;32m#{@example_group.description}: #{example.description}\033[m"
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def example_pending(example, message)
|
|
42
|
+
puts "\033[0;33m#{@example_group.description}: #{example.description}\033[m"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Spec
|
|
2
|
+
module Runner
|
|
3
|
+
class Options
|
|
4
|
+
|
|
5
|
+
attr_accessor :reporter, :example_groups
|
|
6
|
+
attr_writer :reporter
|
|
7
|
+
|
|
8
|
+
def initialize
|
|
9
|
+
@example_groups = []
|
|
10
|
+
@reporter = Reporter.new self
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def run_examples
|
|
14
|
+
runner = ExampleGroupRunner.new self
|
|
15
|
+
runner.run
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def formatters
|
|
19
|
+
# puts "formatters: #{@formatters.inspect}"
|
|
20
|
+
return @formatters if @formatters
|
|
21
|
+
# puts "still down here.."
|
|
22
|
+
if RUBY_PLATFORM == "browser"
|
|
23
|
+
@formatters ||= [Spec::Runner::Formatter::HtmlFormatter.new(self)]
|
|
24
|
+
else
|
|
25
|
+
@formatters ||= [Spec::Runner::Formatter::TerminalFormatter.new(self)]
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def add_example_group(example_group)
|
|
30
|
+
@example_groups << example_group
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end # Options
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
@@ -1,37 +1,9 @@
|
|
|
1
|
-
#
|
|
2
|
-
# reporter.rb
|
|
3
|
-
# vienna
|
|
4
|
-
#
|
|
5
|
-
# Created by Adam Beynon.
|
|
6
|
-
# Copyright 2010 Adam Beynon.
|
|
7
|
-
#
|
|
8
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
-
# of this software and associated documentation files (the "Software"), to deal
|
|
10
|
-
# in the Software without restriction, including without limitation the rights
|
|
11
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
-
# copies of the Software, and to permit persons to whom the Software is
|
|
13
|
-
# furnished to do so, subject to the following conditions:
|
|
14
|
-
#
|
|
15
|
-
# The above copyright notice and this permission notice shall be included in
|
|
16
|
-
# all copies or substantial portions of the Software.
|
|
17
|
-
#
|
|
18
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
20
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
21
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
22
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
23
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
24
|
-
# THE SOFTWARE.
|
|
25
|
-
#
|
|
26
|
-
|
|
27
1
|
module Spec
|
|
28
|
-
|
|
29
2
|
module Runner
|
|
30
|
-
|
|
31
3
|
class Reporter
|
|
32
|
-
|
|
4
|
+
|
|
33
5
|
attr_reader :options
|
|
34
|
-
|
|
6
|
+
|
|
35
7
|
def initialize(options)
|
|
36
8
|
@options = options
|
|
37
9
|
@options.reporter = self
|
|
@@ -39,69 +11,64 @@ module Spec
|
|
|
39
11
|
@pending_count = 0
|
|
40
12
|
@example_count = 0
|
|
41
13
|
end
|
|
42
|
-
|
|
14
|
+
|
|
43
15
|
def start(number_of_examples)
|
|
44
|
-
# puts "starting"
|
|
45
|
-
# @start_time = Time.now
|
|
46
16
|
@start_time = 0
|
|
17
|
+
puts "formatters isss:"
|
|
18
|
+
# `console.log(#{formatters})`
|
|
47
19
|
formatters.each do |f|
|
|
20
|
+
# puts "in hereeee"
|
|
48
21
|
f.start number_of_examples
|
|
49
22
|
end
|
|
50
23
|
end
|
|
51
|
-
|
|
52
|
-
# def end
|
|
53
|
-
# formatters.each do |f|
|
|
54
|
-
# f.end
|
|
55
|
-
# end
|
|
56
|
-
# end
|
|
57
|
-
|
|
24
|
+
|
|
58
25
|
def formatters
|
|
59
26
|
@options.formatters
|
|
60
27
|
end
|
|
61
|
-
|
|
28
|
+
|
|
62
29
|
def example_group_started(example_group)
|
|
63
30
|
@example_group = example_group
|
|
64
31
|
formatters.each do |f|
|
|
65
32
|
f.example_group_started example_group
|
|
66
33
|
end
|
|
67
34
|
end
|
|
68
|
-
|
|
35
|
+
|
|
69
36
|
def example_started(example)
|
|
70
37
|
formatters.each do |f|
|
|
71
38
|
f.example_started example
|
|
72
39
|
end
|
|
73
40
|
end
|
|
74
|
-
|
|
41
|
+
|
|
75
42
|
def example_finished(example, error)
|
|
76
|
-
|
|
77
|
-
|
|
43
|
+
puts "== example finished"
|
|
78
44
|
if error.nil?
|
|
45
|
+
puts "no error"
|
|
79
46
|
example_passed example
|
|
80
47
|
elsif Spec::Example::ExamplePendingError === error
|
|
81
|
-
|
|
82
|
-
# `console.log(#{error});`
|
|
48
|
+
puts "pengin error"
|
|
83
49
|
example_pending example, error.message
|
|
84
50
|
else
|
|
51
|
+
puts "failed"
|
|
52
|
+
`console.log(error)`
|
|
53
|
+
`console.log(error.message)`
|
|
85
54
|
example_failed example, error
|
|
86
|
-
# puts error
|
|
87
55
|
end
|
|
88
56
|
end
|
|
89
|
-
|
|
57
|
+
|
|
90
58
|
def example_failed(example, error)
|
|
91
59
|
failure = Failure.new @example_group.description, example.description, error
|
|
92
60
|
@failures << failure
|
|
93
|
-
|
|
94
61
|
formatters.each do |f|
|
|
95
62
|
f.example_failed example, @failures.length, failure
|
|
96
63
|
end
|
|
97
64
|
end
|
|
98
|
-
|
|
65
|
+
|
|
99
66
|
def example_passed(example)
|
|
100
67
|
formatters.each do |f|
|
|
101
68
|
f.example_passed example
|
|
102
69
|
end
|
|
103
70
|
end
|
|
104
|
-
|
|
71
|
+
|
|
105
72
|
def example_pending(example, message)
|
|
106
73
|
# @pending_count += 1
|
|
107
74
|
formatters.each do |f|
|
|
@@ -109,11 +76,11 @@ module Spec
|
|
|
109
76
|
end
|
|
110
77
|
end
|
|
111
78
|
end # Reporter
|
|
112
|
-
|
|
79
|
+
|
|
113
80
|
class Failure
|
|
114
|
-
|
|
81
|
+
|
|
115
82
|
attr_reader :exception
|
|
116
|
-
|
|
83
|
+
|
|
117
84
|
def initialize(group_description, example_description, exception)
|
|
118
85
|
@example_name = "#{group_description} #{example_description}"
|
|
119
86
|
@exception = exception
|
|
@@ -121,3 +88,4 @@ module Spec
|
|
|
121
88
|
end
|
|
122
89
|
end
|
|
123
90
|
end
|
|
91
|
+
|
|
File without changes
|