jarib-cuketagger 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ spec = Gem::Specification.new do |s|
21
21
  s.files = %w[Rakefile README.markdown] + Dir['lib/**/*']
22
22
  s.bindir = 'bin'
23
23
  s.executables = Dir['bin/*'].map { |f| File.basename(f) }
24
- s.add_runtime_dependency 'cucumber', '>= 0.3.96'
24
+ s.add_runtime_dependency 'cucumber', '>= 0.3.103'
25
25
  end
26
26
 
27
27
  Rake::GemPackageTask.new(spec) do |pkg|
@@ -6,7 +6,5 @@ require "cucumber/formatter/pretty"
6
6
  require "set"
7
7
 
8
8
  require "cuketagger/version"
9
- require "cuketagger/tag_visitor"
9
+ require "cuketagger/tag_formatter"
10
10
  require "cuketagger/tagger"
11
-
12
-
@@ -0,0 +1,35 @@
1
+ module CukeTagger
2
+ module TagFormatter
3
+ attr_accessor :tagger
4
+
5
+ def before_feature(feature)
6
+ @__current_feature = feature
7
+ super
8
+ end
9
+
10
+ def before_feature_element(element)
11
+ @__current_element = element
12
+ super
13
+ end
14
+
15
+ def after_feature_element(element)
16
+ @__current_element = nil
17
+ super
18
+ end
19
+
20
+ def before_tags(tags)
21
+ @tagger.process(@__current_feature, @__current_element, tags.instance_variable_get("@tag_names"))
22
+ end
23
+
24
+ private
25
+
26
+ def record_tag_occurrences(*args)
27
+ # override to avoid error if options[:include_tags] is nil
28
+ end
29
+
30
+ def print_summary(*args)
31
+ # override
32
+ end
33
+
34
+ end
35
+ end
@@ -30,10 +30,11 @@ module CukeTagger
30
30
  end
31
31
 
32
32
  formatter = Cucumber::Formatter::Pretty.new(step_mother, $stdout, opts)
33
- formatter.extend(TagVisitor)
33
+ formatter.extend(TagFormatter)
34
34
  formatter.tagger = self
35
35
 
36
- features.accept formatter
36
+ walker = Cucumber::Ast::TreeWalker.new(step_mother, [formatter], opts)
37
+ walker.visit_features features
37
38
  end
38
39
 
39
40
  def process(feature, element, tag_names)
@@ -42,22 +43,23 @@ module CukeTagger
42
43
  alterations.each do |op, tag_name|
43
44
  case op
44
45
  when :add
45
- tag_names.push tag_name
46
+ tag_names.push "@#{tag_name}"
46
47
  when :remove
47
- tag_names.delete tag_name
48
+ tag_names.delete "@#{tag_name}"
48
49
  when :replace
49
- idx = tag_names.index tag_name.first
50
+ idx = tag_names.index "@#{tag_name.first}"
50
51
  if idx.nil?
51
52
  $stderr.puts "expected #{tag_name.first.inspect} at #{file_and_line_for(feature, element).join(":")}, skipping"
52
53
  else
53
- tag_names[idx] = tag_name.last
54
+ tag_names[idx] = "@#{tag_name.last}"
54
55
  end
55
56
  end
56
57
  end
57
58
  end
58
59
 
59
60
  def should_alter?(feature, element)
60
- features_to_change.include? file_and_line_for(feature, element)
61
+ fl = file_and_line_for(feature, element)
62
+ features_to_change.include? fl
61
63
  end
62
64
 
63
65
  private
@@ -1,3 +1,3 @@
1
1
  module CukeTagger
2
- Version = "0.7.1"
2
+ Version = "0.7.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jarib-cuketagger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jari
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-09-02 00:00:00 -07:00
13
+ date: 2009-09-24 00:00:00 -07:00
14
14
  default_executable: cuketagger
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -21,7 +21,7 @@ dependencies:
21
21
  requirements:
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: 0.3.96
24
+ version: 0.3.103
25
25
  version:
26
26
  description: batch tagging of cucumber features and scenarios
27
27
  email: jari.bakken@gmail.com
@@ -35,7 +35,7 @@ files:
35
35
  - Rakefile
36
36
  - README.markdown
37
37
  - lib/cuketagger
38
- - lib/cuketagger/tag_visitor.rb
38
+ - lib/cuketagger/tag_formatter.rb
39
39
  - lib/cuketagger/tagger.rb
40
40
  - lib/cuketagger/version.rb
41
41
  - lib/cuketagger.rb
@@ -1,28 +0,0 @@
1
- module CukeTagger
2
- module TagVisitor
3
- attr_accessor :tagger
4
-
5
- def visit_feature(feature)
6
- @current_feature = feature
7
- super
8
- end
9
-
10
- def visit_feature_element(element)
11
- @current_element = element
12
- super
13
- @current_element = nil
14
- end
15
-
16
- def visit_tags(tags)
17
- @tagger.process(@current_feature, @current_element, tags.instance_variable_get("@tag_names"))
18
- super
19
- end
20
-
21
- private
22
-
23
- def record_tag_occurrences(*args)
24
- # override to avoid error if options[:include_tags] is nil
25
- end
26
-
27
- end
28
- end