rspec-given 2.4.5 → 3.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -2
  3. data/Gemfile.lock +8 -10
  4. data/README.md +50 -34
  5. data/README.old +720 -0
  6. data/Rakefile +23 -17
  7. data/TODO +13 -0
  8. data/examples/example_helper.rb +8 -1
  9. data/examples/integration/and_spec.rb +6 -11
  10. data/examples/integration/focused_line_spec.rb +2 -1
  11. data/examples/integration/given_spec.rb +19 -9
  12. data/examples/integration/invariant_spec.rb +6 -6
  13. data/examples/integration/then_spec.rb +0 -1
  14. data/examples/loader.rb +4 -0
  15. data/examples/minitest_helper.rb +38 -0
  16. data/examples/stack/stack_spec.rb +2 -3
  17. data/lib/given.rb +2 -0
  18. data/lib/rspec/given.rb +1 -19
  19. data/rakelib/bundler_fix.rb +17 -0
  20. data/rakelib/gemspec.rake +161 -0
  21. data/rakelib/metrics.rake +30 -0
  22. data/rakelib/preview.rake +14 -0
  23. data/spec/lib/{rspec/given → given}/evaluator_spec.rb +1 -1
  24. data/spec/lib/{rspec/given → given}/ext/numeric_spec.rb +2 -2
  25. data/spec/lib/{rspec/given → given}/ext/numeric_specifications.rb +0 -0
  26. data/spec/lib/{rspec/given → given}/extensions_spec.rb +2 -2
  27. data/spec/lib/given/failure_matcher_spec.rb +77 -0
  28. data/spec/lib/given/failure_spec.rb +49 -0
  29. data/spec/lib/given/file_cache_spec.rb +26 -0
  30. data/spec/lib/{rspec/given → given}/fuzzy_number_spec.rb +2 -2
  31. data/spec/lib/{rspec/given → given}/have_failed_spec.rb +5 -4
  32. data/spec/lib/{rspec/given → given}/lexical_purity_spec.rb +0 -0
  33. data/spec/lib/given/line_extractor_spec.rb +84 -0
  34. data/spec/lib/{rspec/given → given}/module_methods_spec.rb +2 -2
  35. data/spec/lib/{rspec/given → given}/natural_assertion_spec.rb +4 -36
  36. data/spec/lib/{rspec/given → given}/options_spec.rb +33 -33
  37. data/spec/spec_helper.rb +20 -0
  38. data/spec/support/faux_then.rb +2 -2
  39. data/spec/support/natural_assertion_control.rb +1 -1
  40. metadata +35 -42
  41. data/examples/integration/failing_spec.rb +0 -5
  42. data/lib/rspec/given/configure.rb +0 -20
  43. data/lib/rspec/given/core.rb +0 -9
  44. data/lib/rspec/given/evaluator.rb +0 -39
  45. data/lib/rspec/given/ext/numeric.rb +0 -32
  46. data/lib/rspec/given/extensions.rb +0 -262
  47. data/lib/rspec/given/failure.rb +0 -53
  48. data/lib/rspec/given/file_cache.rb +0 -19
  49. data/lib/rspec/given/fuzzy_number.rb +0 -70
  50. data/lib/rspec/given/fuzzy_shortcuts.rb +0 -1
  51. data/lib/rspec/given/have_failed.rb +0 -77
  52. data/lib/rspec/given/line_extractor.rb +0 -43
  53. data/lib/rspec/given/module_methods.rb +0 -70
  54. data/lib/rspec/given/monkey.rb +0 -42
  55. data/lib/rspec/given/natural_assertion.rb +0 -193
  56. data/lib/rspec/given/rspec1_given.rb +0 -11
  57. data/lib/rspec/given/version.rb +0 -10
  58. data/spec/lib/rspec/given/failure_spec.rb +0 -17
  59. data/spec/lib/rspec/given/file_cache_spec.rb +0 -28
  60. data/spec/lib/rspec/given/line_extractor_spec.rb +0 -86
@@ -5,33 +5,33 @@ describe "Configuration Options" do
5
5
 
6
6
  describe "inherited options" do
7
7
  context "Outer" do
8
- _rgc_context_info[:name] = "Outer"
9
- _rgc_context_info[:outer] = true
8
+ _Gvn_context_info[:name] = "Outer"
9
+ _Gvn_context_info[:outer] = true
10
10
 
