testgen 0.2.3 → 0.2.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 +4 -0
- data/features/support/env.rb +4 -1
- data/features/with_lib_option.feature +24 -0
- data/lib/testgen/cli.rb +3 -1
- data/lib/testgen/generators/project.rb +14 -1
- data/lib/testgen/generators/project/Gemfile.tt +4 -0
- data/lib/testgen/generators/project/env.rb.tt +9 -0
- data/lib/testgen/version.rb +1 -1
- data/testgen.gemspec +1 -0
- metadata +17 -4
data/ChangeLog
CHANGED
data/features/support/env.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
Feature: Adding the --with-lib flag
|
2
|
+
|
3
|
+
Background:
|
4
|
+
When I run `testgen project sample --with-lib --pageobject-driver=watir`
|
5
|
+
|
6
|
+
Scenario: Adding the require_all gem to Gemfile
|
7
|
+
Then a file named "sample/Gemfile" should exist
|
8
|
+
And the file "sample/Gemfile" should contain "gem 'require_all'"
|
9
|
+
|
10
|
+
Scenario: Creating the lib directory
|
11
|
+
Then a directory named "sample/lib" should exist
|
12
|
+
|
13
|
+
Scenario: Creating the pages directory in lib
|
14
|
+
Then a directory named "sample/lib/pages" should exist
|
15
|
+
|
16
|
+
Scenario: Adding lib to loadpath in env.rb
|
17
|
+
Then a file named "sample/features/support/env.rb" should exist
|
18
|
+
And the file "sample/features/support/env.rb" should contain "$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../', 'lib'))"
|
19
|
+
|
20
|
+
Scenario: Adding require_all stuff to the env.rb
|
21
|
+
Then a file named "sample/features/support/env.rb" should exist
|
22
|
+
And the file "sample/features/support/env.rb" should contain "require 'require_all'"
|
23
|
+
And the file "sample/features/support/env.rb" should contain "require_all 'lib'"
|
24
|
+
|
data/lib/testgen/cli.rb
CHANGED
@@ -6,9 +6,11 @@ module TestGen
|
|
6
6
|
|
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
|
+
method_option :with_lib, :type => :boolean, :desc => "Place shared objects under lib directory"
|
9
10
|
def project(name)
|
10
11
|
driver = options[:pageobject_driver].nil? ? 'none' : options[:pageobject_driver]
|
11
|
-
|
12
|
+
with_lib = options[:with_lib] == true ? 'true' : 'false'
|
13
|
+
TestGen::Generators::Project.start([name, driver, with_lib])
|
12
14
|
end
|
13
15
|
|
14
16
|
end
|
@@ -8,6 +8,7 @@ module TestGen
|
|
8
8
|
|
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
|
+
argument :with_lib, :type => :string, :desc => 'Place all shared objects in the lib directory'
|
11
12
|
desc "Generates a project structure for testing with Cucumber"
|
12
13
|
|
13
14
|
def self.source_root
|
@@ -44,8 +45,16 @@ module TestGen
|
|
44
45
|
template "hooks.rb.tt", "#{name}/features/support/hooks.rb" unless no_driver_selected
|
45
46
|
end
|
46
47
|
|
48
|
+
def create_lib_directory
|
49
|
+
empty_directory("#{name}/lib") if gen_lib
|
50
|
+
end
|
51
|
+
|
47
52
|
def create_pages_directory
|
48
|
-
|
53
|
+
if gen_lib
|
54
|
+
empty_directory("#{name}/lib/pages") unless no_driver_selected
|
55
|
+
else
|
56
|
+
empty_directory("#{name}/features/support/pages") unless no_driver_selected
|
57
|
+
end
|
49
58
|
end
|
50
59
|
|
51
60
|
private
|
@@ -53,6 +62,10 @@ module TestGen
|
|
53
62
|
def no_driver_selected
|
54
63
|
pageobject_driver.downcase == 'none'
|
55
64
|
end
|
65
|
+
|
66
|
+
def gen_lib
|
67
|
+
with_lib == 'true'
|
68
|
+
end
|
56
69
|
end
|
57
70
|
end
|
58
71
|
end
|
@@ -1,8 +1,17 @@
|
|
1
|
+
<% if with_lib == 'true' -%>
|
2
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../', 'lib'))
|
3
|
+
<% end -%>
|
4
|
+
|
1
5
|
require 'rspec-expectations'
|
2
6
|
<% unless pageobject_driver.downcase == 'none' -%>
|
3
7
|
require 'page-object'
|
4
8
|
require 'page-object/page_factory'
|
5
9
|
<% end %>
|
10
|
+
<% if with_lib == 'true' -%>
|
11
|
+
require 'require_all'
|
12
|
+
|
13
|
+
require_all 'lib'
|
14
|
+
<% end -%>
|
6
15
|
|
7
16
|
|
8
17
|
<% unless pageobject_driver.downcase == 'none' -%>
|
data/lib/testgen/version.rb
CHANGED
data/testgen.gemspec
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: testgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jeffrey S. Morgan
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-10-28 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: thor
|
@@ -57,7 +57,7 @@ dependencies:
|
|
57
57
|
type: :runtime
|
58
58
|
version_requirements: *id004
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
|
-
name:
|
60
|
+
name: require_all
|
61
61
|
prerelease: false
|
62
62
|
requirement: &id005 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
@@ -65,8 +65,19 @@ dependencies:
|
|
65
65
|
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: "0"
|
68
|
-
type: :
|
68
|
+
type: :runtime
|
69
69
|
version_requirements: *id005
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: aruba
|
72
|
+
prerelease: false
|
73
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: "0"
|
79
|
+
type: :development
|
80
|
+
version_requirements: *id006
|
70
81
|
description: A collection of generators build things for testers using Cucumber
|
71
82
|
email:
|
72
83
|
- jeff.morgan@leandog.com
|
@@ -89,6 +100,7 @@ files:
|
|
89
100
|
- features/support/hooks.rb
|
90
101
|
- features/testgen_project.feature
|
91
102
|
- features/testgen_with_pageobject.feature
|
103
|
+
- features/with_lib_option.feature
|
92
104
|
- lib/testgen.rb
|
93
105
|
- lib/testgen/cli.rb
|
94
106
|
- lib/testgen/generators/project.rb
|
@@ -131,3 +143,4 @@ test_files:
|
|
131
143
|
- features/support/hooks.rb
|
132
144
|
- features/testgen_project.feature
|
133
145
|
- features/testgen_with_pageobject.feature
|
146
|
+
- features/with_lib_option.feature
|