jcukeforker 0.2.6 → 0.2.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 624cde7fd15fb72fdfa5b749dde6041a09695b27
4
- data.tar.gz: eb0d4416fe95194e6547de3e0ead5236002d08db
3
+ metadata.gz: 978ddf1cb3698dff766552c5ea8e9fcb9305db4b
4
+ data.tar.gz: 80ca98389435dd26f3ee2373f21fac2472e88180
5
5
  SHA512:
6
- metadata.gz: bf21e8272ccb037a6691218e5e21f522d1df072cd5e77ed84505dd72b27afa36102c379b91f4fc6be4cf2b6622199ef556a7afda088d280bcb2a165150ec993b
7
- data.tar.gz: 2efb490171b37a3e23b47faef16e530df5b6f30080cea84ffee8367c39c2cc71b34a35f4dd88b7ef9e6a56ede4180dfbcecd3ab346d03e0c82bce07eaf455797
6
+ metadata.gz: 2d1012319bce8c50e9b32e863daf79db0de067f1712e2444bab524a9411f0d241d7d84345ba0828c1a3548e8b654e593c54927d5cac111e27ddf74b740441442
7
+ data.tar.gz: 929abf585753b5ae7f60425f8aa980f6f53cad733f9a155f85463c6b1b1bb77875cc506ad95dc07d32c443dc90b11c95f767419c095bd8727c50546f02975c28
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - jruby-19mode
4
+ - 2.0.0
5
+ - 2.1.0
data/README.mdown CHANGED
@@ -5,6 +5,7 @@ Forking cukes and VNC displays.
5
5
  Jcukeforker is a fork of cukeforker desgined for jruby.
6
6
 
7
7
  [![Gem Version](https://badge.fury.io/rb/jcukeforker.svg)](http://badge.fury.io/rb/jcukeforker)
8
+ [![Build Status](https://secure.travis-ci.org/jesg/jcukeforker.png)](http://travis-ci.org/jesg/jcukeforker)
8
9
 
9
10
  ### NB!
10
11
 
@@ -27,10 +28,10 @@ to avoid this.
27
28
  # parallelize per scenario, with one JUnit XML file per scenario.
28
29
  JCukeForker::Runner.run JCukeForker::Scenarios.tagged(%W[@edition ~@wip])
29
30
  :extra_args => %W[-f JCukeForker::Formatters::JunitScenarioFormatter --out results/junit]
30
-
31
+
31
32
  # setup with vncserver and screen recording
32
33
  JCukeForker::Runner.run Dir['features/**/*.feature'],
33
- :vnc => %W[-geometry 1280x1024 -depth 24 -dpi 96]
34
+ :vnc => %W[-geometry 1280x1024 -depth 24 -dpi 96],
34
35
  :record => {:ext => 'mp4', :codec => 'mpeg4', :frame_size => '1280x1024', :frame_rate => '5'}
35
36
  ```
36
37
 
@@ -49,4 +50,3 @@ Copyright
49
50
  =========
50
51
 
51
52
  Copyright (c) 2011-2014 Jari Bakken. See LICENSE for details.
52
-
@@ -11,18 +11,30 @@ module JCukeForker
11
11
 
12
12
  def visit_feature_element(feature_element)
13
13
  if @tag_expression.evaluate(feature_element.source_tags)
14
- line_number = if feature_element.respond_to?(:line)
15
- feature_element.line
16
- else
17
- feature_element.location.line
18
- end
19
-
20
- @scenarios << [feature_element.feature.file, line_number].join(':')
14
+ if feature_element.respond_to?(:each_example_row)
15
+ feature_element.each_example_row do |row|
16
+ #TODO remove reflection
17
+ build_scenario(feature_element, row.instance_variable_get(:@cells).first)
18
+ end
19
+ else
20
+ build_scenario(feature_element, feature_element)
21
+ end
21
22
  end
22
23
  end
23
24
 
24
25
  def method_missing(*args)
25
26
  end
27
+
28
+ private
29
+
30
+ def build_scenario(feature_element, sub_element)
31
+ line_number = if sub_element.respond_to?(:line)
32
+ sub_element.line
33
+ else
34
+ sub_element.location.line
35
+ end
36
+ @scenarios << [feature_element.feature.file, line_number].join(':')
37
+ end
26
38
  end
27
39
  end
28
40
  end
@@ -1,3 +1,3 @@
1
1
  module JCukeForker
2
- VERSION = "0.2.6"
2
+ VERSION = "0.2.7"
3
3
  end
@@ -27,10 +27,12 @@ module JCukeForker::Formatters
27
27
  logger = ScenarioLineLogger.new
28
28
 
29
29
  feature = double("Cucumber::Ast::Feature")
30
- location = double("Cucumber::Ast::Location", :line => 4)
30
+ row = double("Cucumber::Ast::OutlineTable::ExampleRow")
31
+ cell = double("Cucumber::Ast::Table::Cell", :line => 4)
31
32
  feature_element = Cucumber::Ast::ScenarioOutline.new(*Array.new(11) {|a| double(a, :each => true) })
32
- feature_element.stub(:location => location)
33
+ feature_element.stub(:each_example_row).and_yield(row)
33
34
 
35
+ row.should_receive(:instance_variable_get).with(:@cells).and_return([cell])
34
36
  feature.should_receive(:file).and_return('features/test1.feature')
35
37
  feature_element.should_receive(:source_tags).and_return('')
36
38
  feature_element.should_receive(:feature).and_return(feature)
@@ -39,7 +39,7 @@ module JCukeForker
39
39
  all_scenarios[0].should == "features/test1.feature:2"
40
40
  all_scenarios[1].should == "features/test1.feature:5"
41
41
  all_scenarios[2].should == "features/test2.feature:3"
42
- all_scenarios[3].should == "features/test2.feature:6"
42
+ all_scenarios[3].should == "features/test2.feature:10"
43
43
  end
44
44
 
45
45
  it "returns all scenarios and their line numbers" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jcukeforker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Gowan
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-13 00:00:00.000000000 Z
12
+ date: 2014-12-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
@@ -119,6 +119,7 @@ extra_rdoc_files: []
119
119
  files:
120
120
  - .gitignore
121
121
  - .rspec
122
+ - .travis.yml
122
123
  - Gemfile
123
124
  - LICENSE
124
125
  - README.mdown