11
- Then { _rg_info(:name).should == "Outer" }
12
- Then { _rg_info(:outer).should == true }
13
- Then { _rg_info(:inner).should == nil }
11
+ Then { _gvn_info(:name).should == "Outer" }
12
+ Then { _gvn_info(:outer).should == true }
13
+ Then { _gvn_info(:inner).should == nil }
14
14
 
15
15
  context "Inner" do
16
- _rgc_context_info[:name] = "Inner"
17
- _rgc_context_info[:inner] = true
16
+ _Gvn_context_info[:name] = "Inner"
17
+ _Gvn_context_info[:inner] = true
18
18
 
19
- Then { _rg_info(:name).should == "Inner" }
20
- Then { _rg_info(:outer).should == true }
21
- Then { _rg_info(:inner).should == true }
19
+ Then { _gvn_info(:name).should == "Inner" }
20
+ Then { _gvn_info(:outer).should == true }
21
+ Then { _gvn_info(:inner).should == true }
22
22
  end
23
23
  end
24
24
  end
25
25
 
26
26
  describe "Global natural assertion configuration" do
27
- unless RSpec::Given::NATURAL_ASSERTIONS_SUPPORTED
27
+ unless Given::NATURAL_ASSERTIONS_SUPPORTED
28
28
  before do
29
29
  pending "Natural assertions are not supported in JRuby"
30
30
  end
31
31
  end
32
32
 
33
33
  before do
34
- RSpec::Given.use_natural_assertions false
34
+ Given.use_natural_assertions false
35
35
  end
36
36
 
37
37
  Given(:rspec) { false }
@@ -39,25 +39,25 @@ describe "Configuration Options" do
39
39
  Given(:nassert) { double(:using_rspec_assertion? => rspec, :has_content? => content) }
40
40
 
41
41
  after do
42
- RSpec::Given.use_natural_assertions false
42
+ Given.use_natural_assertions false
43
43
  end
44
44
 
45
45
  context "with no explicit word on natural assertions" do
46
- Then { _rg_need_na_message?(nassert).should be_false }
46
+ Then { _gvn_need_na_message?(nassert).should be_false }
47
47
 
48
48
  context "overridden locally" do
49
49
  use_natural_assertions_if_supported
50
- Then { _rg_need_na_message?(nassert).should be_true }
50
+ Then { _gvn_need_na_message?(nassert).should be_true }
51
51
  end
52
52
  end
53
53
 
54
54
  context "with global configuration enabled" do
55
- When { RSpec::Given.use_natural_assertions }
56
- Then { _rg_need_na_message?(nassert).should be_true }
55
+ When { Given.use_natural_assertions }
56
+ Then { _gvn_need_na_message?(nassert).should be_true }
57
57
 
58
58
  context "overridden locally" do
59
59
  use_natural_assertions false
60
- Then { _rg_need_na_message?(nassert).should be_false }
60
+ Then { _gvn_need_na_message?(nassert).should be_false }
61
61
  end
62
62
 
63
63
  context "with rspec assertion" do
@@ -67,71 +67,71 @@ describe "Configuration Options" do
67
67
  # If RSpec was successfully patched to record matchers,
68
68
  # then the "need NA" logic will ignore possible matches in
69
69
  # the source code.
70
- _rg_need_na_message?(nassert).should be_true
70
+ _gvn_need_na_message?(nassert).should be_true
71
71
  else
72
72
  # If RSpec was not successfully patched to record
73
73
  # matchers, then the "need NA" logic will check for
74
74
  # should/expect in the source.
75
- _rg_need_na_message?(nassert).should be_false
75
+ _gvn_need_na_message?(nassert).should be_false
76
76
  end
77
77
  }
78
78
  end
79
79
 
80
80
  context "without rspec assertion" do
81
81
  Given(:rspec) { false }
82
- Then { _rg_need_na_message?(nassert).should be_true }
82
+ Then { _gvn_need_na_message?(nassert).should be_true }
83
83
  end
84
84
 
85
85
  context "without rspec assertion and no content" do
86
86
  Given(:rspec) { false }
87
87
  Given(:content) { false }
