testgen 0.3 → 0.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.
- data/ChangeLog +5 -2
- data/Gemfile +7 -0
- data/Guardfile +10 -0
- data/cucumber.yml +2 -1
- data/features/with_gametel_option.feature +25 -0
- data/lib/testgen/cli.rb +5 -3
- data/lib/testgen/generators/project.rb +4 -1
- data/lib/testgen/generators/project/Gemfile.tt +4 -1
- data/lib/testgen/generators/project/env.rb.tt +7 -2
- data/lib/testgen/version.rb +1 -1
- data/testgen.gemspec +3 -3
- metadata +17 -8
data/ChangeLog
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
===
|
1
|
+
=== Version 0.4 / 2012-08-20
|
2
|
+
* Added support for gametel by using the --with-gametel option
|
3
|
+
|
4
|
+
=== Version 0.3 / 2012-08-01
|
2
5
|
* Fixed problem with not including source in generated Gemfile
|
3
6
|
|
4
|
-
=== Version 0.2.4
|
7
|
+
=== Version 0.2.4 / 2011-10-28
|
5
8
|
* Enhancements
|
6
9
|
* added --with-lib option to store pages in a lib directory off the project root
|
7
10
|
|
data/Gemfile
CHANGED
data/Guardfile
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard 'cucumber', :notification => true, :all_after_pass => true, :cli => '--profile focus' do
|
5
|
+
watch(%r{^features/.+\.feature$})
|
6
|
+
watch(%r{^features/support/.+$}) { 'features' }
|
7
|
+
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
|
8
|
+
watch(%r{^lib/.+\.rb$}) { "features" }
|
9
|
+
watch(%r{^cucumber.yml$}) { "features" }
|
10
|
+
end
|
data/cucumber.yml
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
Feature: Adding the --with-gametel flag
|
2
|
+
|
3
|
+
Scenario: Adding the require_all and gametel gems to Gemfile
|
4
|
+
When I run `testgen project sample --with-gametel`
|
5
|
+
Then a file named "sample/Gemfile" should exist
|
6
|
+
And the file "sample/Gemfile" should contain "gem 'require_all'"
|
7
|
+
And the file "sample/Gemfile" should contain "gem 'gametel'"
|
8
|
+
|
9
|
+
Scenario: Adding page-object to env.rb
|
10
|
+
When I run `testgen project sample --with-gametel`
|
11
|
+
Then a file named "sample/features/support/env.rb" should exist
|
12
|
+
And the file "sample/features/support/env.rb" should contain "require 'gametel'"
|
13
|
+
And the file "sample/features/support/env.rb" should contain "World(Gametel::Navigation)"
|
14
|
+
|
15
|
+
Scenario: Should not create the hooks file
|
16
|
+
When I run `testgen project sample --with-gametel`
|
17
|
+
Then a file named "sample/features/support/hooks.rb" should not exist
|
18
|
+
|
19
|
+
Scenario: Creating the pages directory under support
|
20
|
+
When I run `testgen project sample --with-gametel`
|
21
|
+
Then a directory named "sample/features/support/screens" should exist
|
22
|
+
|
23
|
+
Scenario: Creating the pages directory under lib when using --wth-lib
|
24
|
+
When I run `testgen project sample --with-gametel --with-lib`
|
25
|
+
Then a directory named "sample/lib/screens" should exist
|
data/lib/testgen/cli.rb
CHANGED
@@ -7,11 +7,13 @@ module TestGen
|
|
7
7
|
desc "project <project_name>", "Create a new test project"
|
8
8
|
method_option :pageobject_driver, :type => :string, :required => false, :desc => "Use the PageObject gem to drive browsers. Valid values are 'watir' and 'selenium'"
|
9
9
|
method_option :with_lib, :type => :boolean, :desc => "Place shared objects under lib directory"
|
10
|
+
method_option :with_gametel, :type => :boolean, :desc => "Add support for gametel gem"
|
10
11
|
def project(name)
|
11
12
|
driver = options[:pageobject_driver].nil? ? 'none' : options[:pageobject_driver]
|
12
|
-
with_lib = options[:with_lib]
|
13
|
-
|
13
|
+
with_lib = options[:with_lib] ? 'true' : 'false'
|
14
|
+
with_gametel = options[:with_gametel] ? 'true' : 'false'
|
15
|
+
TestGen::Generators::Project.start([name, driver, with_lib, with_gametel])
|
14
16
|
end
|
15
17
|
|
16
18
|
end
|
17
|
-
end
|
19
|
+
end
|
@@ -9,6 +9,7 @@ module TestGen
|
|
9
9
|
argument :name, :type => :string, :desc => 'The name of the project'
|
10
10
|
argument :pageobject_driver, :type => :string, :desc => 'Driver to use with PageObject'
|
11
11
|
argument :with_lib, :type => :string, :desc => 'Place all shared objects in the lib directory'
|
12
|
+
argument :with_gametel, :type => :string, :desc => 'Add support for the gametel gem'
|
12
13
|
desc "Generates a project structure for testing with Cucumber"
|
13
14
|
|
14
15
|
def self.source_root
|
@@ -52,8 +53,10 @@ module TestGen
|
|
52
53
|
def create_pages_directory
|
53
54
|
if gen_lib
|
54
55
|
empty_directory("#{name}/lib/pages") unless no_driver_selected
|
56
|
+
empty_directory("#{name}/lib/screens") if with_gametel == 'true'
|
55
57
|
else
|
56
58
|
empty_directory("#{name}/features/support/pages") unless no_driver_selected
|
59
|
+
empty_directory("#{name}/features/support/screens") if with_gametel == 'true'
|
57
60
|
end
|
58
61
|
end
|
59
62
|
|
@@ -68,4 +71,4 @@ module TestGen
|
|
68
71
|
end
|
69
72
|
end
|
70
73
|
end
|
71
|
-
end
|
74
|
+
end
|
@@ -5,7 +5,10 @@ gem 'rspec'
|
|
5
5
|
<% unless pageobject_driver.downcase == 'none' -%>
|
6
6
|
gem 'page-object'
|
7
7
|
<% end -%>
|
8
|
-
<% if with_lib == 'true' -%>
|
8
|
+
<% if with_lib == 'true' or with_gametel == 'true' -%>
|
9
9
|
gem 'require_all'
|
10
10
|
<% end -%>
|
11
|
+
<% if with_gametel == 'true' -%>
|
12
|
+
gem 'gametel'
|
13
|
+
<% end -%>
|
11
14
|
|
@@ -6,14 +6,19 @@ require 'rspec-expectations'
|
|
6
6
|
<% unless pageobject_driver.downcase == 'none' -%>
|
7
7
|
require 'page-object'
|
8
8
|
require 'page-object/page_factory'
|
9
|
-
<% end
|
9
|
+
<% end -%>
|
10
10
|
<% if with_lib == 'true' -%>
|
11
11
|
require 'require_all'
|
12
12
|
|
13
13
|
require_all 'lib'
|
14
14
|
<% end -%>
|
15
15
|
|
16
|
+
<% if with_gametel == 'true' -%>
|
17
|
+
require 'gametel'
|
18
|
+
|
19
|
+
World(Gametel::Navigation)
|
20
|
+
<% end -%>
|
16
21
|
|
17
22
|
<% unless pageobject_driver.downcase == 'none' -%>
|
18
23
|
World(PageObject::PageFactory)
|
19
|
-
<% end
|
24
|
+
<% end -%>
|
data/lib/testgen/version.rb
CHANGED
data/testgen.gemspec
CHANGED
@@ -18,9 +18,9 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_dependency 'thor', '>=0.
|
22
|
-
s.add_dependency 'cucumber', '>=1.
|
23
|
-
s.add_dependency 'rspec', '>=2.
|
21
|
+
s.add_dependency 'thor', '>=0.16.0'
|
22
|
+
s.add_dependency 'cucumber', '>=1.2.0'
|
23
|
+
s.add_dependency 'rspec', '>=2.11.0'
|
24
24
|
s.add_dependency 'sys-uname'
|
25
25
|
s.add_dependency 'require_all'
|
26
26
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.4'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.16.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.16.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: cucumber
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 1.
|
37
|
+
version: 1.2.0
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 1.
|
45
|
+
version: 1.2.0
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: rspec
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ! '>='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 2.
|
53
|
+
version: 2.11.0
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.
|
61
|
+
version: 2.11.0
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: sys-uname
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,6 +119,7 @@ files:
|
|
119
119
|
- .rvmrc
|
120
120
|
- ChangeLog
|
121
121
|
- Gemfile
|
122
|
+
- Guardfile
|
122
123
|
- Rakefile
|
123
124
|
- Readme.md
|
124
125
|
- bin/testgen
|
@@ -127,6 +128,7 @@ files:
|
|
127
128
|
- features/support/hooks.rb
|
128
129
|
- features/testgen_project.feature
|
129
130
|
- features/testgen_with_pageobject.feature
|
131
|
+
- features/with_gametel_option.feature
|
130
132
|
- features/with_lib_option.feature
|
131
133
|
- lib/testgen.rb
|
132
134
|
- lib/testgen/cli.rb
|
@@ -150,12 +152,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
150
152
|
- - ! '>='
|
151
153
|
- !ruby/object:Gem::Version
|
152
154
|
version: '0'
|
155
|
+
segments:
|
156
|
+
- 0
|
157
|
+
hash: 1677098905194904714
|
153
158
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
159
|
none: false
|
155
160
|
requirements:
|
156
161
|
- - ! '>='
|
157
162
|
- !ruby/object:Gem::Version
|
158
163
|
version: '0'
|
164
|
+
segments:
|
165
|
+
- 0
|
166
|
+
hash: 1677098905194904714
|
159
167
|
requirements: []
|
160
168
|
rubyforge_project: testgen
|
161
169
|
rubygems_version: 1.8.24
|
@@ -167,4 +175,5 @@ test_files:
|
|
167
175
|
- features/support/hooks.rb
|
168
176
|
- features/testgen_project.feature
|
169
177
|
- features/testgen_with_pageobject.feature
|
178
|
+
- features/with_gametel_option.feature
|
170
179
|
- features/with_lib_option.feature
|