mack 0.8.2 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +17 -1
- data/bin/env_handler.rb +1 -1
- data/bin/mack +2 -2
- data/bin/mackery-server +1 -1
- data/lib/gems.rb +6 -1
- data/lib/gems/builder-2.1.2/lib/blankslate.rb +2 -2
- data/lib/gems/builder-2.1.2/lib/builder/xchar.rb +3 -3
- data/lib/gems/builder-2.1.2/lib/builder/xmlbase.rb +9 -9
- data/lib/gems/builder-2.1.2/lib/builder/xmlmarkup.rb +15 -15
- data/lib/gems/configatron-2.2.2/lib/configatron.rb +9 -0
- data/lib/gems/{configatron-2.1.5 → configatron-2.2.2}/lib/configatron/configatron.rb +8 -6
- data/lib/gems/configatron-2.2.2/lib/configatron/core_ext/class.rb +26 -0
- data/lib/gems/{configatron-2.1.5/lib/configatron → configatron-2.2.2/lib/configatron/core_ext}/kernel.rb +0 -0
- data/lib/gems/configatron-2.2.2/lib/configatron/core_ext/object.rb +9 -0
- data/lib/gems/configatron-2.2.2/lib/configatron/core_ext/string.rb +84 -0
- data/lib/gems/configatron-2.2.2/lib/configatron/errors.rb +13 -0
- data/lib/gems/{configatron-2.1.5 → configatron-2.2.2}/lib/configatron/store.rb +37 -6
- data/lib/gems/cucumber-0.1.15/lib/autotest/cucumber.rb +6 -0
- data/lib/gems/cucumber-0.1.15/lib/autotest/cucumber_mixin.rb +130 -0
- data/lib/gems/cucumber-0.1.15/lib/autotest/cucumber_rails.rb +6 -0
- data/lib/gems/cucumber-0.1.15/lib/autotest/cucumber_rails_rspec.rb +6 -0
- data/lib/gems/cucumber-0.1.15/lib/autotest/cucumber_rspec.rb +6 -0
- data/lib/gems/cucumber-0.1.15/lib/autotest/discover.rb +9 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber.rb +19 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/broadcaster.rb +20 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/cli.rb +360 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/core_ext/exception.rb +20 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/core_ext/proc.rb +69 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/core_ext/string.rb +29 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/executor.rb +205 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters.rb +1 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/ansicolor.rb +105 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/autotest_formatter.rb +23 -0
- data/lib/gems/{rspec-1.1.11/story_server/prototype/stylesheets/rspec.css → cucumber-0.1.15/lib/cucumber/formatters/cucumber.css} +33 -37
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/cucumber.js +11 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/html_formatter.rb +151 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/jquery.js +32 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/pretty_formatter.rb +285 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/profile_formatter.rb +92 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/progress_formatter.rb +61 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/formatters/unicode.rb +35 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/languages.yml +271 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/model.rb +1 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/model/table.rb +28 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/platform.rb +32 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/rails/rspec.rb +12 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/rails/world.rb +73 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/rake/task.rb +101 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/step_methods.rb +49 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/step_mother.rb +98 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/tree.rb +16 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/tree/feature.rb +89 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/tree/features.rb +21 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/tree/given_scenario.rb +13 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/tree/scenario.rb +236 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/tree/step.rb +173 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/tree/table.rb +26 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/tree/top_down_visitor.rb +23 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature.treetop.erb +254 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_ar.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_cy.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_da.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_de.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_en-lol.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_en-tx.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_en.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_es.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_et.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_fr.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_id.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_it.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_ja.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_ko.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_lt.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_nl.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_no.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_parser.rb +36 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_pl.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_pt.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_ro.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_ro2.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_ru.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_se.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/treetop_parser/feature_zh-CN.rb +1951 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/version.rb +10 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/world.rb +1 -0
- data/lib/gems/cucumber-0.1.15/lib/cucumber/world/pending.rb +22 -0
- data/lib/gems/diff-lcs-1.1.2/lib/diff/lcs.rb +1105 -0
- data/lib/gems/diff-lcs-1.1.2/lib/diff/lcs/array.rb +21 -0
- data/lib/gems/diff-lcs-1.1.2/lib/diff/lcs/block.rb +51 -0
- data/lib/gems/diff-lcs-1.1.2/lib/diff/lcs/callbacks.rb +322 -0
- data/lib/gems/diff-lcs-1.1.2/lib/diff/lcs/change.rb +169 -0
- data/lib/gems/diff-lcs-1.1.2/lib/diff/lcs/hunk.rb +257 -0
- data/lib/gems/diff-lcs-1.1.2/lib/diff/lcs/ldiff.rb +226 -0
- data/lib/gems/diff-lcs-1.1.2/lib/diff/lcs/string.rb +19 -0
- data/lib/gems/polyglot-0.2.3/lib/polyglot.rb +62 -0
- data/lib/gems/polyglot-0.2.3/lib/polyglot/version.rb +9 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack.rb +7 -2
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/adapter/camping.rb +1 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/auth/abstract/handler.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/auth/abstract/request.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/auth/basic.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/auth/digest/md5.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/auth/digest/nonce.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/auth/digest/params.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/auth/digest/request.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/auth/openid.rb +4 -3
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/builder.rb +12 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/cascade.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/commonlogger.rb +0 -0
- data/lib/gems/rack-0.9.1/lib/rack/conditionalget.rb +43 -0
- data/lib/gems/rack-0.9.1/lib/rack/content_length.rb +25 -0
- data/lib/gems/rack-0.9.1/lib/rack/deflater.rb +87 -0
- data/lib/gems/rack-0.9.1/lib/rack/directory.rb +150 -0
- data/lib/gems/rack-0.9.1/lib/rack/file.rb +85 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/handler.rb +4 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/handler/cgi.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/handler/evented_mongrel.rb +1 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/handler/fastcgi.rb +2 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/handler/lsws.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/handler/mongrel.rb +6 -2
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/handler/scgi.rb +0 -0
- data/lib/gems/rack-0.9.1/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
- data/lib/gems/rack-0.9.1/lib/rack/handler/thin.rb +15 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/handler/webrick.rb +8 -4
- data/lib/gems/rack-0.9.1/lib/rack/head.rb +19 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/lint.rb +74 -10
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/lobster.rb +13 -13
- data/lib/gems/rack-0.9.1/lib/rack/methodoverride.rb +27 -0
- data/lib/gems/rack-0.9.1/lib/rack/mime.rb +204 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/mock.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/recursive.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/reloader.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/request.rb +10 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/response.rb +7 -2
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/session/abstract/id.rb +14 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/session/cookie.rb +19 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/session/memcache.rb +1 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/session/pool.rb +1 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/showexceptions.rb +5 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/showstatus.rb +3 -2
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/static.rb +0 -0
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/urlmap.rb +1 -1
- data/lib/gems/{rack-0.4.0 → rack-0.9.1}/lib/rack/utils.rb +42 -13
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/bin/autospec +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/bin/spec +0 -0
- data/lib/gems/{rspec-1.1.11/plugins → rspec-1.1.12/lib/adapters}/mock_frameworks/flexmock.rb +1 -1
- data/lib/gems/{rspec-1.1.11/plugins → rspec-1.1.12/lib/adapters}/mock_frameworks/mocha.rb +1 -1
- data/lib/gems/{rspec-1.1.11/plugins → rspec-1.1.12/lib/adapters}/mock_frameworks/rr.rb +1 -1
- data/lib/gems/{rspec-1.1.11/plugins → rspec-1.1.12/lib/adapters}/mock_frameworks/rspec.rb +2 -2
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/autotest/discover.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/autotest/rspec.rb +4 -3
- data/lib/gems/rspec-1.1.12/lib/spec.rb +7 -0
- data/lib/gems/rspec-1.1.12/lib/spec/dsl.rb +1 -0
- data/lib/gems/{rspec-1.1.11/lib/spec/extensions → rspec-1.1.12/lib/spec/dsl}/main.rb +10 -10
- data/lib/gems/rspec-1.1.12/lib/spec/example.rb +186 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/example/before_and_after_hooks.rb +30 -24
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/example/errors.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/example/example_group.rb +1 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/example/example_group_factory.rb +26 -9
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/example/example_group_methods.rb +138 -113
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/example/example_matcher.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/example/example_methods.rb +168 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/example/module_reopening_fix.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/example/pending.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/example/shared_example_group.rb +59 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/expectations.rb +22 -18
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/expectations/differs/default.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/expectations/errors.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/expectations/extensions.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/expectations/extensions/object.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/expectations/extensions/string_and_symbol.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/expectations/handler.rb +32 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/interop/test.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/interop/test/unit/autorunner.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/interop/test/unit/testcase.rb +19 -17
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/interop/test/unit/testresult.rb +1 -1
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/interop/test/unit/testsuite_adapter.rb +1 -1
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/matchers.rb +7 -28
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/be.rb +208 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/be_close.rb +21 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/matchers/change.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/eql.rb +25 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/equal.rb +25 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/errors.rb +5 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/exist.rb +16 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/generated_descriptions.rb +48 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/has.rb +18 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/matchers/have.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/matchers/include.rb +12 -9
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/match.rb +22 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/match_array.rb +79 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/method_missing.rb +9 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/operator_matcher.rb +70 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/matchers/raise_error.rb +4 -8
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/respond_to.rb +71 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/matchers/satisfy.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/matchers/simple_matcher.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/throw_symbol.rb +106 -0
- data/lib/gems/rspec-1.1.12/lib/spec/matchers/wrap_expectation.rb +55 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/argument_constraints.rb +77 -5
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/argument_expectation.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/error_generator.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/errors.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/extensions.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/extensions/object.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/framework.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/message_expectation.rb +7 -7
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/methods.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/mock.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/order_group.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/proxy.rb +14 -12
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/space.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/mocks/spec_methods.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/rake/spectask.rb +4 -6
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/rake/verify_rcov.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/ruby.rb +9 -0
- data/lib/gems/rspec-1.1.12/lib/spec/runner.rb +88 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/backtrace_tweaker.rb +5 -3
- data/lib/gems/rspec-1.1.12/lib/spec/runner/class_and_arguments_parser.rb +14 -0
- data/lib/gems/rspec-1.1.12/lib/spec/runner/command_line.rb +15 -0
- data/lib/gems/{rspec-1.1.11/lib/spec/example → rspec-1.1.12/lib/spec/runner}/configuration.rb +46 -47
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/drb_command_line.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/example_group_runner.rb +15 -4
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/base_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/base_text_formatter.rb +4 -3
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/html_formatter.rb +14 -11
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/nested_text_formatter.rb +2 -2
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/profile_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/snippet_extractor.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/specdoc_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/story/html_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/story/plain_text_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/story/progress_bar_formatter.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/formatter/text_mate_formatter.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/runner/heckle_runner.rb +74 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/heckle_runner_unsupported.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/option_parser.rb +8 -4
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/options.rb +29 -14
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/reporter.rb +1 -1
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/runner/spec_parser.rb +11 -9
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/extensions.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/extensions/main.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/extensions/regexp.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/extensions/string.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/given_scenario.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/story/runner.rb +57 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/runner/plain_text_story_runner.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/runner/scenario_collector.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/runner/scenario_runner.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/runner/story_mediator.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/runner/story_parser.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/runner/story_runner.rb +10 -6
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/scenario.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/step.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/step_group.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/step_mother.rb +0 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/story/story.rb +0 -0
- data/lib/gems/rspec-1.1.12/lib/spec/story/world.rb +124 -0
- data/lib/gems/{rspec-1.1.11 → rspec-1.1.12}/lib/spec/version.rb +4 -2
- data/lib/gems/rubyforge-1.0.1/lib/rubyforge.rb +475 -0
- data/lib/gems/rubyforge-1.0.1/lib/rubyforge/client.rb +134 -0
- data/lib/gems/rubyforge-1.0.1/lib/rubyforge/cookie_manager.rb +51 -0
- data/lib/gems/term-ansicolor-1.0.3/VERSION +1 -0
- data/lib/gems/term-ansicolor-1.0.3/lib/term/ansicolor.rb +220 -0
- data/lib/gems/{rspec-1.1.11/spec/spec/runner/empty_file.txt → treetop-1.2.4/lib/metagrammar.rb} +0 -0
- data/lib/gems/treetop-1.2.4/lib/treetop.rb +11 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/bootstrap_gen_1_metagrammar.rb +45 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler.rb +6 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/grammar_compiler.rb +40 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/lexical_address_space.rb +17 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/metagrammar.rb +2887 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/metagrammar.treetop +404 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes.rb +19 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/anything_symbol.rb +18 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/character_class.rb +19 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/choice.rb +31 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/grammar.rb +28 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/optional.rb +19 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/parenthesized_expression.rb +9 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/parsing_expression.rb +138 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/parsing_rule.rb +55 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/predicate.rb +45 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/repetition.rb +55 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/sequence.rb +68 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/terminal.rb +20 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/compiler/ruby_builder.rb +113 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/ruby_extensions.rb +2 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/ruby_extensions/string.rb +42 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime.rb +5 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime/compiled_parser.rb +87 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime/interval_skip_list.rb +4 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime/syntax_node.rb +72 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime/terminal_parse_failure.rb +16 -0
- data/lib/gems/treetop-1.2.4/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
- data/lib/mack/application.rb +5 -5
- data/lib/mack/boot/configuration.rb +3 -1
- data/lib/mack/boot/console.rb +2 -2
- data/lib/mack/boot/core.rb +3 -3
- data/lib/mack/boot/environment.rb +1 -1
- data/lib/mack/boot/logging.rb +1 -1
- data/lib/mack/boot/logging/filter.rb +1 -1
- data/lib/mack/boot/paths.rb +34 -30
- data/lib/mack/boot/plugins.rb +2 -2
- data/lib/mack/controller/controller.rb +2 -2
- data/lib/mack/controller/request.rb +32 -32
- data/lib/mack/core_extensions/kernel.rb +1 -1
- data/lib/mack/generators/controller_generator/controller_generator.rb +14 -4
- data/lib/mack/generators/controller_generator/manifest.yml +7 -7
- data/lib/mack/generators/controller_generator/templates/test/controllers/rspec.rb.template +1 -1
- data/lib/mack/generators/controller_generator/templates/test/controllers/test_case.rb.template +1 -1
- data/lib/mack/generators/controller_helper_generator/manifest.yml +6 -6
- data/lib/mack/generators/mack_application_generator/mack_application_generator.rb +2 -2
- data/lib/mack/generators/mack_application_generator/manifest.yml +57 -54
- data/lib/mack/generators/mack_application_generator/templates/config/configatron/default.rb.template +1 -1
- data/lib/mack/generators/mack_application_generator/templates/config/database.yml.template +15 -15
- data/lib/mack/generators/mack_application_generator/templates/config/initializers/gems.rb.template +4 -1
- data/lib/mack/generators/mack_application_generator/templates/test/controllers/default_controller_spec.rb.template +1 -1
- data/lib/mack/generators/mack_application_generator/templates/test/controllers/default_controller_test.rb.template +1 -1
- data/lib/mack/generators/mack_application_generator/templates/test/spec_helper.rb.template +3 -3
- data/lib/mack/generators/mack_application_generator/templates/test/test_helper.rb.template +3 -3
- data/lib/mack/generators/passenger_generator/templates/config.ru.template +1 -1
- data/lib/mack/generators/view_helper_generator/manifest.yml +6 -6
- data/lib/mack/rendering/engine/builder.rb +1 -1
- data/lib/mack/routing/route_map.rb +1 -15
- data/lib/mack/routing/urls.rb +16 -2
- data/lib/mack/runner_helpers/request_logger.rb +1 -1
- data/lib/mack/tasks/mack_update_tasks.rake +5 -5
- data/lib/mack/tasks/rake_rules.rake +1 -1
- data/lib/mack/tasks/test_tasks.rake +2 -2
- data/lib/mack/testing/helpers.rb +24 -24
- data/lib/mack/testing/rspec.rb +5 -23
- data/lib/mack/testing/test_assertions.rb +0 -1
- data/lib/mack/utils/ansi/ansi_color.rb +1 -1
- data/lib/mack/version.rb +1 -1
- data/lib/mack/view/default_form_builder.rb +9 -0
- data/lib/mack/view/form_builder.rb +151 -0
- data/lib/mack/view_helpers/form_helpers.rb +7 -6
- data/lib/mack_core.rb +3 -3
- data/lib/mack_tasks.rb +1 -1
- metadata +381 -477
- data/lib/gems/builder-2.1.2/lib/builder/css.rb +0 -250
- data/lib/gems/configatron-2.1.5/lib/configatron.rb +0 -6
- data/lib/gems/configatron-2.1.5/lib/configatron/errors.rb +0 -7
- data/lib/gems/lockfile-1.4.3/bin/rlock +0 -360
- data/lib/gems/lockfile-1.4.3/bin/rlock-1.4.3 +0 -360
- data/lib/gems/logging-0.9.4/data/bad_logging_1.rb +0 -13
- data/lib/gems/logging-0.9.4/data/bad_logging_2.rb +0 -21
- data/lib/gems/logging-0.9.4/data/logging.rb +0 -42
- data/lib/gems/logging-0.9.4/data/logging.yaml +0 -63
- data/lib/gems/logging-0.9.4/data/simple_logging.rb +0 -13
- data/lib/gems/rack-0.4.0/bin/rackup +0 -172
- data/lib/gems/rack-0.4.0/lib/rack/deflater.rb +0 -63
- data/lib/gems/rack-0.4.0/lib/rack/directory.rb +0 -158
- data/lib/gems/rack-0.4.0/lib/rack/file.rb +0 -116
- data/lib/gems/rcov-0.8.1.2.0/ext/rcovrt/callsite.c +0 -242
- data/lib/gems/rcov-0.8.1.2.0/ext/rcovrt/extconf.rb +0 -11
- data/lib/gems/rcov-0.8.1.2.0/ext/rcovrt/rcovrt.c +0 -329
- data/lib/gems/rspec-1.1.11/lib/spec.rb +0 -32
- data/lib/gems/rspec-1.1.11/lib/spec/adapters.rb +0 -1
- data/lib/gems/rspec-1.1.11/lib/spec/adapters/ruby_engine.rb +0 -26
- data/lib/gems/rspec-1.1.11/lib/spec/adapters/ruby_engine/mri.rb +0 -8
- data/lib/gems/rspec-1.1.11/lib/spec/adapters/ruby_engine/rubinius.rb +0 -8
- data/lib/gems/rspec-1.1.11/lib/spec/example.rb +0 -12
- data/lib/gems/rspec-1.1.11/lib/spec/example/example_methods.rb +0 -105
- data/lib/gems/rspec-1.1.11/lib/spec/example/shared_example_group.rb +0 -52
- data/lib/gems/rspec-1.1.11/lib/spec/expectations/handler.rb +0 -52
- data/lib/gems/rspec-1.1.11/lib/spec/extensions.rb +0 -4
- data/lib/gems/rspec-1.1.11/lib/spec/extensions/class.rb +0 -24
- data/lib/gems/rspec-1.1.11/lib/spec/extensions/metaclass.rb +0 -7
- data/lib/gems/rspec-1.1.11/lib/spec/extensions/object.rb +0 -6
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/be.rb +0 -221
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/be_close.rb +0 -37
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/eql.rb +0 -43
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/equal.rb +0 -43
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/exist.rb +0 -22
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/has.rb +0 -34
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/match.rb +0 -41
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/operator_matcher.rb +0 -79
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/respond_to.rb +0 -46
- data/lib/gems/rspec-1.1.11/lib/spec/matchers/throw_symbol.rb +0 -74
- data/lib/gems/rspec-1.1.11/lib/spec/runner.rb +0 -213
- data/lib/gems/rspec-1.1.11/lib/spec/runner/class_and_arguments_parser.rb +0 -16
- data/lib/gems/rspec-1.1.11/lib/spec/runner/command_line.rb +0 -17
- data/lib/gems/rspec-1.1.11/lib/spec/runner/heckle_runner.rb +0 -72
- data/lib/gems/rspec-1.1.11/lib/spec/story/runner.rb +0 -59
- data/lib/gems/rspec-1.1.11/lib/spec/story/world.rb +0 -128
- data/lib/gems/rspec-1.1.11/rake_tasks/examples.rake +0 -7
- data/lib/gems/rspec-1.1.11/rake_tasks/examples_with_rcov.rake +0 -9
- data/lib/gems/rspec-1.1.11/rake_tasks/failing_examples_with_html.rake +0 -9
- data/lib/gems/rspec-1.1.11/rake_tasks/verify_rcov.rake +0 -7
- data/lib/gems/rspec-1.1.11/spec/README.jruby +0 -15
- data/lib/gems/rspec-1.1.11/spec/autotest/autotest_helper.rb +0 -6
- data/lib/gems/rspec-1.1.11/spec/autotest/autotest_matchers.rb +0 -47
- data/lib/gems/rspec-1.1.11/spec/autotest/discover_spec.rb +0 -19
- data/lib/gems/rspec-1.1.11/spec/autotest/rspec_spec.rb +0 -150
- data/lib/gems/rspec-1.1.11/spec/rspec_suite.rb +0 -6
- data/lib/gems/rspec-1.1.11/spec/ruby_forker.rb +0 -13
- data/lib/gems/rspec-1.1.11/spec/spec.opts +0 -6
- data/lib/gems/rspec-1.1.11/spec/spec/adapters/ruby_engine_spec.rb +0 -16
- data/lib/gems/rspec-1.1.11/spec/spec/example/configuration_spec.rb +0 -296
- data/lib/gems/rspec-1.1.11/spec/spec/example/example_group_class_definition_spec.rb +0 -48
- data/lib/gems/rspec-1.1.11/spec/spec/example/example_group_factory_spec.rb +0 -165
- data/lib/gems/rspec-1.1.11/spec/spec/example/example_group_methods_spec.rb +0 -584
- data/lib/gems/rspec-1.1.11/spec/spec/example/example_group_spec.rb +0 -683
- data/lib/gems/rspec-1.1.11/spec/spec/example/example_matcher_spec.rb +0 -96
- data/lib/gems/rspec-1.1.11/spec/spec/example/example_methods_spec.rb +0 -169
- data/lib/gems/rspec-1.1.11/spec/spec/example/example_runner_spec.rb +0 -194
- data/lib/gems/rspec-1.1.11/spec/spec/example/nested_example_group_spec.rb +0 -71
- data/lib/gems/rspec-1.1.11/spec/spec/example/pending_module_spec.rb +0 -145
- data/lib/gems/rspec-1.1.11/spec/spec/example/predicate_matcher_spec.rb +0 -21
- data/lib/gems/rspec-1.1.11/spec/spec/example/shared_example_group_spec.rb +0 -281
- data/lib/gems/rspec-1.1.11/spec/spec/example/subclassing_example_group_spec.rb +0 -25
- data/lib/gems/rspec-1.1.11/spec/spec/expectations/differs/default_spec.rb +0 -127
- data/lib/gems/rspec-1.1.11/spec/spec/expectations/extensions/object_spec.rb +0 -95
- data/lib/gems/rspec-1.1.11/spec/spec/expectations/fail_with_spec.rb +0 -71
- data/lib/gems/rspec-1.1.11/spec/spec/extensions/main_spec.rb +0 -71
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +0 -13
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/spec_spec.rb +0 -52
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -14
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/testcase_spec.rb +0 -49
- data/lib/gems/rspec-1.1.11/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/be_close_spec.rb +0 -39
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/be_spec.rb +0 -248
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/change_spec.rb +0 -329
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/description_generation_spec.rb +0 -153
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/eql_spec.rb +0 -28
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/equal_spec.rb +0 -28
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/exist_spec.rb +0 -57
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/handler_spec.rb +0 -150
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/has_spec.rb +0 -63
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/have_spec.rb +0 -394
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/include_spec.rb +0 -64
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/match_spec.rb +0 -37
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/matcher_methods_spec.rb +0 -78
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/mock_constraint_matchers_spec.rb +0 -24
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/operator_matcher_spec.rb +0 -191
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/raise_error_spec.rb +0 -315
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/respond_to_spec.rb +0 -54
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/satisfy_spec.rb +0 -36
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/simple_matcher_spec.rb +0 -93
- data/lib/gems/rspec-1.1.11/spec/spec/matchers/throw_symbol_spec.rb +0 -54
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/any_number_of_times_spec.rb +0 -36
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/argument_expectation_spec.rb +0 -23
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/at_least_spec.rb +0 -97
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/at_most_spec.rb +0 -93
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_10263_spec.rb +0 -24
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_11545_spec.rb +0 -33
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_496.rb +0 -17
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -95
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/hash_including_matcher_spec.rb +0 -53
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/mock_ordering_spec.rb +0 -84
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/mock_space_spec.rb +0 -54
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/mock_spec.rb +0 -555
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/nil_expectation_warning_spec.rb +0 -53
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/null_object_mock_spec.rb +0 -54
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/once_counts_spec.rb +0 -53
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/options_hash_spec.rb +0 -35
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/partial_mock_spec.rb +0 -149
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +0 -130
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/precise_counts_spec.rb +0 -52
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/record_messages_spec.rb +0 -26
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/stub_spec.rb +0 -188
- data/lib/gems/rspec-1.1.11/spec/spec/mocks/twice_counts_spec.rb +0 -67
- data/lib/gems/rspec-1.1.11/spec/spec/package/bin_spec_spec.rb +0 -22
- data/lib/gems/rspec-1.1.11/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
- data/lib/gems/rspec-1.1.11/spec/spec/runner/command_line_spec.rb +0 -141
- data/lib/gems/rspec-1.1.11/spec/spec/runner/drb_command_line_spec.rb +0 -97
- data/lib/gems/rspec-1.1.11/spec/spec/runner/examples.txt +0 -2
- data/lib/gems/rspec-1.1.11/spec/spec/runner/failed.txt +0 -3
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/base_formatter_spec.rb +0 -112
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.4.html +0 -365
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +0 -387
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.5.html +0 -371
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -381
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -370
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/html_formatter_spec.rb +0 -61
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -318
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -65
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -155
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +0 -103
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -159
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/story/html_formatter_spec.rb +0 -135
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +0 -600
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +0 -82
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +0 -365
- data/lib/gems/rspec-1.1.11/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -370
- data/lib/gems/rspec-1.1.11/spec/spec/runner/heckle_runner_spec.rb +0 -78
- data/lib/gems/rspec-1.1.11/spec/spec/runner/heckler_spec.rb +0 -13
- data/lib/gems/rspec-1.1.11/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -45
- data/lib/gems/rspec-1.1.11/spec/spec/runner/option_parser_spec.rb +0 -421
- data/lib/gems/rspec-1.1.11/spec/spec/runner/options_spec.rb +0 -450
- data/lib/gems/rspec-1.1.11/spec/spec/runner/output_one_time_fixture.rb +0 -7
- data/lib/gems/rspec-1.1.11/spec/spec/runner/output_one_time_fixture_runner.rb +0 -8
- data/lib/gems/rspec-1.1.11/spec/spec/runner/output_one_time_spec.rb +0 -16
- data/lib/gems/rspec-1.1.11/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -62
- data/lib/gems/rspec-1.1.11/spec/spec/runner/reporter_spec.rb +0 -238
- data/lib/gems/rspec-1.1.11/spec/spec/runner/resources/a_bar.rb +0 -0
- data/lib/gems/rspec-1.1.11/spec/spec/runner/resources/a_foo.rb +0 -0
- data/lib/gems/rspec-1.1.11/spec/spec/runner/resources/a_spec.rb +0 -1
- data/lib/gems/rspec-1.1.11/spec/spec/runner/spec.opts +0 -2
- data/lib/gems/rspec-1.1.11/spec/spec/runner/spec_drb.opts +0 -1
- data/lib/gems/rspec-1.1.11/spec/spec/runner/spec_parser/spec_parser_fixture.rb +0 -70
- data/lib/gems/rspec-1.1.11/spec/spec/runner/spec_parser_spec.rb +0 -85
- data/lib/gems/rspec-1.1.11/spec/spec/runner/spec_spaced.opts +0 -2
- data/lib/gems/rspec-1.1.11/spec/spec/runner_spec.rb +0 -11
- data/lib/gems/rspec-1.1.11/spec/spec/spec_classes.rb +0 -133
- data/lib/gems/rspec-1.1.11/spec/spec/story/builders.rb +0 -46
- data/lib/gems/rspec-1.1.11/spec/spec/story/extensions/main_spec.rb +0 -161
- data/lib/gems/rspec-1.1.11/spec/spec/story/extensions_spec.rb +0 -14
- data/lib/gems/rspec-1.1.11/spec/spec/story/given_scenario_spec.rb +0 -27
- data/lib/gems/rspec-1.1.11/spec/spec/story/runner/plain_text_story_runner_spec.rb +0 -90
- data/lib/gems/rspec-1.1.11/spec/spec/story/runner/scenario_collector_spec.rb +0 -27
- data/lib/gems/rspec-1.1.11/spec/spec/story/runner/scenario_runner_spec.rb +0 -214
- data/lib/gems/rspec-1.1.11/spec/spec/story/runner/story_mediator_spec.rb +0 -143
- data/lib/gems/rspec-1.1.11/spec/spec/story/runner/story_parser_spec.rb +0 -401
- data/lib/gems/rspec-1.1.11/spec/spec/story/runner/story_runner_spec.rb +0 -294
- data/lib/gems/rspec-1.1.11/spec/spec/story/runner_spec.rb +0 -93
- data/lib/gems/rspec-1.1.11/spec/spec/story/scenario_spec.rb +0 -18
- data/lib/gems/rspec-1.1.11/spec/spec/story/step_group_spec.rb +0 -157
- data/lib/gems/rspec-1.1.11/spec/spec/story/step_mother_spec.rb +0 -84
- data/lib/gems/rspec-1.1.11/spec/spec/story/step_spec.rb +0 -272
- data/lib/gems/rspec-1.1.11/spec/spec/story/story_helper.rb +0 -2
- data/lib/gems/rspec-1.1.11/spec/spec/story/story_spec.rb +0 -84
- data/lib/gems/rspec-1.1.11/spec/spec/story/world_spec.rb +0 -423
- data/lib/gems/rspec-1.1.11/spec/spec_helper.rb +0 -77
- data/lib/gems/rspec-1.1.11/stories/all.rb +0 -5
- data/lib/gems/rspec-1.1.11/stories/configuration/before_blocks.story +0 -21
- data/lib/gems/rspec-1.1.11/stories/configuration/stories.rb +0 -7
- data/lib/gems/rspec-1.1.11/stories/example_groups/autogenerated_docstrings +0 -45
- data/lib/gems/rspec-1.1.11/stories/example_groups/example_group_with_should_methods +0 -17
- data/lib/gems/rspec-1.1.11/stories/example_groups/nested_groups +0 -17
- data/lib/gems/rspec-1.1.11/stories/example_groups/output +0 -25
- data/lib/gems/rspec-1.1.11/stories/example_groups/stories.rb +0 -7
- data/lib/gems/rspec-1.1.11/stories/helper.rb +0 -6
- data/lib/gems/rspec-1.1.11/stories/interop/examples_and_tests_together +0 -30
- data/lib/gems/rspec-1.1.11/stories/interop/stories.rb +0 -7
- data/lib/gems/rspec-1.1.11/stories/interop/test_case_with_should_methods +0 -17
- data/lib/gems/rspec-1.1.11/stories/mock_framework_integration/stories.rb +0 -7
- data/lib/gems/rspec-1.1.11/stories/mock_framework_integration/use_flexmock.story +0 -9
- data/lib/gems/rspec-1.1.11/stories/pending_stories/README +0 -3
- data/lib/gems/rspec-1.1.11/stories/resources/helpers/cmdline.rb +0 -9
- data/lib/gems/rspec-1.1.11/stories/resources/helpers/story_helper.rb +0 -16
- data/lib/gems/rspec-1.1.11/stories/resources/matchers/smart_match.rb +0 -37
- data/lib/gems/rspec-1.1.11/stories/resources/spec/before_blocks_example.rb +0 -32
- data/lib/gems/rspec-1.1.11/stories/resources/spec/example_group_with_should_methods.rb +0 -12
- data/lib/gems/rspec-1.1.11/stories/resources/spec/simple_spec.rb +0 -8
- data/lib/gems/rspec-1.1.11/stories/resources/spec/spec_with_flexmock.rb +0 -18
- data/lib/gems/rspec-1.1.11/stories/resources/steps/running_rspec.rb +0 -50
- data/lib/gems/rspec-1.1.11/stories/resources/stories/failing_story.rb +0 -15
- data/lib/gems/rspec-1.1.11/stories/resources/test/spec_and_test_together.rb +0 -57
- data/lib/gems/rspec-1.1.11/stories/resources/test/test_case_with_should_methods.rb +0 -30
- data/lib/gems/rspec-1.1.11/stories/stories/multiline_steps.story +0 -23
- data/lib/gems/rspec-1.1.11/stories/stories/steps/multiline_steps.rb +0 -13
- data/lib/gems/rspec-1.1.11/stories/stories/stories.rb +0 -6
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/builder.js +0 -136
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/controls.js +0 -972
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/dragdrop.js +0 -976
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/effects.js +0 -1117
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/prototype.js +0 -4140
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/rspec.js +0 -149
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/scriptaculous.js +0 -58
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/slider.js +0 -276
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/sound.js +0 -55
- data/lib/gems/rspec-1.1.11/story_server/prototype/javascripts/unittest.js +0 -568
- data/lib/gems/rspec-1.1.11/story_server/prototype/lib/server.rb +0 -24
- data/lib/gems/rspec-1.1.11/story_server/prototype/stories.html +0 -176
- data/lib/gems/rspec-1.1.11/story_server/prototype/stylesheets/test.css +0 -90
- data/lib/mack/testing/test_case.rb +0 -52
@@ -0,0 +1,13 @@
|
|
1
|
+
class Configatron
|
2
|
+
class ProtectedParameter < StandardError
|
3
|
+
def intialize(name)
|
4
|
+
super("Can not modify protected parameter: '#{name}'")
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
class LockedNamespace < StandardError
|
9
|
+
def initialize(name)
|
10
|
+
super("Cannot add new parameters to locked namespace: #{name.inspect}")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
class Configatron
|
2
2
|
class Store
|
3
|
+
alias_method :send!, :send
|
3
4
|
|
4
5
|
# Takes an optional Hash of parameters
|
5
6
|
def initialize(options = {}, name = nil, parent = nil)
|
@@ -28,9 +29,9 @@ class Configatron
|
|
28
29
|
f_out = []
|
29
30
|
@_store.each do |k, v|
|
30
31
|
if v.is_a?(Configatron::Store)
|
31
|
-
v.inspect.
|
32
|
+
v.inspect.each_line do |line|
|
32
33
|
if line.match(/\n/)
|
33
|
-
line.
|
34
|
+
line.each_line do |l|
|
34
35
|
l.strip!
|
35
36
|
f_out << l
|
36
37
|
end
|
@@ -93,7 +94,8 @@ class Configatron
|
|
93
94
|
def method_missing(sym, *args) # :nodoc:
|
94
95
|
if sym.to_s.match(/(.+)=$/)
|
95
96
|
name = sym.to_s.gsub("=", '').to_sym
|
96
|
-
raise Configatron::ProtectedParameter.new(name) if @_protected.include?(name) ||
|
97
|
+
raise Configatron::ProtectedParameter.new(name) if @_protected.include?(name) || methods_include?(name)
|
98
|
+
raise Configatron::LockedNamespace.new(@_name) if @_locked && !@_store.has_key?(name)
|
97
99
|
@_store[name] = parse_options(*args)
|
98
100
|
elsif @_store.has_key?(sym)
|
99
101
|
return @_store[sym]
|
@@ -113,7 +115,7 @@ class Configatron
|
|
113
115
|
def protect(name)
|
114
116
|
@_protected << name.to_sym
|
115
117
|
end
|
116
|
-
|
118
|
+
|
117
119
|
# Prevents all parameters from being reassigned.
|
118
120
|
def protect_all!
|
119
121
|
@_protected.clear
|
@@ -136,6 +138,20 @@ class Configatron
|
|
136
138
|
val.unprotect_all! if val.class == Configatron::Store
|
137
139
|
end
|
138
140
|
end
|
141
|
+
|
142
|
+
# Prevents a namespace from having new parameters set. The lock is applied
|
143
|
+
# recursively to any namespaces below it.
|
144
|
+
def lock(name)
|
145
|
+
namespace = @_store[name.to_sym]
|
146
|
+
raise ArgumentError, "Namespace #{name.inspect} does not exist" if namespace.nil?
|
147
|
+
namespace.lock!
|
148
|
+
end
|
149
|
+
|
150
|
+
def unlock(name)
|
151
|
+
namespace = @_store[name.to_sym]
|
152
|
+
raise ArgumentError, "Namespace #{name.inspect} does not exist" if namespace.nil?
|
153
|
+
namespace.unlock!
|
154
|
+
end
|
139
155
|
|
140
156
|
# = DeepClone
|
141
157
|
#
|
@@ -196,7 +212,7 @@ class Configatron
|
|
196
212
|
}
|
197
213
|
end
|
198
214
|
cl.instance_variables.each do |var|
|
199
|
-
v = cl.instance_eval( var )
|
215
|
+
v = cl.instance_eval( var.to_s )
|
200
216
|
v_cl = deep_clone( v, cloned )
|
201
217
|
cl.instance_eval( "#{var} = v_cl" )
|
202
218
|
end
|
@@ -205,7 +221,22 @@ class Configatron
|
|
205
221
|
end
|
206
222
|
end
|
207
223
|
|
224
|
+
protected
|
225
|
+
def lock!
|
226
|
+
@_locked = true
|
227
|
+
@_store.values.each { |store| store.lock! if store.is_a?(Configatron::Store) }
|
228
|
+
end
|
229
|
+
|
230
|
+
def unlock!
|
231
|
+
@_locked = false
|
232
|
+
@_store.values.each { |store| store.unlock! if store.is_a?(Configatron::Store) }
|
233
|
+
end
|
234
|
+
|
208
235
|
private
|
236
|
+
def methods_include?(name)
|
237
|
+
self.methods.include?(RUBY_VERSION > '1.9.0' ? name.to_sym : name.to_s)
|
238
|
+
end
|
239
|
+
|
209
240
|
def parse_options(options)
|
210
241
|
if options.is_a?(Hash)
|
211
242
|
options.each do |k,v|
|
@@ -221,4 +252,4 @@ class Configatron
|
|
221
252
|
end
|
222
253
|
|
223
254
|
end
|
224
|
-
end
|
255
|
+
end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
require 'autotest'
|
2
|
+
require 'tempfile'
|
3
|
+
require File.dirname(__FILE__) + '/../cucumber/platform'
|
4
|
+
|
5
|
+
module Autotest::CucumberMixin
|
6
|
+
def self.included(receiver)
|
7
|
+
receiver::ALL_HOOKS << [:run_features, :ran_features]
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_accessor :scenarios_to_run
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
super
|
14
|
+
reset_features
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
hook :initialize
|
19
|
+
reset
|
20
|
+
reset_features
|
21
|
+
add_sigint_handler
|
22
|
+
|
23
|
+
self.last_mtime = Time.now if $f
|
24
|
+
|
25
|
+
loop do # ^c handler
|
26
|
+
begin
|
27
|
+
get_to_green
|
28
|
+
if self.tainted then
|
29
|
+
rerun_all_tests
|
30
|
+
rerun_all_features if all_good
|
31
|
+
else
|
32
|
+
hook :all_good
|
33
|
+
end
|
34
|
+
wait_for_changes
|
35
|
+
# Once tests and features are green, reset features every
|
36
|
+
# time a file is changed to see if anything breaks.
|
37
|
+
reset_features
|
38
|
+
rescue Interrupt
|
39
|
+
break if self.wants_to_quit
|
40
|
+
reset
|
41
|
+
reset_features
|
42
|
+
end
|
43
|
+
end
|
44
|
+
hook :quit
|
45
|
+
end
|
46
|
+
|
47
|
+
def all_features_good
|
48
|
+
scenarios_to_run == []
|
49
|
+
end
|
50
|
+
|
51
|
+
def get_to_green
|
52
|
+
begin
|
53
|
+
super
|
54
|
+
run_features
|
55
|
+
wait_for_changes unless all_features_good
|
56
|
+
end until all_features_good
|
57
|
+
end
|
58
|
+
|
59
|
+
def rerun_all_features
|
60
|
+
reset_features
|
61
|
+
run_features
|
62
|
+
end
|
63
|
+
|
64
|
+
def reset_features
|
65
|
+
self.scenarios_to_run = :all
|
66
|
+
end
|
67
|
+
|
68
|
+
def run_features
|
69
|
+
hook :run_features
|
70
|
+
Tempfile.open('autotest-cucumber') do |dirty_scenarios_file|
|
71
|
+
cmd = self.make_cucumber_cmd self.scenarios_to_run, dirty_scenarios_file.path
|
72
|
+
return if cmd.empty?
|
73
|
+
puts cmd unless $q
|
74
|
+
old_sync = $stdout.sync
|
75
|
+
$stdout.sync = true
|
76
|
+
self.results = []
|
77
|
+
line = []
|
78
|
+
begin
|
79
|
+
open("| #{cmd}", "r") do |f|
|
80
|
+
until f.eof? do
|
81
|
+
c = f.getc
|
82
|
+
putc c
|
83
|
+
line << c
|
84
|
+
if c == ?\n then
|
85
|
+
self.results << if RUBY_VERSION >= "1.9" then
|
86
|
+
line.join
|
87
|
+
else
|
88
|
+
line.pack "c*"
|
89
|
+
end
|
90
|
+
line.clear
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
ensure
|
95
|
+
$stdout.sync = old_sync
|
96
|
+
end
|
97
|
+
self.scenarios_to_run = dirty_scenarios_file.readlines.map { |l| l.chomp }
|
98
|
+
self.tainted = true unless self.scenarios_to_run == []
|
99
|
+
end
|
100
|
+
hook :ran_features
|
101
|
+
end
|
102
|
+
|
103
|
+
def make_cucumber_cmd(scenarios_to_run, dirty_scenarios_filename)
|
104
|
+
return '' if scenarios_to_run == []
|
105
|
+
|
106
|
+
profiles = YAML.load_file("cucumber.yml").keys rescue []
|
107
|
+
|
108
|
+
profile ||= "autotest-all" if profiles.include?("autotest-all") and scenarios_to_run == :all
|
109
|
+
profile ||= "autotest" if profiles.include?("autotest")
|
110
|
+
profile ||= nil
|
111
|
+
|
112
|
+
if profile
|
113
|
+
args = ["--profile", profile]
|
114
|
+
else
|
115
|
+
args = %w{features --format} << (scenarios_to_run == :all ? "progress" : "pretty")
|
116
|
+
end
|
117
|
+
args += %w{--format autotest --color --out} << dirty_scenarios_filename
|
118
|
+
args = args.join(' ')
|
119
|
+
|
120
|
+
if scenarios_to_run == :all
|
121
|
+
scenario_args = nil
|
122
|
+
else
|
123
|
+
# We escape scenario names for the shell by wrapping them in $'...' and replacing
|
124
|
+
# every single quote with an escaped version, "\'". We use a double backslash for
|
125
|
+
# Ruby, and we put it in a block or gsub interpolates the sequence "\'" as $'.
|
126
|
+
scenario_args = scenarios_to_run.map { |s| "-s $'#{s.gsub("'") {"\\'"} }'" }.join(' ')
|
127
|
+
end
|
128
|
+
return "#{Cucumber::RUBY_BINARY} #{Cucumber::BINARY} #{args} #{scenario_args}"
|
129
|
+
end
|
130
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
$:.unshift(File.dirname(__FILE__)) unless
|
2
|
+
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
|
+
|
4
|
+
require 'cucumber/platform'
|
5
|
+
require 'rubygems'
|
6
|
+
require 'treetop/runtime'
|
7
|
+
require 'treetop/ruby_extensions'
|
8
|
+
require 'cucumber/version'
|
9
|
+
require 'cucumber/step_methods'
|
10
|
+
require 'cucumber/tree'
|
11
|
+
require 'cucumber/model'
|
12
|
+
require 'cucumber/executor'
|
13
|
+
require 'cucumber/step_mother'
|
14
|
+
require 'cucumber/formatters'
|
15
|
+
require 'cucumber/treetop_parser/feature_parser'
|
16
|
+
require 'cucumber/cli'
|
17
|
+
require 'cucumber/broadcaster'
|
18
|
+
require 'cucumber/world'
|
19
|
+
require 'cucumber/core_ext/exception'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Cucumber
|
2
|
+
class Broadcaster
|
3
|
+
|
4
|
+
def initialize(receivers = [])
|
5
|
+
@receivers = receivers
|
6
|
+
end
|
7
|
+
|
8
|
+
def register(receiver)
|
9
|
+
@receivers << receiver
|
10
|
+
end
|
11
|
+
|
12
|
+
def method_missing(method_name, *args)
|
13
|
+
@receivers.each do |receiver|
|
14
|
+
r = (receiver == STDOUT) ? Kernel : receiver # Needed to make colors work on Windows
|
15
|
+
r.__send__(method_name, *args) if receiver.respond_to?(method_name)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,360 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
require 'cucumber'
|
3
|
+
require 'ostruct'
|
4
|
+
|
5
|
+
module Cucumber
|
6
|
+
class YmlLoadError < StandardError; end
|
7
|
+
|
8
|
+
class CLI
|
9
|
+
class << self
|
10
|
+
attr_writer :step_mother, :executor, :features
|
11
|
+
|
12
|
+
def execute(args)
|
13
|
+
@execute_called = true
|
14
|
+
parse(args).execute!(@step_mother, @executor, @features)
|
15
|
+
end
|
16
|
+
|
17
|
+
def execute_called?
|
18
|
+
@execute_called
|
19
|
+
end
|
20
|
+
|
21
|
+
def parse(args)
|
22
|
+
cli = new
|
23
|
+
cli.parse_options!(args)
|
24
|
+
cli
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
attr_reader :options, :paths
|
29
|
+
FORMATS = %w{pretty profile progress html autotest}
|
30
|
+
DEFAULT_FORMAT = 'pretty'
|
31
|
+
|
32
|
+
def initialize(out_stream = STDOUT, error_stream = STDERR)
|
33
|
+
@out_stream = out_stream
|
34
|
+
@error_stream = error_stream
|
35
|
+
@paths = []
|
36
|
+
@options = {
|
37
|
+
:require => nil,
|
38
|
+
:lang => 'en',
|
39
|
+
:dry_run => false,
|
40
|
+
:source => true,
|
41
|
+
:snippets => true,
|
42
|
+
:formats => {},
|
43
|
+
:excludes => [],
|
44
|
+
:scenario_names => nil
|
45
|
+
}
|
46
|
+
@active_format = DEFAULT_FORMAT
|
47
|
+
end
|
48
|
+
|
49
|
+
def parse_options!(args)
|
50
|
+
@args = args
|
51
|
+
return parse_args_from_profile('default') if args.empty?
|
52
|
+
args.extend(OptionParser::Arguable)
|
53
|
+
|
54
|
+
args.options do |opts|
|
55
|
+
opts.banner = ["Usage: cucumber [options] [[FILE[:LINE[:LINE]*]] | [FILES|DIRS]]", "",
|
56
|
+
"Examples:",
|
57
|
+
"cucumber examples/i18n/en/features",
|
58
|
+
"cucumber --language it examples/i18n/it/features/somma.feature:6:98:113", "", ""
|
59
|
+
].join("\n")
|
60
|
+
opts.on("-r LIBRARY|DIR", "--require LIBRARY|DIR", "Require files before executing the features.",
|
61
|
+
"If this option is not specified, all *.rb files that",
|
62
|
+
"are siblings or below the features will be autorequired",
|
63
|
+
"This option can be specified multiple times.") do |v|
|
64
|
+
@options[:require] ||= []
|
65
|
+
@options[:require] << v
|
66
|
+
end
|
67
|
+
opts.on("-s SCENARIO", "--scenario SCENARIO", "Only execute the scenario with the given name.",
|
68
|
+
"If this option is given more than once, run all",
|
69
|
+
"the specified scenarios.") do |v|
|
70
|
+
@options[:scenario_names] ||= []
|
71
|
+
@options[:scenario_names] << v
|
72
|
+
end
|
73
|
+
opts.on("-l LANG", "--language LANG", "Specify language for features (Default: #{@options[:lang]})",
|
74
|
+
"Available languages: #{Cucumber.languages.join(", ")}",
|
75
|
+
"Look at #{Cucumber::LANGUAGE_FILE} for keywords") do |v|
|
76
|
+
@options[:lang] = v
|
77
|
+
end
|
78
|
+
opts.on("-f FORMAT", "--format FORMAT", "How to format features (Default: #{DEFAULT_FORMAT})",
|
79
|
+
"Available formats: #{FORMATS.join(", ")}",
|
80
|
+
"You can also provide your own formatter classes as long as they have been",
|
81
|
+
"previously required using --require or if they are in the folder",
|
82
|
+
"structure such that cucumber will require them automatically.",
|
83
|
+
"This option can be specified multiple times.") do |v|
|
84
|
+
|
85
|
+
@options[:formats][v] ||= []
|
86
|
+
@options[:formats][v] << @out_stream
|
87
|
+
@active_format = v
|
88
|
+
end
|
89
|
+
opts.on("-o", "--out FILE", "Write output to a file instead of @out_stream.",
|
90
|
+
"This option can be specified multiple times, and applies to the previously",
|
91
|
+
"specified --format.") do |v|
|
92
|
+
@options[:formats][@active_format] ||= []
|
93
|
+
if @options[:formats][@active_format].last == @out_stream
|
94
|
+
@options[:formats][@active_format][-1] = File.open(v, 'w')
|
95
|
+
else
|
96
|
+
@options[:formats][@active_format] << File.open(v, 'w')
|
97
|
+
end
|
98
|
+
end
|
99
|
+
opts.on("-c", "--[no-]color", "Use ANSI color in the output, if formatters use it. If",
|
100
|
+
"these options are given multiple times, the last one is",
|
101
|
+
"used. If neither --color or --no-color is given cucumber",
|
102
|
+
"decides based on your platform and the output destination") do |v|
|
103
|
+
@options[:color] = v
|
104
|
+
end
|
105
|
+
opts.on("-e", "--exclude PATTERN", "Don't run features matching a pattern") do |v|
|
106
|
+
@options[:excludes] << v
|
107
|
+
end
|
108
|
+
opts.on("-p", "--profile PROFILE", "Pull commandline arguments from cucumber.yml.") do |v|
|
109
|
+
parse_args_from_profile(v)
|
110
|
+
end
|
111
|
+
opts.on("-d", "--dry-run", "Invokes formatters without executing the steps.") do
|
112
|
+
@options[:dry_run] = true
|
113
|
+
end
|
114
|
+
opts.on("-n", "--no-source", "Don't show the file and line of the step definition with the steps.") do
|
115
|
+
@options[:source] = false
|
116
|
+
end
|
117
|
+
opts.on("-i", "--no-snippets", "Don't show the snippets for pending steps") do
|
118
|
+
@options[:snippets] = false
|
119
|
+
end
|
120
|
+
opts.on("-q", "--quiet", "Don't show any development aid information") do
|
121
|
+
@options[:snippets] = false
|
122
|
+
@options[:source] = false
|
123
|
+
end
|
124
|
+
opts.on("-b", "--backtrace", "Show full backtrace for all errors") do
|
125
|
+
Exception.cucumber_full_backtrace = true
|
126
|
+
end
|
127
|
+
opts.on("-v", "--verbose", "Show the files and features loaded") do
|
128
|
+
@options[:verbose] = true
|
129
|
+
end
|
130
|
+
opts.on_tail("--version", "Show version") do
|
131
|
+
@out_stream.puts VERSION::STRING
|
132
|
+
Kernel.exit
|
133
|
+
end
|
134
|
+
opts.on_tail("--help", "You're looking at it") do
|
135
|
+
@out_stream.puts opts.help
|
136
|
+
Kernel.exit
|
137
|
+
end
|
138
|
+
end.parse!
|
139
|
+
|
140
|
+
if @options[:formats].empty?
|
141
|
+
@options[:formats][DEFAULT_FORMAT] = [@out_stream]
|
142
|
+
end
|
143
|
+
|
144
|
+
# Whatever is left after option parsing is the FILE arguments
|
145
|
+
args = extract_and_store_line_numbers(args)
|
146
|
+
@paths += args
|
147
|
+
end
|
148
|
+
|
149
|
+
|
150
|
+
def execute!(step_mother, executor, features)
|
151
|
+
Term::ANSIColor.coloring = @options[:color] unless @options[:color].nil?
|
152
|
+
Cucumber.load_language(@options[:lang])
|
153
|
+
require_files
|
154
|
+
enable_diffing
|
155
|
+
executor.formatters = build_formatter_broadcaster(step_mother)
|
156
|
+
load_plain_text_features(features)
|
157
|
+
executor.lines_for_features = @options[:lines_for_features]
|
158
|
+
executor.scenario_names = @options[:scenario_names] if @options[:scenario_names]
|
159
|
+
executor.visit_features(features)
|
160
|
+
exit 1 if executor.failed
|
161
|
+
end
|
162
|
+
|
163
|
+
private
|
164
|
+
|
165
|
+
def extract_and_store_line_numbers(file_arguments)
|
166
|
+
@options[:lines_for_features] = Hash.new{|k,v| k[v] = []}
|
167
|
+
file_arguments.map do |arg|
|
168
|
+
_, file, lines = */^([\w\W]*?):([\d:]+)$/.match(arg)
|
169
|
+
unless file.nil?
|
170
|
+
@options[:lines_for_features][file] += lines.split(':').map { |line| line.to_i }
|
171
|
+
arg = file
|
172
|
+
end
|
173
|
+
arg
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
def cucumber_yml
|
178
|
+
return @cucumber_yml if @cucumber_yml
|
179
|
+
unless File.exist?('cucumber.yml')
|
180
|
+
raise(YmlLoadError,"cucumber.yml was not found. Please refer to cucumber's documentaion on defining profiles in cucumber.yml. You must define a 'default' profile to use the cucumber command without any arguments.\nType 'cucumber --help' for usage.\n")
|
181
|
+
end
|
182
|
+
|
183
|
+
require 'yaml'
|
184
|
+
begin
|
185
|
+
@cucumber_yml = YAML::load(IO.read('cucumber.yml'))
|
186
|
+
rescue Exception => e
|
187
|
+
raise(YmlLoadError,"cucumber.yml was found, but could not be parsed. Please refer to cucumber's documentaion on correct profile usage.\n")
|
188
|
+
end
|
189
|
+
|
190
|
+
if @cucumber_yml.nil? || !@cucumber_yml.is_a?(Hash)
|
191
|
+
raise(YmlLoadError,"cucumber.yml was found, but was blank or malformed. Please refer to cucumber's documentaion on correct profile usage.\n")
|
192
|
+
end
|
193
|
+
|
194
|
+
return @cucumber_yml
|
195
|
+
end
|
196
|
+
|
197
|
+
def parse_args_from_profile(profile)
|
198
|
+
unless cucumber_yml.has_key?(profile)
|
199
|
+
return(exit_with_error <<-END_OF_ERROR)
|
200
|
+
Could not find profile: '#{profile}'
|
201
|
+
|
202
|
+
Defined profiles in cucumber.yml:
|
203
|
+
* #{cucumber_yml.keys.join("\n * ")}
|
204
|
+
END_OF_ERROR
|
205
|
+
end
|
206
|
+
|
207
|
+
args_from_yml = cucumber_yml[profile] || ''
|
208
|
+
|
209
|
+
if !args_from_yml.is_a?(String)
|
210
|
+
exit_with_error "Profiles must be defined as a String. The '#{profile}' profile was #{args_from_yml.inspect} (#{args_from_yml.class}).\n"
|
211
|
+
elsif args_from_yml =~ /^\s*$/
|
212
|
+
exit_with_error "The 'foo' profile in cucumber.yml was blank. Please define the command line arguments for the 'foo' profile in cucumber.yml.\n"
|
213
|
+
else
|
214
|
+
parse_options!(args_from_yml.split(' '))
|
215
|
+
end
|
216
|
+
|
217
|
+
rescue YmlLoadError => e
|
218
|
+
exit_with_error(e.message)
|
219
|
+
end
|
220
|
+
|
221
|
+
|
222
|
+
# Requires files - typically step files and ruby feature files.
|
223
|
+
def require_files
|
224
|
+
@args.clear # Shut up RSpec
|
225
|
+
require "cucumber/treetop_parser/feature_#{@options[:lang]}"
|
226
|
+
require "cucumber/treetop_parser/feature_parser"
|
227
|
+
|
228
|
+
verbose_log("Ruby files required:")
|
229
|
+
files_to_require.each do |lib|
|
230
|
+
begin
|
231
|
+
require lib
|
232
|
+
verbose_log(" * #{lib}")
|
233
|
+
rescue LoadError => e
|
234
|
+
e.message << "\nFailed to load #{lib}"
|
235
|
+
raise e
|
236
|
+
end
|
237
|
+
end
|
238
|
+
verbose_log("\n")
|
239
|
+
end
|
240
|
+
|
241
|
+
def files_to_require
|
242
|
+
requires = @options[:require] || feature_dirs
|
243
|
+
files = requires.map do |path|
|
244
|
+
path = path.gsub(/\\/, '/') # In case we're on windows. Globs don't work with backslashes.
|
245
|
+
File.directory?(path) ? Dir["#{path}/**/*.rb"] : path
|
246
|
+
end.flatten.uniq
|
247
|
+
files.sort { |a,b| (b =~ %r{/support/} || -1) <=> (a =~ %r{/support/} || -1) }
|
248
|
+
end
|
249
|
+
|
250
|
+
def feature_files
|
251
|
+
potential_feature_files = @paths.map do |path|
|
252
|
+
path = path.gsub(/\\/, '/') # In case we're on windows. Globs don't work with backslashes.
|
253
|
+
path = path.chomp('/')
|
254
|
+
File.directory?(path) ? Dir["#{path}/**/*.feature"] : path
|
255
|
+
end.flatten.uniq
|
256
|
+
|
257
|
+
@options[:excludes].each do |exclude|
|
258
|
+
potential_feature_files.reject! do |path|
|
259
|
+
path =~ /#{Regexp.escape(exclude)}/
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
potential_feature_files
|
264
|
+
end
|
265
|
+
|
266
|
+
def feature_dirs
|
267
|
+
feature_files.map{|f| File.directory?(f) ? f : File.dirname(f)}.uniq
|
268
|
+
end
|
269
|
+
|
270
|
+
def load_plain_text_features(features)
|
271
|
+
parser = TreetopParser::FeatureParser.new
|
272
|
+
|
273
|
+
verbose_log("Features:")
|
274
|
+
feature_files.each do |f|
|
275
|
+
features << parser.parse_feature(f)
|
276
|
+
verbose_log(" * #{f}")
|
277
|
+
end
|
278
|
+
verbose_log("\n"*2)
|
279
|
+
end
|
280
|
+
|
281
|
+
def build_formatter_broadcaster(step_mother)
|
282
|
+
formatter_broadcaster = Broadcaster.new
|
283
|
+
@options[:formats].each do |format, output_list|
|
284
|
+
output_broadcaster = build_output_broadcaster(output_list)
|
285
|
+
case format
|
286
|
+
when 'pretty'
|
287
|
+
formatter_broadcaster.register(Formatters::PrettyFormatter.new(output_broadcaster, step_mother, @options))
|
288
|
+
when 'progress'
|
289
|
+
formatter_broadcaster.register(Formatters::ProgressFormatter.new(output_broadcaster))
|
290
|
+
when 'profile'
|
291
|
+
formatter_broadcaster.register(Formatters::ProfileFormatter.new(output_broadcaster, step_mother))
|
292
|
+
when 'html'
|
293
|
+
formatter_broadcaster.register(Formatters::HtmlFormatter.new(output_broadcaster, step_mother))
|
294
|
+
when 'autotest'
|
295
|
+
formatter_broadcaster.register(Formatters::AutotestFormatter.new(output_broadcaster))
|
296
|
+
else
|
297
|
+
begin
|
298
|
+
formatter_class = constantize(format)
|
299
|
+
formatter_broadcaster.register(formatter_class.new(output_broadcaster, step_mother, @options))
|
300
|
+
rescue NameError => e
|
301
|
+
@error_stream.puts "Invalid format: #{format}\n"
|
302
|
+
exit_with_help
|
303
|
+
rescue Exception => e
|
304
|
+
exit_with_error("Error creating formatter: #{format}\n#{e}\n")
|
305
|
+
end
|
306
|
+
end
|
307
|
+
end
|
308
|
+
formatter_broadcaster
|
309
|
+
end
|
310
|
+
|
311
|
+
def build_output_broadcaster(output_list)
|
312
|
+
output_broadcaster = Broadcaster.new
|
313
|
+
output_list.each do |output|
|
314
|
+
output_broadcaster.register(output)
|
315
|
+
end
|
316
|
+
output_broadcaster
|
317
|
+
end
|
318
|
+
|
319
|
+
private
|
320
|
+
|
321
|
+
def constantize(camel_cased_word)
|
322
|
+
names = camel_cased_word.split('::')
|
323
|
+
names.shift if names.empty? || names.first.empty?
|
324
|
+
|
325
|
+
constant = Object
|
326
|
+
names.each do |name|
|
327
|
+
constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
|
328
|
+
end
|
329
|
+
constant
|
330
|
+
end
|
331
|
+
|
332
|
+
def verbose_log(string)
|
333
|
+
@out_stream.puts(string) if @options[:verbose]
|
334
|
+
end
|
335
|
+
|
336
|
+
def exit_with_help
|
337
|
+
parse_options!(%w{--help})
|
338
|
+
end
|
339
|
+
|
340
|
+
def exit_with_error(error_message)
|
341
|
+
@error_stream << error_message
|
342
|
+
Kernel.exit 1
|
343
|
+
end
|
344
|
+
|
345
|
+
def enable_diffing
|
346
|
+
if defined?(::Spec)
|
347
|
+
require 'spec/expectations/differs/default'
|
348
|
+
options = OpenStruct.new(:diff_format => :unified, :context_lines => 3)
|
349
|
+
::Spec::Expectations.differ = ::Spec::Expectations::Differs::Default.new(options)
|
350
|
+
end
|
351
|
+
end
|
352
|
+
end
|
353
|
+
end
|
354
|
+
|
355
|
+
extend Cucumber::StepMethods
|
356
|
+
Cucumber::CLI.step_mother = step_mother
|
357
|
+
Cucumber::CLI.executor = executor
|
358
|
+
|
359
|
+
extend Cucumber::Tree
|
360
|
+
Cucumber::CLI.features = features
|