88
- Then { _rg_need_na_message?(nassert).should be_false }
88
+ Then { _gvn_need_na_message?(nassert).should be_false }
89
89
  end
90
90
  end
91
91
 
92
92
  context "with global configuration set to always" do
93
- When { RSpec::Given.use_natural_assertions :always }
94
- Then { _rg_need_na_message?(nassert).should be_true }
93
+ When { Given.use_natural_assertions :always }
94
+ Then { _gvn_need_na_message?(nassert).should be_true }
95
95
 
96
96
  context "overridden locally" do
97
97
  use_natural_assertions false
98
- Then { _rg_need_na_message?(nassert).should be_false }
98
+ Then { _gvn_need_na_message?(nassert).should be_false }
99
99
  end
100
100
 
101
101
  context "with rspec assertion" do
102
102
  Given(:rspec) { true }
103
- Then { _rg_need_na_message?(nassert).should be_true }
103
+ Then { _gvn_need_na_message?(nassert).should be_true }
104
104
  end
105
105
 
106
106
  context "without rspec assertion" do
107
107
  Given(:rspec) { false }
108
- Then { _rg_need_na_message?(nassert).should be_true }
108
+ Then { _gvn_need_na_message?(nassert).should be_true }
109
109
  end
110
110
 
111
111
  context "without rspec assertion and no content" do
112
112
  Given(:rspec) { false }
113
113
  Given(:content) { false }
114
- Then { _rg_need_na_message?(nassert).should be_false }
114
+ Then { _gvn_need_na_message?(nassert).should be_false }
115
115
  end
116
116
  end
117
117
 
118
118
  context "with global configuration disabled" do
119
- When { RSpec::Given.use_natural_assertions false }
120
- Then { _rg_need_na_message?(nassert).should be_false }
119
+ When { Given.use_natural_assertions false }
120
+ Then { _gvn_need_na_message?(nassert).should be_false }
121
121
 
122
122
  context "overridden locally" do
123
123
  use_natural_assertions_if_supported(true)
124
- Then { _rg_need_na_message?(nassert).should be_true }
124
+ Then { _gvn_need_na_message?(nassert).should be_true }
125
125
  end
126
126
 
127
127
  context "with rspec assertion" do
128
128
  Given(:rspec) { true }
129
- Then { _rg_need_na_message?(nassert).should be_false }
129
+ Then { _gvn_need_na_message?(nassert).should be_false }
130
130
  end
131
131
 
132
132
  context "without rspec assertion" do
133
133
  Given(:rspec) { false }
134
- Then { _rg_need_na_message?(nassert).should be_false }
134
+ Then { _gvn_need_na_message?(nassert).should be_false }
135
135
  end
136
136
  end
137
137
 
data/spec/spec_helper.rb CHANGED
@@ -6,3 +6,23 @@ dir = File.dirname(__FILE__)
6
6
  Dir[dir + "/support/*.rb"].each do |fn|
7
7
  load fn
8
8
  end
9
+
10
+ def given_assert_equal(expected, actual)
11
+ actual.should == expected
12
+ end
13
+
14
+ def given_assert(cond)
15
+ cond.should be_true
16
+ end
17
+
18
+ def given_assert_match(pattern, actual)
19
+ actual.should =~ pattern
20
+ end
21
+
22
+ def given_assert_not_match(pattern, actual)
23
+ actual.should_not =~ pattern
24
+ end
25
+
26
+ def given_assert_raises(error, pattern=nil, &block)
27
+ block.should raise_error(error, pattern)
28
+ end
@@ -37,11 +37,11 @@ module Faux
37
37
 
38
38
  def na
39
39
  block = self.class.the_block
40
- RSpec::Given::NaturalAssertion.new("FauxThen", block, self, self.class._rgc_lines)
40
+ Given::NaturalAssertion.new("FauxThen", block, self, self.class._Gvn_lines)
41
41
  end
42
42
 
43
43
  def ev
44
- RSpec::Given::Evaluator.new(self, self.class.the_block)
44
+ Given::Evaluator.new(self, self.class.the_block)
45
45
  end
46
46
  end
47
47
  end
@@ -1,6 +1,6 @@
1
1
  module NaturalAssertionControl
2
2
  def use_natural_assertions_if_supported(enabled=true)
