cucumberator 0.0.4 → 0.0.5

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.
data/README.md CHANGED
@@ -40,8 +40,8 @@ and then run this feature file, watch your console for prompt to show up. Enjoy
40
40
 
41
41
  ## TODO
42
42
 
43
- * autocomplete for available steps
44
43
  * tests
44
+ * "next" command to execute next step from scenario and stop
45
45
 
46
46
  ## SUGGESTIONS?
47
47
 
data/cucumberator.gemspec CHANGED
@@ -17,6 +17,6 @@ Gem::Specification.new do |s|
17
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
  s.require_paths = ["lib"]
19
19
 
20
- s.add_dependency 'cucumber', '~> 1.0.2'
21
- s.add_dependency 'cucumber-rails', '~> 1.0.2'
20
+ s.add_dependency 'cucumber', '> 1.0.2'
21
+ s.add_dependency 'cucumber-rails', '> 1.0.2'
22
22
  end
@@ -1,3 +1,3 @@
1
1
  module Cucumberator
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -19,7 +19,18 @@ module Cucumberator
19
19
  end
20
20
 
21
21
  def set_autocomplete
22
- commands = %w(exit exit-all help last-step save undo)
22
+ commands = %w(exit exit-all help last-step save undo next steps)
23
+ @steps = scenario.instance_variable_get("@current_visitor").step_mother
24
+ .instance_variable_get("@support_code").step_definitions.map{|sd| sd.regexp_source }
25
+
26
+ @steps.each do |s|
27
+ # remove typical start/end regexp parts
28
+ step = s.gsub(/^\/\^|\$\/$/,'')
29
+ # every step is equal, no matter if When/Then/And, so combining everything for autocomplete
30
+ commands << "When #{step}" << "Then #{step}" << "And #{step}"
31
+ end
32
+
33
+ Readline.basic_word_break_characters = ""; # no break chars = no autobreaking for completion input
23
34
  Readline.completion_proc = proc{|s| commands.grep( /^#{Regexp.escape(s)}/ ) }
24
35
  end
25
36
 
@@ -50,6 +61,12 @@ module Cucumberator
50
61
  when "undo"
51
62
  undo
52
63
 
64
+ when "next"
65
+ execute_next_step
66
+
67
+ when "steps"
68
+ display_steps
69
+
53
70
  when ""
54
71
  save_empty_line
55
72
 
@@ -77,6 +94,8 @@ module Cucumberator
77
94
  puts ":: save - force-saves last step into current feature file"
78
95
  puts ":: last-step - display last executed step (to be saved on 'save' command)"
79
96
  puts ":: undo - remove last saved line from feature file"
97
+ #puts ":: next - execute next step and stop"
98
+ puts ":: steps - display available steps"
80
99
  puts ":: exit - exits current scenario"
81
100
  puts ":: exit-all - exists whole Cucumber feature"
82
101
  puts ":: help - display this notification"
@@ -139,6 +158,19 @@ module Cucumberator
139
158
  self.saved_stack.pop
140
159
  end
141
160
 
161
+ # TODO: find a way to execute next step & stop
162
+ def execute_next_step
163
+ puts ":: Sorry, not available yet"
164
+ end
165
+
166
+ def display_steps
167
+ if @steps and @steps.size > 0
168
+ puts ":: Yay, you have #{@steps.size} steps in your pocket:"
169
+ @steps.each{|s| puts s }
170
+ else
171
+ puts ":: Sorry, no steps detected?"
172
+ end
173
+ end
142
174
 
143
175
  ## HELPERS
144
176
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumberator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,30 +9,30 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-30 00:00:00.000000000Z
12
+ date: 2011-10-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
16
- requirement: &15633280 !ruby/object:Gem::Requirement
16
+ requirement: &23133960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>'
20
20
  - !ruby/object:Gem::Version
21
21
  version: 1.0.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *15633280
24
+ version_requirements: *23133960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: cucumber-rails
27
- requirement: &15625620 !ruby/object:Gem::Requirement
27
+ requirement: &23182020 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
- - - ~>
30
+ - - ! '>'
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.0.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *15625620
35
+ version_requirements: *23182020
36
36
  description: Prompt for writing Cucumber tests
37
37
  email:
38
38
  - vidmantas@kabosis.lt
@@ -78,5 +78,5 @@ rubyforge_project:
78
78
  rubygems_version: 1.8.10
79
79
  signing_key:
80
80
  specification_version: 3
81
- summary: cucumberator-0.0.4
81
+ summary: cucumberator-0.0.5
82
82
  test_files: []