rspec-core 2.8.0.rc1 → 2.8.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. data/License.txt +24 -0
  2. data/README.md +197 -37
  3. data/features/command_line/format_option.feature +3 -3
  4. data/features/command_line/init.feature +18 -0
  5. data/features/example_groups/shared_examples.feature +1 -1
  6. data/features/hooks/around_hooks.feature +4 -4
  7. data/features/pending/pending_examples.feature +5 -5
  8. data/features/support/env.rb +8 -1
  9. data/lib/autotest/rspec2.rb +2 -6
  10. data/lib/rspec/core.rb +48 -158
  11. data/lib/rspec/core/backward_compatibility.rb +2 -0
  12. data/lib/rspec/core/command_line.rb +4 -0
  13. data/lib/rspec/core/configuration.rb +201 -106
  14. data/lib/rspec/core/configuration_options.rb +2 -1
  15. data/lib/rspec/core/deprecation.rb +2 -3
  16. data/lib/rspec/core/drb_options.rb +69 -58
  17. data/lib/rspec/core/dsl.rb +12 -0
  18. data/lib/rspec/core/example.rb +53 -18
  19. data/lib/rspec/core/example_group.rb +144 -54
  20. data/lib/rspec/core/extensions.rb +4 -4
  21. data/lib/rspec/core/extensions/instance_eval_with_args.rb +5 -0
  22. data/lib/rspec/core/extensions/kernel.rb +1 -1
  23. data/lib/rspec/core/extensions/module_eval_with_args.rb +4 -0
  24. data/lib/rspec/core/extensions/ordered.rb +7 -2
  25. data/lib/rspec/core/filter_manager.rb +69 -36
  26. data/lib/rspec/core/formatters/base_text_formatter.rb +1 -1
  27. data/lib/rspec/core/formatters/html_formatter.rb +10 -4
  28. data/lib/rspec/core/hooks.rb +93 -34
  29. data/lib/rspec/core/let.rb +62 -61
  30. data/lib/rspec/core/metadata.rb +103 -80
  31. data/lib/rspec/core/metadata_hash_builder.rb +4 -0
  32. data/lib/rspec/core/option_parser.rb +42 -44
  33. data/lib/rspec/core/pending.rb +25 -3
  34. data/lib/rspec/core/project_initializer.rb +62 -0
  35. data/lib/rspec/core/rake_task.rb +7 -13
  36. data/lib/rspec/core/runner.rb +2 -2
  37. data/lib/rspec/core/shared_context.rb +1 -1
  38. data/lib/rspec/core/shared_example_group.rb +11 -5
  39. data/lib/rspec/core/subject.rb +3 -3
  40. data/lib/rspec/core/version.rb +1 -1
  41. data/lib/rspec/monkey.rb +1 -1
  42. data/lib/rspec/monkey/spork/test_framework/rspec.rb +2 -0
  43. data/spec/command_line/order_spec.rb +19 -13
  44. data/spec/rspec/core/command_line_spec.rb +1 -5
  45. data/spec/rspec/core/configuration_options_spec.rb +22 -27
  46. data/spec/rspec/core/configuration_spec.rb +32 -14
  47. data/spec/rspec/core/drb_command_line_spec.rb +20 -37
  48. data/spec/rspec/core/drb_options_spec.rb +51 -3
  49. data/spec/rspec/core/example_group_spec.rb +101 -84
  50. data/spec/rspec/core/example_spec.rb +14 -0
  51. data/spec/rspec/core/filter_manager_spec.rb +114 -33
  52. data/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +17 -69
  53. data/spec/rspec/core/formatters/html_formatted-1.8.7.html +14 -4
  54. data/spec/rspec/core/formatters/html_formatted-1.9.2.html +14 -4
  55. data/spec/rspec/core/formatters/html_formatted-1.9.3.html +14 -4
  56. data/spec/rspec/core/formatters/html_formatter_spec.rb +1 -1
  57. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +20 -72
  58. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +24 -14
  59. data/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +29 -19
  60. data/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +29 -19
  61. data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +1 -2
  62. data/spec/rspec/core/metadata_spec.rb +77 -45
  63. data/spec/rspec/core/option_parser_spec.rb +5 -0
  64. data/spec/rspec/core/pending_example_spec.rb +44 -12
  65. data/spec/rspec/core/project_initializer_spec.rb +130 -0
  66. data/spec/rspec/core/rake_task_spec.rb +1 -1
  67. data/spec/spec_helper.rb +2 -0
  68. data/spec/support/matchers.rb +2 -12
  69. metadata +18 -16
  70. data/features/command_line/configure.feature +0 -22
  71. data/lib/rspec/core/command_line_configuration.rb +0 -62
  72. data/lib/rspec/core/errors.rb +0 -13
  73. data/spec/rspec/core/command_line_configuration_spec.rb +0 -26