3
- if enabled && ! RSpec::Given::NATURAL_ASSERTIONS_SUPPORTED
3
+ if enabled && ! Given::NATURAL_ASSERTIONS_SUPPORTED
4
4
  Given {
5
5
  pending "Natural assertions are not supported in JRuby"
6
6
  }
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-given
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.5
4
+ version: 3.0.0.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-11 00:00:00.000000000 Z
11
+ date: 2013-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rspec
14
+ name: given_core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '2.12'
19
+ version: 3.0.0.beta.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '2.12'
26
+ version: 3.0.0.beta.2
27
27
  - !ruby/object:Gem::Dependency
28
- name: sorcerer
28
+ name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '>='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.7
33
+ version: '2.12'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.7
40
+ version: '2.12'
41
41
  description: |
42
42
  Given is an RSpec extension that allows the use of Given/When/Then
43
43
  terminology when defining specifications.
@@ -50,40 +50,32 @@ files:
50
50
  - Gemfile.lock
51
51
  - MIT-LICENSE
52
52
  - README.md
53
+ - README.old
53
54
  - Rakefile
55
+ - TODO
56
+ - lib/given.rb
54
57
  - lib/rspec-given.rb
55
58
  - lib/rspec/given.rb
56
- - lib/rspec/given/configure.rb
57
- - lib/rspec/given/core.rb
58
- - lib/rspec/given/evaluator.rb
59
- - lib/rspec/given/ext/numeric.rb
60
- - lib/rspec/given/extensions.rb
61
- - lib/rspec/given/failure.rb
62
- - lib/rspec/given/file_cache.rb
63
- - lib/rspec/given/fuzzy_number.rb
64
- - lib/rspec/given/fuzzy_shortcuts.rb
65
- - lib/rspec/given/have_failed.rb
66
- - lib/rspec/given/line_extractor.rb
67
- - lib/rspec/given/module_methods.rb
68
- - lib/rspec/given/monkey.rb
69
- - lib/rspec/given/natural_assertion.rb
70
- - lib/rspec/given/rspec1_given.rb
71
- - lib/rspec/given/version.rb
59
+ - rakelib/bundler_fix.rb
60
+ - rakelib/gemspec.rake
61
+ - rakelib/metrics.rake
62
+ - rakelib/preview.rake
72
63
  - test/before_test.rb
73
64
  - test/meme_test.rb
74
- - spec/lib/rspec/given/evaluator_spec.rb
75
- - spec/lib/rspec/given/ext/numeric_spec.rb
76
- - spec/lib/rspec/given/ext/numeric_specifications.rb
77
- - spec/lib/rspec/given/extensions_spec.rb
78
- - spec/lib/rspec/given/failure_spec.rb
79
- - spec/lib/rspec/given/file_cache_spec.rb
80
- - spec/lib/rspec/given/fuzzy_number_spec.rb
81
- - spec/lib/rspec/given/have_failed_spec.rb
82
- - spec/lib/rspec/given/lexical_purity_spec.rb
83
- - spec/lib/rspec/given/line_extractor_spec.rb
84
- - spec/lib/rspec/given/module_methods_spec.rb
85
- - spec/lib/rspec/given/natural_assertion_spec.rb
86
- - spec/lib/rspec/given/options_spec.rb
65
+ - spec/lib/given/evaluator_spec.rb
66
+ - spec/lib/given/ext/numeric_spec.rb
67
+ - spec/lib/given/ext/numeric_specifications.rb
68
+ - spec/lib/given/extensions_spec.rb
69
+ - spec/lib/given/failure_matcher_spec.rb
70
+ - spec/lib/given/failure_spec.rb
71
+ - spec/lib/given/file_cache_spec.rb
72
+ - spec/lib/given/fuzzy_number_spec.rb
73
+ - spec/lib/given/have_failed_spec.rb
74
+ - spec/lib/given/lexical_purity_spec.rb
75
+ - spec/lib/given/line_extractor_spec.rb
76
+ - spec/lib/given/module_methods_spec.rb
77
+ - spec/lib/given/natural_assertion_spec.rb
78
+ - spec/lib/given/options_spec.rb
87
79
  - spec/spec_helper.rb
88
80
  - spec/support/faux_then.rb
89
81
  - spec/support/natural_assertion_control.rb
