stepdown 1.0.1 → 1.0.2

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: 28dff0daab83a979840d182b9efdcada6c958861
4
- data.tar.gz: 0e172af55a83cfcd9a50e661fc99c907260f483d
3
+ metadata.gz: 33164129ac3bed55b04982c7468555c3e1058bdb
4
+ data.tar.gz: 96504134c823975da8fe0288ab8bdbda19c1dd99
5
5
  SHA512:
6
- metadata.gz: 942b4276a92f9820cb14c80225eb615155344bbcac4c874b6506f6b2d0afe8a8663e342551f4a0e79573538b5aaaf2d7975925b483a4a57fcb08b1fc6ed8c853
7
- data.tar.gz: 8ea4b89c294210380def272e33ded0a93672c781e20442b5e23aa4cb956d01f8711ccb1113391aef4dd9edcbe1388fa9f164bccd7fa8bb539aa67421ed628ee1
6
+ metadata.gz: 38194d27e8692fec98f6dd292a4f9e80df54c7645b4a728dde67584f2e3378026ab5b48997cc4840366d62032c0bb3493e4af8252a5202d8a0b03d2a2494e56a
7
+ data.tar.gz: aabc5045200206b0c2d8f04aa78de71b8587418288413d90e4330acc26fc716079154fc35ce4bd80d4df954fdf34d4e4e10a1b28caae62c48d99f81c8847df26
@@ -1,41 +1,41 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- stepdown (1.0.0)
5
- bundler (> 1.0)
4
+ stepdown (1.0.1)
5
+ bundler (~> 1.0)
6
6
  gherkin (~> 2.3)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- coderay (1.0.8)
12
- diff-lcs (1.2.4)
13
- gherkin (2.12.1)
11
+ coderay (1.1.0)
12
+ diff-lcs (1.2.5)
13
+ gherkin (2.12.2)
14
14
  multi_json (~> 1.3)
15
15
  method_source (0.8.1)
16
- multi_json (1.7.9)
17
- pry (0.9.10)
18
- coderay (~> 1.0.5)
19
- method_source (~> 0.8)
20
- slop (~> 3.3.1)
21
- rake (10.0.3)
22
- rspec (2.14.1)
23
- rspec-core (~> 2.14.0)
24
- rspec-expectations (~> 2.14.0)
25
- rspec-mocks (~> 2.14.0)
26
- rspec-core (2.14.5)
27
- rspec-expectations (2.14.1)
16
+ multi_json (1.10.1)
17
+ pry (0.10.1)
18
+ coderay (~> 1.1.0)
19
+ method_source (~> 0.8.1)
20
+ slop (~> 3.4)
21
+ rake (10.3.2)
22
+ rspec (2.99.0)
23
+ rspec-core (~> 2.99.0)
24
+ rspec-expectations (~> 2.99.0)
25
+ rspec-mocks (~> 2.99.0)
26
+ rspec-core (2.99.2)
27
+ rspec-expectations (2.99.2)
28
28
  diff-lcs (>= 1.1.3, < 2.0)
29
- rspec-mocks (2.14.3)
29
+ rspec-mocks (2.99.2)
30
30
  sass (3.2.5)
31
- slop (3.3.3)
31
+ slop (3.4.7)
32
32
 
33
33
  PLATFORMS
34
34
  ruby
35
35
 
36
36
  DEPENDENCIES
37
- pry
38
- rake
37
+ pry (~> 0.10)
38
+ rake (~> 10.0)
39
39
  rspec (~> 2.5)
40
40
  sass (~> 3.1)
41
41
  stepdown!
@@ -32,7 +32,7 @@ module Stepdown
32
32
  @features_dir = o
33
33
  end
34
34
 
35
- opts.on("--quiet", "-q", "Supress output") do |o|
35
+ opts.on("--quiet", "-q", "Suppress output") do |o|
36
36
  @quiet = true
37
37
  end
38
38
 
@@ -1,23 +1,9 @@
1
- require 'stepdown/step_group'
2
- require 'stepdown/step_usage'
3
1
  require 'delegate'
4
2
 
5
3
  module Stepdown
6
- class Reporter < Delegator
7
-
4
+ class Reporter < SimpleDelegator
8
5
  def initialize(statistics)