@@ -1,22 +0,0 @@
1
- Feature: --configure option
2
-
3
- Use the --configure option on the command line to generate configuration
4
- files.
5
-
6
- The only supported argument, so far, is "autotest", which creates a .rspec
7
- file in your project root directory. When autotest sees this file, it knows
8
- to load RSpec's Autotest subclass.
9
-
10
- Scenario: generate .rspec file for autotest
11
- When I run `rspec --configure autotest`
12
- Then the following files should exist:
13
- | .rspec |
14
- And the output should contain ".rspec file did not exist, so it was created."
15
-
16
- Scenario: .rspec file already exists
17
- Given a file named ".rspec" with:
18
- """
19
- --color
20
- """
21
- When I run `rspec --configure autotest`
22
- Then the output should contain ".rspec file already exists, so nothing was changed."
@@ -1,62 +0,0 @@
1
- module RSpec
2
- module Core
3
- class CommandLineConfiguration
4
- attr_reader :command
5
-
6
- def initialize(cmd)
7
- @command = cmd
8
- end
9
-
10
- def run
11
- case @command
12
- when 'autotest' then Autotest.generate
13
- else raise ArgumentError, <<-MESSAGE
14
-
15
- #{"*"*50}
16
- "#{@command}" is not valid a valid argument to "rspec --configure".
17
- Supported options are:
18
-
19
- rspec --configure autotest # generates .rspec file
20
-
21
- #{"*"*50}
22
- MESSAGE
23
- end
24
- end
25
-
26
- class Autotest
27
- class << self
28
- def generate
29
- create_dot_rspec_file
30
- remove_autotest_dir_if_present
31
- end
32
-
33
- def create_dot_rspec_file
34
- puts "Autotest loads RSpec's Autotest subclass when there is a .rspec file in the project's root directory."
35
- if File.exist?('./.rspec')
36
- puts ".rspec file already exists, so nothing was changed."
37
- else
38
- FileUtils.touch('./.rspec')
39
- puts ".rspec file did not exist, so it was created."
40
- end
41
- end
42
-
43
- def remove_autotest_dir_if_present
44
- if discover_file_exists?
45
- print "Delete obsolete autotest/discover.rb [y/n]? "
46
- exit if gets !~ /y/i
47
- FileUtils.rm_rf(discover_file_path)
48
- end
49
- end
50
-
51
- def discover_file_exists?
52
- File.exist?(discover_file_path)
53
- end
54
-
55
- def discover_file_path
56
- File.join('autotest', 'discover.rb')
57
- end
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,13 +0,0 @@
1
- module RSpec
2
- module Core
3
- # If Test::Unit is loaed, we'll use its error as baseclass, so that Test::Unit
4
- # will report unmet RSpec expectations as failures rather than errors.
5
- begin
6
- class PendingExampleFixedError < Test::Unit::AssertionFailedError; end
7
- rescue
8
- class PendingExampleFixedError < StandardError; end
9
- end
10
- end
11
- end
12
-
13
-
@@ -1,26 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module RSpec::Core
4
- describe CommandLineConfiguration do
5
- describe '#run' do
6
- context 'given autotest command' do
7
- let(:config) { CommandLineConfiguration.new('autotest') }
8
-
9
- it 'calls Autotest.generate' do
10
- CommandLineConfiguration::Autotest.should_receive(:generate)
11
- config.run
12
- end
13
- end
14
-
15
- context 'given unsupported command' do
16
- let(:config) { CommandLineConfiguration.new('unsupported') }
17
-
18
- it 'raises ArgumentError' do
19
- lambda { config.run }.should(
20
- raise_error(ArgumentError, /"unsupported" is not valid/)
21
- )
22
- end
23
- end
24
- end
25
- end
26
- end