@@ -95,11 +87,12 @@ files:
95
87
  - examples/integration/failing/module_nesting_spec.rb
96
88
  - examples/integration/failing/undefined_method_spec.rb
97
89
  - examples/integration/failing_messages_spec.rb
98
- - examples/integration/failing_spec.rb
99
90
  - examples/integration/focused_line_spec.rb
100
91
  - examples/integration/given_spec.rb
101
92
  - examples/integration/invariant_spec.rb
102
93
  - examples/integration/then_spec.rb
94
+ - examples/loader.rb
95
+ - examples/minitest_helper.rb
103
96
  - examples/other/line_example.rb
104
97
  - examples/stack/stack.rb
105
98
  - examples/stack/stack_spec.rb
@@ -126,9 +119,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
126
119
  version: 1.9.2
127
120
  required_rubygems_version: !ruby/object:Gem::Requirement
128
121
  requirements:
129
- - - '>='
122
+ - - '>'
130
123
  - !ruby/object:Gem::Version
131
- version: '0'
124
+ version: 1.3.1
132
125
  requirements: []
133
126
  rubyforge_project: given
134
127
  rubygems_version: 2.0.3
@@ -1,5 +0,0 @@
1
- require 'example_helper'
2
-
3
- describe "Failing Messages" do
4
-
5
- end
@@ -1,20 +0,0 @@
1
- require 'rspec'
2
- require 'rspec/given/extensions'
3
- require 'rspec/given/fuzzy_number'
4
- require 'rspec/given/have_failed'
5
- require 'rspec/given/module_methods'
6
-
7
- RSpec.configure do |c|
8
- c.extend(RSpec::Given::ClassExtensions)
9
- c.include(RSpec::Given::InstanceExtensions)
10
- c.include(RSpec::Given::HaveFailed)
11
- c.include(RSpec::Given::Fuzzy)
12
-
13
- if c.respond_to?(:backtrace_exclusion_patterns)
14
- c.backtrace_exclusion_patterns << /lib\/rspec\/given/
15
- else
16
- c.backtrace_clean_patterns << /lib\/rspec\/given/
17
- end
18
-
19
- RSpec::Given.detect_formatters(c)
20
- end
@@ -1,9 +0,0 @@
1
-
2
- # Require all the core features
3
-
4
- require 'rspec/given/version'
5
- require 'rspec/given/module_methods'
6
- require 'rspec/given/file_cache'
7
- require 'rspec/given/line_extractor'
8
- require 'rspec/given/extensions'
9
- require 'rspec/given/failure'
@@ -1,39 +0,0 @@
1
- module RSpec
2
- module Given
3
- class EvalErr
4
- def initialize(str)
5
- @string = str
6
- end
7
- def size
8
- inspect.size
9
- end
10
- def to_s
11
- @string
12
- end
13
- def inspect
14
- @string
15
- end
16
- end
17
-
18
- class Evaluator
19
- def initialize(example, block)
20
- @example = example
21
- @block = block
22
- end
23
-
24
- def eval_string(exp_string)
25
- eval_in_context(exp_string).inspect
26
- rescue StandardError => ex
27
- EvalErr.new("#{ex.class}: #{ex.message}")
28
- end
29
-
30
- private
31
-
32
- def eval_in_context(exp_string)
33
- exp_proc = "proc { #{exp_string} }"
34
- blk = eval(exp_proc, @block.binding)
35
- @example.instance_eval(&blk)
36
- end
37
- end
38
- end
39
- end
@@ -1,32 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module RSpec
3
- module Given
4
- module Ext
5
- module Numeric
6
-
7
- def ±(del=nil)
8
- result = RSpec::Given::Fuzzy::FuzzyNumber.new(self)
9
- result.delta(del) if del
10
- result
11
- end
12
-
13
- def ‰(percentage=nil)
14
- result = RSpec::Given::Fuzzy::FuzzyNumber.new(self)
15
- result.percent(percentage) if percentage
16
- result
17
- end
18
-
19
- def €(neps=nil)
20
- result = RSpec::Given::Fuzzy::FuzzyNumber.new(self)
21
- result.epsilon(neps) if neps
22
- result
23
- end
24
-
25
- end
26
- end
27
- end
28
- end
29
-
30
- class Numeric
31
- include RSpec::Given::Ext::Numeric
32
- end