cucumber-core 1.0.0.beta.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/CONTRIBUTING.md +14 -0
- data/HISTORY.md +14 -1
- data/README.md +34 -33
- data/lib/cucumber/core.rb +3 -5
- data/lib/cucumber/core/ast/background.rb +13 -2
- data/lib/cucumber/core/ast/comment.rb +8 -2
- data/lib/cucumber/core/ast/examples_table.rb +14 -5
- data/lib/cucumber/core/ast/feature.rb +15 -6
- data/lib/cucumber/core/ast/scenario.rb +17 -4
- data/lib/cucumber/core/ast/scenario_outline.rb +20 -8
- data/lib/cucumber/core/ast/tag.rb +5 -3
- data/lib/cucumber/core/compiler.rb +39 -7
- data/lib/cucumber/core/filter.rb +83 -0
- data/lib/cucumber/core/gherkin/ast_builder.rb +7 -2
- data/lib/cucumber/core/gherkin/document.rb +5 -2
- data/lib/cucumber/core/gherkin/parser.rb +6 -1
- data/lib/cucumber/core/test/action.rb +8 -8
- data/lib/cucumber/core/test/around_hook.rb +19 -0
- data/lib/cucumber/core/test/case.rb +6 -4
- data/lib/cucumber/core/test/filters/locations_filter.rb +3 -6
- data/lib/cucumber/core/test/filters/name_filter.rb +3 -7
- data/lib/cucumber/core/test/filters/tag_filter.rb +4 -2
- data/lib/cucumber/core/test/result.rb +5 -7
- data/lib/cucumber/core/test/runner.rb +39 -40
- data/lib/cucumber/core/test/step.rb +7 -10
- data/lib/cucumber/core/version.rb +1 -1
- data/spec/capture_warnings.rb +5 -0
- data/spec/cucumber/core/filter_spec.rb +100 -0
- data/spec/cucumber/core/gherkin/parser_spec.rb +0 -1
- data/spec/cucumber/core/test/action_spec.rb +29 -31
- data/spec/cucumber/core/test/runner_spec.rb +5 -5
- data/spec/cucumber/core/test/step_spec.rb +18 -9
- data/spec/cucumber/core_spec.rb +40 -172
- metadata +11 -16
- data/lib/cucumber/core/test/hooks.rb +0 -93
- data/lib/cucumber/core/test/mapper.rb +0 -150
- data/lib/cucumber/initializer.rb +0 -18
- data/spec/cucumber/core/test/hooks_spec.rb +0 -30
- data/spec/cucumber/core/test/mapper_spec.rb +0 -203
- data/spec/cucumber/initializer_spec.rb +0 -49
@@ -1,49 +0,0 @@
|
|
1
|
-
require 'cucumber/initializer'
|
2
|
-
|
3
|
-
module Cucumber
|
4
|
-
describe 'generating initializers' do
|
5
|
-
class Book
|
6
|
-
include Cucumber.initializer(:title, :author)
|
7
|
-
|
8
|
-
def description
|
9
|
-
"#{title} by #{author}"
|
10
|
-
end
|
11
|
-
|
12
|
-
def upcase!
|
13
|
-
@title.upcase!
|
14
|
-
@author.upcase!
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
let(:cucumber_book) { Book.new('The Cucumber Book', 'Matt Wynne') }
|
19
|
-
|
20
|
-
it 'raises an ArgumentError when initialized with the wrong number of arguments' do
|
21
|
-
expect { Book.new() }.to raise_error(ArgumentError, 'wrong number of arguments (0 for 2)')
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'creates a private reader for the attributes' do
|
25
|
-
expect { cucumber_book.title }.to raise_error NoMethodError
|
26
|
-
expect { cucumber_book.author }.to raise_error NoMethodError
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'creates readers for the attributes' do
|
30
|
-
expect( cucumber_book.description ).to eq 'The Cucumber Book by Matt Wynne'
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'creates instance variables for the attributes' do
|
34
|
-
cucumber_book.upcase!
|
35
|
-
expect( cucumber_book.description ).to eq 'THE CUCUMBER BOOK by MATT WYNNE'
|
36
|
-
end
|
37
|
-
|
38
|
-
context 'with an overridden reader' do
|
39
|
-
class Score
|
40
|
-
include Cucumber.initializer(:score)
|
41
|
-
attr_reader :score
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'makes the reader public' do
|
45
|
-
expect { Score.new(12).score }.to_not raise_error
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|