acceptance_test 1.8.3 → 1.8.4
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/CHANGES +5 -1
- data/Rakefile +80 -0
- data/lib/acceptance_test/gherkin_ext.rb +22 -4
- data/lib/acceptance_test/version.rb +1 -1
- data/spec/data.yml +15 -1
- data/spec/features/search_with_scenario_outline1.feature +5 -5
- data/spec/features/search_with_scenario_outline2.feature +3 -3
- data/spec/features/search_with_scenario_outline3.feature +3 -3
- data/spec/features/search_with_scenario_outline4.feature +15 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzY3NjY0MGEwZjI4MzAwZTViNWYyNTZmN2Y4ZDdiMTg4NzYxYzhiOQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YTk1MmMzMjM5YWViOWUxNDUyYzgxNTJiMmM2MGRhMmY4OTZmZjU3OQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZWE4YmVhYmJjZDFlNzc3N2UyNDg4MmJmNzU1NWQ5YWZiZDUzMjFlMDYyNzI4
|
10
|
+
MDViZDdkZjFlOTM1YWExOTIwNjUxNjQ5YzJmMGMyMjcwNmJiMDhjMGQ1OGVl
|
11
|
+
ZTE0N2NkMGFkMDM2MzNkNzExNjFiNDYzMThmYjM0MWZmZThkZWQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZGE1MTUwNThiYjNlZDAwYzQ4M2Y3OTk1ODg5YzgzZjhjZjhkODA5OTU1Njkx
|
14
|
+
YTQ5MmVkMThkOThlZWRkMDBjMTQ1ZGI5ZTU3ODhmZGExOTBiNTk4NDRiYzJk
|
15
|
+
M2VhYzdkNDIwZTc1MzQ3YzJkZjE4OTZkNThiNDBlNmE0ZDRmNTg=
|
data/CHANGES
CHANGED
data/Rakefile
CHANGED
@@ -45,3 +45,83 @@ end
|
|
45
45
|
# system "mkdir -p $GEM_HOME/gems/debugger-ruby_core_source-1.2.3/lib"
|
46
46
|
# system "cp -R ~/debugger-ruby_core_source/lib $GEM_HOME/gems/debugger-ruby_core_source-1.2.3"
|
47
47
|
# end
|
48
|
+
|
49
|
+
task :steps_gen do
|
50
|
+
if ARGV.size < 2
|
51
|
+
puts "Usage: rake steps_gen <file_name.feature>"
|
52
|
+
else
|
53
|
+
ARGV.shift
|
54
|
+
|
55
|
+
file_name = ARGV.shift
|
56
|
+
|
57
|
+
StepsGenerator.instance.generate file_name
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
task :steps_diff do
|
62
|
+
if ARGV.size < 3
|
63
|
+
puts "Usage: rake steps_diff <file_name.feature> <file_name_spec.rb>"
|
64
|
+
else
|
65
|
+
ARGV.shift
|
66
|
+
|
67
|
+
file_name1 = ARGV.shift
|
68
|
+
file_name2 = ARGV.shift
|
69
|
+
|
70
|
+
# StepsGenerator.instance.generate file_name
|
71
|
+
|
72
|
+
phrases1 = []
|
73
|
+
|
74
|
+
keywords_exp1 = /^(Given|When|Then|And|But)/
|
75
|
+
|
76
|
+
File.open(file_name1).each_line do |line|
|
77
|
+
line = line.strip
|
78
|
+
|
79
|
+
if line !~ /^#/ and line =~ keywords_exp1
|
80
|
+
word = line.scan(keywords_exp1)[0][0]
|
81
|
+
|
82
|
+
phrases1 << line[word.size..-1].strip
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
phrases2 = []
|
87
|
+
|
88
|
+
keywords_exp2 = /step\s+('|")(.*)('|")/
|
89
|
+
|
90
|
+
File.open(file_name2).each_line do |line|
|
91
|
+
line = line.strip
|
92
|
+
|
93
|
+
if line !~ /^#/ and line =~ keywords_exp2
|
94
|
+
phrases2 << line.scan(keywords_exp2)[0][1]
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
phrases1.each_with_index do |phrase, index|
|
99
|
+
phrase1 = phrase.clone.gsub("\"", "'")
|
100
|
+
phrase2 = phrases2[index]
|
101
|
+
|
102
|
+
params = phrase2.gsub(/:\w+\S/).to_a
|
103
|
+
|
104
|
+
params.each do |param|
|
105
|
+
new_param = param.gsub(":", "")
|
106
|
+
|
107
|
+
phrase1.gsub!(%r{<#{new_param}>}, param)
|
108
|
+
end
|
109
|
+
|
110
|
+
# p phrase1
|
111
|
+
params.each do |param|
|
112
|
+
phrase1.gsub!(/(\w|\s)*/, param)
|
113
|
+
end
|
114
|
+
# p phrase1
|
115
|
+
|
116
|
+
if phrase1 != phrase2
|
117
|
+
puts "Fail:"
|
118
|
+
puts " {#{phrase}}"
|
119
|
+
puts " {#{phrases2[index]}}"
|
120
|
+
else
|
121
|
+
# puts "OK:"
|
122
|
+
# puts " {#{phrase}}"
|
123
|
+
# puts " {#{phrases2[index]}}"
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -43,7 +43,11 @@ class GherkinExt
|
|
43
43
|
|
44
44
|
data = key.nil? ? values : values[key]
|
45
45
|
|
46
|
-
|
46
|
+
if data.size > 0
|
47
|
+
new_source += build_data_section data
|
48
|
+
else
|
49
|
+
new_source += line
|
50
|
+
end
|
47
51
|
end
|
48
52
|
else
|
49
53
|
new_source += line
|
@@ -64,14 +68,28 @@ class GherkinExt
|
|
64
68
|
encoded_text =~ /file\s?:/
|
65
69
|
end
|
66
70
|
|
67
|
-
def self.build_data_section
|
71
|
+
def self.build_data_section rows, build_titles=true
|
68
72
|
buffer = ""
|
69
73
|
|
70
|
-
|
74
|
+
if build_titles and rows.first.kind_of?(Hash)
|
75
|
+
buffer += " |"
|
76
|
+
|
77
|
+
rows.first.each do |element|
|
78
|
+
buffer += " #{element[0]} |"
|
79
|
+
end
|
80
|
+
|
81
|
+
buffer += "\n"
|
82
|
+
end
|
83
|
+
|
84
|
+
rows.each do |row|
|
71
85
|
buffer += " |"
|
72
86
|
|
73
87
|
row.each do |element|
|
74
|
-
|
88
|
+
if element.kind_of? Array
|
89
|
+
buffer += " #{element[1]} |"
|
90
|
+
else
|
91
|
+
buffer += " #{element} |"
|
92
|
+
end
|
75
93
|
end
|
76
94
|
|
77
95
|
buffer += "\n"
|
data/spec/data.yml
CHANGED
@@ -3,4 +3,18 @@
|
|
3
3
|
["Capybara", "Hydrochoerus hydrochaeris", "1"],
|
4
4
|
["Wombat", "quadrupedal marsupials", "2"],
|
5
5
|
["Echidna", "Tachyglossidae", "3"]
|
6
|
-
]
|
6
|
+
]
|
7
|
+
|
8
|
+
"test2":
|
9
|
+
-
|
10
|
+
keyword: "Capybara"
|
11
|
+
result: "Hydrochoerus hydrochaeris"
|
12
|
+
something_else: "1"
|
13
|
+
-
|
14
|
+
keyword: "Wombat"
|
15
|
+
result: "quadrupedal marsupials"
|
16
|
+
something_else: "2"
|
17
|
+
-
|
18
|
+
keyword: "Echidna"
|
19
|
+
result: "Tachyglossidae"
|
20
|
+
something_else: "3"
|
@@ -11,8 +11,8 @@ Feature: Using Wikipedia
|
|
11
11
|
And I click submit button
|
12
12
|
Then I should see "<result>"
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
Examples:
|
15
|
+
| keyword | result |
|
16
|
+
| Capybara | Hydrochoerus hydrochaeris |
|
17
|
+
| Wombat | quadrupedal marsupials |
|
18
|
+
| Echidna | Tachyglossidae |
|
@@ -11,6 +11,6 @@ Feature: Using Wikipedia
|
|
11
11
|
And I click submit button
|
12
12
|
Then I should see "<result>"
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
Examples:
|
15
|
+
| keyword | result |something_else |
|
16
|
+
| file:spec/data.yml, key:test1 || |
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Feature: Using Wikipedia
|
2
|
+
|
3
|
+
Background: within wikipedia.com context
|
4
|
+
Given I am within wikipedia.com
|
5
|
+
|
6
|
+
@search_with_scenario_outline
|
7
|
+
Scenario Outline: Searching with selenium for a term with submit (external data)
|
8
|
+
|
9
|
+
Given I am on wikipedia.com
|
10
|
+
When I enter word <keyword>
|
11
|
+
And I click submit button
|
12
|
+
Then I should see "<result>"
|
13
|
+
|
14
|
+
Examples:
|
15
|
+
| file:spec/data.yml, key:test2 |
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acceptance_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Shvets
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gemspec_deps_gen
|
@@ -90,6 +90,7 @@ files:
|
|
90
90
|
- spec/features/search_with_scenario_outline1.feature
|
91
91
|
- spec/features/search_with_scenario_outline2.feature
|
92
92
|
- spec/features/search_with_scenario_outline3.feature
|
93
|
+
- spec/features/search_with_scenario_outline4.feature
|
93
94
|
- spec/features/search_with_table.feature
|
94
95
|
- spec/support/pages/main_page.rb
|
95
96
|
- spec/support/pages/wikipedia_pages.rb
|
@@ -141,6 +142,7 @@ test_files:
|
|
141
142
|
- spec/features/search_with_scenario_outline1.feature
|
142
143
|
- spec/features/search_with_scenario_outline2.feature
|
143
144
|
- spec/features/search_with_scenario_outline3.feature
|
145
|
+
- spec/features/search_with_scenario_outline4.feature
|
144
146
|
- spec/features/search_with_table.feature
|
145
147
|
- spec/support/pages/main_page.rb
|
146
148
|
- spec/support/pages/wikipedia_pages.rb
|