cucumberator 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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: []