9
- @statistics = statistics
10
- super @statistics
6
+ super
11
7
  end
12
-
13
- def __getobj__
14
- @statistics
15
- end
16
-
17
- def __setobj__(statistics)
18
- @statistics = statistics
19
- end
20
-
21
8
  end
22
9
  end
23
-
@@ -1,3 +1,5 @@
1
+ require 'stepdown/step_group'
2
+ require 'stepdown/step_usage'
1
3
 
2
4
  module Stepdown
3
5
  class Statistics
@@ -18,5 +18,8 @@ module Stepdown
18
18
  self.id == other.id
19
19
  end
20
20
 
21
+ def to_s
22
+ regex.inspect.to_s
23
+ end
21
24
  end
22
- end
25
+ end
@@ -6,7 +6,6 @@ module Stepdown
6
6
 
7
7
  def initialize
8
8
  @steps = {}
9
- @addition_order = []
10
9
  end
11
10
 
12
11
  def add_step(id, regex)
@@ -15,7 +14,6 @@ module Stepdown
15
14
  else
16
15
  @steps[id] = Stepdown::Step.new(id, regex)
17
16
  @steps[id].count = 1
18
- @addition_order << id
19
17
  end
20
18
  end
21
19
 
@@ -24,7 +22,7 @@ module Stepdown
24
22
  end
25
23
 
26
24
  def each
27
- @addition_order.each{|id| yield @steps[id] }
25
+ @steps.each{|id, _| yield @steps[id] }
28
26
  end
29
27
 
30
28
  def [](id)
@@ -35,4 +33,4 @@ module Stepdown
35
33
  @steps.length
36
34
  end
37
35
  end
38
- end
36
+ end
@@ -35,7 +35,7 @@ module Stepdown
35
35
  step_collection[0..10].each do |step|
36
36
 
37
37
  next if step.regex.nil?
38
- base += "a--\"#{CGI.escape(CGI.escapeHTML(step.regex.inspect.to_s))}\" [weight=#{step.count}];"
38
+ base += "a--\"#{CGI.escape(CGI.escapeHTML(step.to_s))}\" [weight=#{step.count}];"
39
39
  #a [label=\"#{grouping.in_steps[0][:step].regex.inspect}\"]; a--b [penwidth=3,weight=2];b--d}"
40
40
  end
41
41
  base += "}"
@@ -18,6 +18,10 @@ module Stepdown
18
18
  define_step(regex,&block)
19
19
  end
20
20
 
21
+ def And(regex,&block)
22
+ define_step(regex,&block)
23
+ end
24
+
21
25
  def define_step(regex,&block)
22
26
  @steps << regex
23
27
  end
@@ -8,7 +8,7 @@ module Stepdown
8
8
  output = File.new(Stepdown.output_directory + '/analysis.txt', "w+")
9
9
 
10
10
  output.puts "Total number of scenarios: #{total_scenarios}"
11
- output.puts "Total numer of steps: #{total_steps}"
11
+ output.puts "Total number of steps: #{total_steps}"
12
12
  output.puts "Unused steps: #{unused_step_count}"
13
13
  output.puts "Steps per scenario: #{steps_per_scenario}"
14
14
  output.puts "Unique steps per scenario: #{unique_steps}"
@@ -18,22 +18,16 @@ module Stepdown
18
18
  usages.each{|use| output.puts used_step_line(use) }
19
19
 
20
20
  output.puts "Unused steps"
21
- unused.each{|use| output.puts unused_step_line(use) }
21
+ unused.each{|use| output.puts use.step }
22
22
 
23
23
  output.close
24
24
 
25
25
  puts "Report output to #{Stepdown.output_directory}/analysis.txt" unless Stepdown.quiet
26
-
27
26
  end
28
27
 
29
28
  def used_step_line(use)
30
- line = [use.step.regex.inspect, use.total_usage, use.number_scenarios, use.use_scenario]
29
+ line = [use.step, use.total_usage, use.number_scenarios, use.use_scenario]
31
30
  line.join("|")
32
31
  end
33
-
34
- def unused_step_line(use)
35
- use.step.regex.inspect
36
- end
37
-
38
32
  end
39
33
  end
