macros4cuke 0.4.08 → 0.4.09
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 +8 -8
- data/.rubocop.yml +3 -0
- data/.travis.yml +6 -0
- data/CHANGELOG.md +4 -0
- data/README.md +5 -3
- data/features/{1_Basics → 1_the_basics}/README.md +0 -0
- data/features/{1_Basics → 1_the_basics}/demo01.feature +5 -5
- data/features/{2_Macros_with_arguments → 2_macros_with_arguments}/README.md +0 -0
- data/features/{2_Macros_with_arguments → 2_macros_with_arguments}/demo02.feature +10 -10
- data/features/{2_Macros_with_arguments → 2_macros_with_arguments}/demo03.feature +5 -5
- data/features/{3_Macros_with_table_arguments → 3_macros_with_table_arguments}/README.md +0 -0
- data/features/{3_Macros_with_table_arguments → 3_macros_with_table_arguments}/demo04.feature +5 -5
- data/features/{3_Macros_with_table_arguments → 3_macros_with_table_arguments}/demo05.feature +4 -4
- data/features/{4_Conditional_steps → 4_conditional_steps}/demo06.feature +18 -16
- data/features/{5_Goodies → 5_goodies}/demo07.feature +6 -5
- data/features/{5_Goodies → 5_goodies}/demo08.feature +0 -0
- data/features/step_definitions/demo_steps.rb +5 -4
- data/lib/macro_steps.rb +6 -6
- data/lib/macros4cuke/coll-walker-factory.rb +12 -12
- data/lib/macros4cuke/constants.rb +4 -4
- data/lib/macros4cuke/formatter/all-notifications.rb +8 -8
- data/lib/macros4cuke/formatter/to-gherkin.rb +2 -2
- data/lib/macros4cuke/formatter/to-null.rb +10 -10
- data/lib/macros4cuke/formatting-service.rb +74 -74
- data/lib/macros4cuke/macro-collection.rb +13 -13
- data/lib/macros4cuke/macro-step-support.rb +19 -12
- data/lib/macros4cuke/macro-step.rb +48 -48
- data/lib/macros4cuke/templating/engine.rb +79 -79
- data/lib/macros4cuke/templating/placeholder.rb +52 -52
- data/lib/macros4cuke/templating/section.rb +116 -116
- data/lib/macros4cuke/templating/template-element.rb +88 -88
- data/lib/macros4cuke/templating/unary-element.rb +37 -37
- data/lib/macros4cuke.rb +1 -1
- data/spec/macros4cuke/coll-walker-factory_spec.rb +269 -269
- data/spec/macros4cuke/formatter/to-gherkin_spec.rb +5 -5
- data/spec/macros4cuke/formatter/to-null_spec.rb +62 -62
- data/spec/macros4cuke/formatter/to-trace_spec.rb +8 -8
- data/spec/macros4cuke/formatting-service_spec.rb +7 -7
- data/spec/macros4cuke/macro-collection_spec.rb +3 -3
- data/spec/macros4cuke/macro-step-support_spec.rb +4 -4
- data/spec/macros4cuke/macro-step_spec.rb +8 -8
- data/spec/macros4cuke/templating/comment_spec.rb +45 -0
- data/spec/macros4cuke/templating/engine_spec.rb +23 -23
- data/spec/macros4cuke/templating/eo-line_spec.rb +39 -0
- data/spec/macros4cuke/templating/section_spec.rb +1 -1
- data/spec/macros4cuke/templating/static_text_spec.rb +45 -0
- data/spec/macros4cuke/use-sample-collection.rb +7 -7
- data/spec/spec_helper.rb +3 -3
- metadata +31 -14
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzVhNDZmNmRmNzk0MDExYTMzOGM2NTVhNzA1OGEyOWNkZmNkZmRjYw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZmM2MDc4NzJkODk0YzkyZjVlOTdlZGZlMThjZGQzNTg5ODRmOGE5OA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZGZkZjkxZGRlMzRiMGNkMGVhOWVlZmFlMWIzZTk0YjcyYTYzY2Y5OTU1YzQw
|
10
|
+
NzFiYWE3Nzg1MDg2MThkYzk3NTQ2ODE2MzYzYzMyNGVkMmY4ZGQ5NDYwNWYx
|
11
|
+
MTJjNzViYzVmMjQwOGY4NTM5Yzk4NWE4NmZjZjM5MDYyMTFhNzE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZGFiYjI0NWI3ODdmMTcwMzY5ZmNhM2IwYjY2ZWQ2OTBiMWYyOTFkMjdmNjJk
|
14
|
+
YWRhNWMzZTFkYTY2NjkxYTk2OGZiMzY3YjIwY2JkZDZiNTcyOWNiMGQ5ZGE0
|
15
|
+
ZjQyMDA0MzQwZGNkMWU3YmIzOWEzMzMwYjVhNzZhMzUwOGRmYzQ=
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
### 0.4.09 / 2014-03-13
|
2
|
+
* [CHANGE] Updated source files to comply to Rubocop 0.19.
|
3
|
+
* [CHANGE] File `.rubocop.yml`: Disabled FileName cop.
|
4
|
+
|
1
5
|
### 0.4.08 / 2014-02-08
|
2
6
|
* [NEW] Added some tutorial material in [Relish] (https://www.relishapp.com/famished-tiger/macros4cuke/docs)
|
3
7
|
* [CHANGE] `features` dir and feature files re-designed for publishing on Relish website.
|
data/README.md
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
Macros4Cuke
|
2
2
|
===========
|
3
|
+
_Extend Cucumber with macro-steps._
|
4
|
+
[Homepage](https://github.com/famished-tiger/Macros4Cuke)
|
5
|
+
[Documentation] (https://www.relishapp.com/famished-tiger/macros4cuke/docs)
|
6
|
+
|
3
7
|
[](https://travis-ci.org/famished-tiger/Macros4Cuke)
|
4
8
|
[](https://codeclimate.com/github/famished-tiger/Macros4Cuke.png)
|
5
9
|
[](http://badge.fury.io/rb/macros4cuke)
|
6
10
|
[](https://gemnasium.com/famished-tiger/Macros4Cuke)
|
7
11
|
|
8
|
-
_Add macros to your Cucumber scenarios._
|
9
|
-
[Homepage](https://github.com/famished-tiger/Macros4Cuke)
|
10
|
-
[Documentation] (https://www.relishapp.com/famished-tiger/macros4cuke/docs)
|
11
12
|
|
12
13
|
__Macros4Cuke__ is a Cucumber extension that adds a macro facility for your Cucumber scenarios.
|
13
14
|
With it, you can create any new step that replaces a sequence of sub-steps.
|
@@ -68,6 +69,7 @@ Macros4Cuke not only helps in getting rid of the repeated step sequences,
|
|
68
69
|
that are closer to the business logic.
|
69
70
|
|
70
71
|
See also the working examples in the ```features/``` folder.
|
72
|
+
Nicely formatted documentation extracted from these feature files is also available on the [Relish website](https://www.relishapp.com/famished-tiger/macros4cuke/docs)
|
71
73
|
|
72
74
|
## Setup ##
|
73
75
|
### Pre-requisites ###
|
File without changes
|
@@ -27,9 +27,9 @@ Scenario: Let's use the macro we created above
|
|
27
27
|
# The next step verifies that the steps from the macro were effectively executed.
|
28
28
|
Then I expect the following step trace:
|
29
29
|
"""
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
30
|
+
Given I landed in the homepage
|
31
|
+
When I click "Sign in"
|
32
|
+
And I fill in "Username" with "johndoe"
|
33
|
+
And I fill in "Password" with "unguessable"
|
34
|
+
And I click "Submit"
|
35
35
|
"""
|
File without changes
|
@@ -29,11 +29,11 @@ Scenario: Use the macro created above pass it a user id
|
|
29
29
|
# The next step verifies that the steps from the macro were effectively executed.
|
30
30
|
Then I expect the following step trace:
|
31
31
|
"""
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
Given I landed in the homepage
|
33
|
+
When I click "Sign in"
|
34
|
+
And I fill in "Username" with "guest"
|
35
|
+
And I fill in "Password" with "unguessable"
|
36
|
+
And I click "Submit"
|
37
37
|
"""
|
38
38
|
|
39
39
|
|
@@ -43,9 +43,9 @@ Scenario: Use the macro with another user id
|
|
43
43
|
# The next step verifies that the steps from the macro were effectively executed.
|
44
44
|
Then I expect the following step trace:
|
45
45
|
"""
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
46
|
+
Given I landed in the homepage
|
47
|
+
When I click "Sign in"
|
48
|
+
And I fill in "Username" with "me-again"
|
49
|
+
And I fill in "Password" with "unguessable"
|
50
|
+
And I click "Submit"
|
51
51
|
"""
|
@@ -26,10 +26,10 @@ Scenario: Using the macro with multiple arguments
|
|
26
26
|
# The next step verifies that the steps from the macro were effectively executed.
|
27
27
|
Then I expect the following step trace:
|
28
28
|
"""
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
29
|
+
Given I landed in the homepage
|
30
|
+
When I click "Sign in"
|
31
|
+
And I fill in "Username" with "jdoe"
|
32
|
+
And I fill in "Password" with "cosmic"
|
33
|
+
And I click "Submit"
|
34
34
|
"""
|
35
35
|
|
File without changes
|
data/features/{3_Macros_with_table_arguments → 3_macros_with_table_arguments}/demo04.feature
RENAMED
@@ -29,9 +29,9 @@ Scenario: Using the macro we created above
|
|
29
29
|
# The next step verifies that the steps from the macro were effectively executed.
|
30
30
|
Then I expect the following step trace:
|
31
31
|
"""
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
Given I landed in the homepage
|
33
|
+
When I click "Sign in"
|
34
|
+
And I fill in "Username" with "guest"
|
35
|
+
And I fill in "Password" with "unguessable"
|
36
|
+
And I click "Submit"
|
37
37
|
"""
|
data/features/{3_Macros_with_table_arguments → 3_macros_with_table_arguments}/demo05.feature
RENAMED
@@ -31,8 +31,8 @@ Scenario: Using the macro we created above
|
|
31
31
|
# The next step verifies that the steps from the macro were effectively executed.
|
32
32
|
Then I expect the following step trace:
|
33
33
|
"""
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
And I fill in "location" with "Nowhere-City"
|
35
|
+
And I fill in "email" with "nobody@example.com"
|
36
|
+
And I fill in "comment" with "First comment line<br/>Second comment line<br/>Third comment line"
|
37
|
+
And I click "Save"
|
38
38
|
"""
|
@@ -47,13 +47,14 @@ Feature: Define conditional substeps in a macro-step.
|
|
47
47
|
# The next step verifies that the optional steps from the macro were ignored.
|
48
48
|
Then I expect the following step trace:
|
49
49
|
"""
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
50
|
+
When I fill in "first_name" with "Alice"
|
51
|
+
And I fill in "last_name" with "Inn"
|
52
|
+
And I fill in "street_address" with "11, No Street"
|
53
|
+
And I fill in "zip" with ""
|
54
|
+
And I fill in "city" with "Nowhere-City"
|
55
|
+
And I fill in "country" with "Wonderland"
|
56
|
+
|
57
|
+
And I click "Save"
|
57
58
|
"""
|
58
59
|
|
59
60
|
|
@@ -72,14 +73,15 @@ Feature: Define conditional substeps in a macro-step.
|
|
72
73
|
# The next step verifies that the optional steps from the macro were ignored.
|
73
74
|
Then I expect the following step trace:
|
74
75
|
"""
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
76
|
+
When I fill in "first_name" with "Alice"
|
77
|
+
And I fill in "last_name" with "Inn"
|
78
|
+
And I fill in "street_address" with "11, No Street"
|
79
|
+
And I fill in "zip" with ""
|
80
|
+
And I fill in "city" with "Nowhere-City"
|
81
|
+
And I fill in "country" with "Wonderland"
|
82
|
+
And I fill in "email" with "alice.inn@wonder.land"
|
83
|
+
|
84
|
+
And I fill in "comment" with "No comment!"
|
85
|
+
And I click "Save"
|
84
86
|
"""
|
85
87
|
|
@@ -21,9 +21,10 @@ Scenario: Invoking the coarse-grained macro
|
|
21
21
|
# Check that the nested macro still works
|
22
22
|
Then I expect the following step trace:
|
23
23
|
"""
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
When I [enter my userid "guest" and password "unguessable"]
|
25
|
+
Given I landed in the homepage
|
26
|
+
When I click "Sign in"
|
27
|
+
And I fill in "Username" with "guest"
|
28
|
+
And I fill in "Password" with "unguessable"
|
29
|
+
And I click "Submit"
|
29
30
|
"""
|
File without changes
|
@@ -2,21 +2,22 @@
|
|
2
2
|
# A few step definitions for demo and testing purpose.
|
3
3
|
|
4
4
|
When(/^I landed in the homepage$/) do
|
5
|
-
trace_steps << 'Invoked step: ... I landed in the homepage'
|
5
|
+
#trace_steps << 'Invoked step: ... I landed in the homepage'
|
6
6
|
end
|
7
7
|
|
8
8
|
When(/^I click "([^"]*)"$/) do |element|
|
9
|
-
trace_steps << "Invoked step: ... I click \"#{element}\""
|
9
|
+
#trace_steps << "Invoked step: ... I click \"#{element}\""
|
10
10
|
end
|
11
11
|
|
12
12
|
|
13
13
|
When(/^I fill in "(.*?)" with "(.*?)"$/) do |element, text|
|
14
|
-
trace_steps << "Invoked step: ... I fill in \"#{element}\" with \"#{text}\""
|
14
|
+
#trace_steps << "Invoked step: ... I fill in \"#{element}\" with \"#{text}\""
|
15
15
|
end
|
16
16
|
|
17
17
|
|
18
18
|
Then(/^I expect the following step trace:$/) do |step_text|
|
19
|
-
trace_steps.should == step_text.split(/\r?\n|\n/)
|
19
|
+
#trace_steps.should == step_text.split(/\r?\n|\n/)
|
20
|
+
substeps_trace.chomp.should == step_text
|
20
21
|
end
|
21
22
|
|
22
23
|
|
data/lib/macro_steps.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# File: macro_steps.rb
|
2
|
-
# Purpose: step definitions that help to build macro-steps
|
2
|
+
# Purpose: step definitions that help to build macro-steps
|
3
3
|
# (i.e. a Cucumber step that is equivalent to a sequence of sub-steps)
|
4
4
|
|
5
5
|
require_relative './macros4cuke/macro-collection'
|
@@ -17,7 +17,7 @@ require_relative './macros4cuke/formatter/to-gherkin'
|
|
17
17
|
# And I fill in "Password" with "unguessable"
|
18
18
|
# And I click "Submit"
|
19
19
|
# """
|
20
|
-
# The regexp has two capturing group: one for the phrase,
|
20
|
+
# The regexp has two capturing group: one for the phrase,
|
21
21
|
# a second for the terminating colon (:)
|
22
22
|
# The regular expression uses the /x option in order to split it in pieces
|
23
23
|
Given(/^I\sdefine\sthe\sstep\s" # Fixed part of defining step
|
@@ -39,7 +39,7 @@ end
|
|
39
39
|
|
40
40
|
|
41
41
|
# This step is used to invoke a macro-step with a data table argument.
|
42
|
-
# Notice the presence of an ending colon character ':'
|
42
|
+
# Notice the presence of an ending colon character ':'
|
43
43
|
# after the closing bracket ']'
|
44
44
|
# Example:
|
45
45
|
# When I [enter my credentials as]:
|
@@ -52,7 +52,7 @@ When(/^I \[([^\]]+)\]:$/) do |macro_phrase, table_argument|
|
|
52
52
|
end
|
53
53
|
|
54
54
|
# This will call the macro with the given phrase.
|
55
|
-
# The second argument consists of an array
|
55
|
+
# The second argument consists of an array
|
56
56
|
# with couples of the kind: [argument name, actual value]
|
57
57
|
invoke_macro(macro_phrase, table_argument.raw)
|
58
58
|
end
|
@@ -60,13 +60,13 @@ end
|
|
60
60
|
|
61
61
|
# This step will list all the encountered macro-step definitions
|
62
62
|
# and will collect them in a single feature file.
|
63
|
-
# the file is saved in the current working directory
|
63
|
+
# the file is saved in the current working directory
|
64
64
|
# when Cucumber is closing down.
|
65
65
|
When(/I want to list all the macros in the file "([^"]+)"$/) do |filepath|
|
66
66
|
at_exit do
|
67
67
|
output = File.open(filepath, 'w')
|
68
68
|
formatter = Macros4Cuke::Formatter::ToGherkin.new(output)
|
69
|
-
|
69
|
+
|
70
70
|
service = Macros4Cuke::FormattingService.new
|
71
71
|
service.register(formatter)
|
72
72
|
service.start!(Macros4Cuke::MacroCollection.instance)
|
@@ -21,7 +21,7 @@ class CollWalkerFactory
|
|
21
21
|
backlog = collection.macro_steps.values
|
22
22
|
|
23
23
|
visitor = Enumerator.new do
|
24
|
-
|result_receiver|
|
24
|
+
|result_receiver| # 'result_receiver' is a Yielder
|
25
25
|
loop do
|
26
26
|
case current_node
|
27
27
|
when MacroCollection
|
@@ -81,36 +81,36 @@ class CollWalkerFactory
|
|
81
81
|
theBacklog.unshift(elem)
|
82
82
|
end
|
83
83
|
end
|
84
|
-
|
84
|
+
|
85
85
|
# Generate an on_step event
|
86
|
-
def emit_on_step(current_node, nesting_level, backlog)
|
86
|
+
def emit_on_step(current_node, nesting_level, backlog)
|
87
87
|
backlog.unshift(StringNode.new(:on_step_end, nil))
|
88
88
|
backlog.unshift(current_node.renderer)
|
89
89
|
# Does the step use a table argument?
|
90
90
|
use_table = current_node.key =~ /_T$/ ? true : false
|
91
91
|
backlog.unshift(StringNode.new(:on_phrase, current_node.phrase, use_table))
|
92
|
-
|
92
|
+
|
93
93
|
return [:on_step, nesting_level, current_node]
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
96
|
# Generate an on_renderer event
|
97
97
|
def emit_on_renderer(current_node, nesting_level, backlog)
|
98
98
|
backlog.unshift(StringNode.new(:on_renderer_end, nil))
|
99
99
|
add_children(current_node.representation, backlog)
|
100
100
|
backlog.unshift(StringNode.new(:on_source, current_node.source))
|
101
|
-
|
102
|
-
return [:on_renderer, nesting_level, current_node]
|
101
|
+
|
102
|
+
return [:on_renderer, nesting_level, current_node]
|
103
103
|
end
|
104
|
-
|
105
|
-
|
104
|
+
|
105
|
+
|
106
106
|
# Generate an on_section event
|
107
107
|
def emit_on_section(current_node, nesting_level, backlog)
|
108
108
|
backlog.unshift(StringNode.new(:on_section_end, nil))
|
109
109
|
add_children(current_node.children, backlog)
|
110
|
-
|
111
|
-
return [:on_section, nesting_level, current_node.name]
|
110
|
+
|
111
|
+
return [:on_section, nesting_level, current_node.name]
|
112
112
|
end
|
113
|
-
|
113
|
+
|
114
114
|
|
115
115
|
|
116
116
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
module Macros4Cuke # Module used as a namespace
|
5
5
|
# The version number of the gem.
|
6
|
-
Version = '0.4.
|
6
|
+
Version = '0.4.09'
|
7
7
|
|
8
8
|
# Brief description of the gem.
|
9
9
|
Description = 'Macro-steps for Cucumber'
|
@@ -11,14 +11,14 @@ module Macros4Cuke # Module used as a namespace
|
|
11
11
|
# Constant Macros4Cuke::RootDir contains the absolute path of Macro4Cuke's
|
12
12
|
# root directory. Note: it also ends with a slash character.
|
13
13
|
unless defined?(RootDir)
|
14
|
-
# The initialisation of constant RootDir is guarded in order
|
14
|
+
# The initialisation of constant RootDir is guarded in order
|
15
15
|
# to avoid multiple initialisation (not allowed for constants)
|
16
16
|
|
17
17
|
# The root folder of Macros4Cuke.
|
18
18
|
RootDir = begin
|
19
|
-
require 'pathname'
|
19
|
+
require 'pathname' # Load Pathname class from standard library
|
20
20
|
rootdir = Pathname(__FILE__).dirname.parent.parent.expand_path
|
21
|
-
rootdir.to_s + '/'
|
21
|
+
rootdir.to_s + '/' # Append trailing slash character to it
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end # module
|
@@ -7,19 +7,19 @@ module Formatter
|
|
7
7
|
|
8
8
|
# The list of all formatting notifications
|
9
9
|
AllNotifications = [
|
10
|
-
:on_collection,
|
11
|
-
:on_collection_end,
|
12
|
-
:on_step,
|
10
|
+
:on_collection,
|
11
|
+
:on_collection_end,
|
12
|
+
:on_step,
|
13
13
|
:on_step_end,
|
14
|
-
:on_phrase,
|
15
|
-
:on_renderer,
|
14
|
+
:on_phrase,
|
15
|
+
:on_renderer,
|
16
16
|
:on_renderer_end,
|
17
|
-
:on_source,
|
17
|
+
:on_source,
|
18
18
|
:on_static_text,
|
19
|
-
:on_eol,
|
19
|
+
:on_eol,
|
20
20
|
:on_comment,
|
21
21
|
:on_placeholder,
|
22
|
-
:on_section,
|
22
|
+
:on_section,
|
23
23
|
:on_section_end
|
24
24
|
]
|
25
25
|
|
@@ -51,12 +51,12 @@ class ToGherkin
|
|
51
51
|
def on_phrase(aLevel, aPhraseText, useTable)
|
52
52
|
suffix = useTable ? ':' : ''
|
53
53
|
io.print "#{indentation(aLevel)}Given I define the step "
|
54
|
-
io.puts %Q
|
54
|
+
io.puts %Q("* I [#{aPhraseText}]#{suffix}" to mean:)
|
55
55
|
end
|
56
56
|
|
57
57
|
def on_source(aLevel, aSourceText)
|
58
58
|
ljust = indentation(aLevel)
|
59
|
-
triple_quotes = %Q
|
59
|
+
triple_quotes = %Q(#{ljust}""")
|
60
60
|
io.puts triple_quotes
|
61
61
|
|
62
62
|
# Indent source text
|
@@ -20,11 +20,11 @@ class ToNull
|
|
20
20
|
def implements()
|
21
21
|
return Formatter::AllNotifications
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
def on_collection(aLevel, aMacroCollection)
|
25
25
|
; # Do nothing
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
def on_collection_end(aLevel)
|
29
29
|
; # Do nothing
|
30
30
|
end
|
@@ -32,7 +32,7 @@ class ToNull
|
|
32
32
|
def on_step(aLevel, aMacroStep)
|
33
33
|
; # Do nothing
|
34
34
|
end
|
35
|
-
|
35
|
+
|
36
36
|
def on_step_end(aLevel)
|
37
37
|
; # Do nothing
|
38
38
|
end
|
@@ -44,7 +44,7 @@ class ToNull
|
|
44
44
|
def on_renderer(aLevel, aRenderer)
|
45
45
|
; # Do nothing
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
def on_renderer_end(aLevel)
|
49
49
|
; # Do nothing
|
50
50
|
end
|
@@ -52,27 +52,27 @@ class ToNull
|
|
52
52
|
def on_source(aLevel, aSourceText)
|
53
53
|
; # Do nothing
|
54
54
|
end
|
55
|
-
|
55
|
+
|
56
56
|
def on_static_text(aLevel, aText)
|
57
57
|
; # Do nothing
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
def on_comment(aLevel, aComment)
|
61
61
|
; # Do nothing
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
def on_eol(aLevel)
|
65
65
|
; # Do nothing
|
66
66
|
end
|
67
|
-
|
67
|
+
|
68
68
|
def on_placeholder(aLevel, aPlaceHolderName)
|
69
69
|
; # Do nothing
|
70
70
|
end
|
71
|
-
|
71
|
+
|
72
72
|
def on_section(aLevel, aSectionName)
|
73
73
|
; # Do Nothing
|
74
74
|
end
|
75
|
-
|
75
|
+
|
76
76
|
def on_section_end(aLevel)
|
77
77
|
; # Do Nothing
|
78
78
|
end
|