@@ -1,3 +1,3 @@
1
1
  module Stepdown
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -57,6 +57,11 @@ describe Stepdown::StepInstance do
57
57
  @step_instance.line_matches("Then matched step").regex.should == /matched step/
58
58
  end
59
59
 
60
+ it "should parse And steps" do
61
+ @step_instance.And(/matched step/)
62
+ @step_instance.line_matches("And matched step").regex.should == /matched step/
63
+ end
64
+
60
65
  end
61
66
 
62
67
  describe "parsing step definitions" do
@@ -81,5 +86,11 @@ describe Stepdown::StepInstance do
81
86
  @step_instance.step_collection.should be_an_instance_of Stepdown::StepCollection
82
87
  @step_instance.step_collection.count.should == 1
83
88
  end
89
+
90
+ it "should define and steps" do
91
+ @step_instance.And(@regex)
92
+ @step_instance.step_collection.should be_an_instance_of Stepdown::StepCollection
93
+ @step_instance.step_collection.count.should == 1
94
+ end
84
95
  end
85
96
  end
@@ -17,11 +17,11 @@ Gem::Specification.new do |s|
17
17
  s.rubyforge_project = "stepdown"
18
18
 
19
19
  s.add_dependency('gherkin', '~> 2.3')
20
- s.add_dependency('bundler', '> 1.0')
20
+ s.add_dependency('bundler', '~> 1.0')
21
21
  s.add_development_dependency('rspec', "~> 2.5")
22
22
  s.add_development_dependency('sass', "~> 3.1")
23
- s.add_development_dependency('rake')
24
- s.add_development_dependency('pry')
23
+ s.add_development_dependency('rake', '~> 10.0')
24
+ s.add_development_dependency('pry', '~> 0.10')
25
25
 
26
26
  s.files = `git ls-files`.split("\n")
27
27
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -21,7 +21,7 @@
21
21
  <% grouping.step_collection.each do |step| %>
22
22
  <tr>
23
23
  <td><%= step.count %></td>
24
- <td><%= CGI.escapeHTML step.regex.inspect %></td>
24
+ <td><%= CGI.escapeHTML step.to_s %></td>
25
25
  </tr>
26
26
  <% end %>
27
27
  </tbody>
@@ -1,6 +1,6 @@
1
1
  <% usages_rest.each do |use| %>
2
2
  <tr>
3
- <td><%= use.step.regex.inspect %></td>
3
+ <td><%= use.step.to_s %></td>
4
4
  <td><%= use.total_usage %></td>
5
5
  <td><%= use.number_scenarios %></td>
6
6
  <td><%= use.use_scenario %></td>
@@ -125,7 +125,7 @@
125
125
 
126
126
  <% usages.each do |use| %>
127
127
  <tr>
128
- <td><%= use.step.regex.inspect %></td>
128
+ <td><%= use.step.to_s %></td>
129
129
  <td><%= use.total_usage %></td>
130
130
  <td><%= use.number_scenarios %></td>
131
131
  <td><%= use.use_scenario %></td>
@@ -144,7 +144,7 @@
144
144
 
145
145
  <% unused.each do |use| %>
146
146
  <tr>
147
- <td><%= use.step.regex.inspect %></td>
147
+ <td><%= use.step.to_s %></td>
148
148
  </tr>
149
149
  <% end %>
150
150
  </tbody>
@@ -193,7 +193,7 @@
193
193
  <% grouping.step_collection.each do |step| %>
194
194
  <tr>
195
195
  <td><%= step.count %></td>
196
- <td><%= CGI.escapeHTML(step.regex.inspect) %></td>
196
+ <td><%= CGI.escapeHTML(step.to_s) %></td>
197
197
  </tr>
198
198
  <% end %>
199
199
  </tbody>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stepdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Caffery
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-30 00:00:00.000000000 Z
11
+ date: 2014-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gherkin
@@ -28,14 +28,14 @@ dependencies:
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">"
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.0'
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
40
  version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
@@ -70,30 +70,30 @@ dependencies:
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '10.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '10.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '0.10'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '0.10'
97
97
  description: Stepdown allows you to see where your most used Cucumber steps are, your
98
98
  unused steps and how they are clustered
99
99
  email: