gwt_widgets 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +10 -0
- data/.rvmrc +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +10 -0
- data/README.md +21 -0
- data/Rakefile +33 -0
- data/cucumber.yml +12 -0
- data/features/support/env.rb +8 -0
- data/features/support/hooks.rb +7 -0
- data/features/support/persistent_browser.rb +20 -0
- data/gwt_widget.gemspec +31 -0
- data/lib/gwt_widgets/version.rb +3 -0
- data/lib/gwt_widgets.rb +6 -0
- metadata +180 -0
data/.gitignore
ADDED
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm 1.9.3-p392@gwt_widgets --create
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
This is a collection of widgets which simplify the testing of a GWT web applications by extending the page-object gem.
|
2
|
+
|
3
|
+
TODO: CAN HAZ MOAR READMEZ
|
4
|
+
|
5
|
+
## Known Issues
|
6
|
+
|
7
|
+
See [http://github.com/joelbyler/gwt_widgets/issues](http://github.com/joelbyler/gwt_widgets/issues)
|
8
|
+
|
9
|
+
## Contribute
|
10
|
+
|
11
|
+
* Fork the project.
|
12
|
+
* Test drive your feature addition or bug fix. Adding specs is important and I will not accept a pull request that does not have tests.
|
13
|
+
* Make sure you describe your new feature with a cucumber scenario.
|
14
|
+
* Make sure you provide RDoc comments for any new public method you add. Remember, others will be using this gem.
|
15
|
+
* Commit, do not mess with Rakefile, version, or ChangeLog.
|
16
|
+
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
17
|
+
* Send me a pull request. Bonus points for topic branches.
|
18
|
+
|
19
|
+
## Copyright
|
20
|
+
|
21
|
+
Copyright (c) 2013 Joel Byler. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
require 'cucumber'
|
4
|
+
require 'cucumber/rake/task'
|
5
|
+
require 'rspec/core/rake_task'
|
6
|
+
|
7
|
+
Bundler::GemHelper.install_tasks
|
8
|
+
|
9
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
10
|
+
spec.ruby_opts = "-I lib:spec"
|
11
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
12
|
+
end
|
13
|
+
|
14
|
+
task :spec
|
15
|
+
|
16
|
+
namespace :features do
|
17
|
+
Cucumber::Rake::Task.new(:watir_webdriver, "Run features with Watir") do |t|
|
18
|
+
t.profile = "default"
|
19
|
+
end
|
20
|
+
|
21
|
+
Cucumber::Rake::Task.new(:selenium_webdriver, "Run features with Selenium") do |t|
|
22
|
+
t.profile = "sfirefox"
|
23
|
+
end
|
24
|
+
|
25
|
+
desc 'Run all features'
|
26
|
+
task :all => [:watir_webdriver, :selenium_webdriver]
|
27
|
+
end
|
28
|
+
|
29
|
+
desc 'Run all specs and cukes'
|
30
|
+
task :test => ['spec', 'features:all']
|
31
|
+
|
32
|
+
task :default => :test
|
33
|
+
|
data/cucumber.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
<%
|
2
|
+
std_opts = "--no-source --color --format Cucumber::Formatter::Fuubar --tags ~@ignore"
|
3
|
+
%>
|
4
|
+
|
5
|
+
default: BROWSER=firefox DRIVER=WATIR <%= std_opts %> --tags ~@selenium_only
|
6
|
+
sfirefox: BROWSER=firefox DRIVER=SELENIUM <%= std_opts %> --tags ~@watir_only
|
7
|
+
wchrome: BROWSER=chrome DRIVER=WATIR <%= std_opts %> --tags ~@selenium_only
|
8
|
+
schrome: BROWSER=chrome DRIVER=SELENIUM <%= std_opts %> --tags ~@watir_only
|
9
|
+
wie: BROWSER=ie DRIVER=WATIR <%= std_opts %> --tags ~@selenium_only
|
10
|
+
sie: BROWSER=ie DRIVER=SELENIUM <%= std_opts %> --tags ~@watir_only
|
11
|
+
focus: BROWSER=firefox DRIVER=WATIR <%= std_opts %> --tags @focus ~@selenium_only
|
12
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'watir-webdriver'
|
2
|
+
require 'selenium-webdriver'
|
3
|
+
|
4
|
+
module PageObject
|
5
|
+
module PersistantBrowser
|
6
|
+
@@browser = false
|
7
|
+
def self.get_browser
|
8
|
+
if !@@browser
|
9
|
+
target_browser = ENV['BROWSER'].to_sym
|
10
|
+
@@browser = Watir::Browser.new target_browser if ENV['DRIVER'] == 'WATIR'
|
11
|
+
@@browser = Selenium::WebDriver.for target_browser if ENV['DRIVER'] == 'SELENIUM'
|
12
|
+
end
|
13
|
+
|
14
|
+
@@browser
|
15
|
+
end
|
16
|
+
def self.quit
|
17
|
+
@@browser.quit
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/gwt_widget.gemspec
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "gwt_widgets/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "gwt_widgets"
|
7
|
+
s.version = GwtWidgets::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Joel Byler"]
|
10
|
+
s.email = ["joelbyler@gmail.com"]
|
11
|
+
s.homepage = "http://github.com/joelbyler/gwt_widgets"
|
12
|
+
s.summary = %q{PageObject Widgets extention for GWT apps}
|
13
|
+
s.description = %q{A page-object extension for GWT apps, to support cucumber tests}
|
14
|
+
|
15
|
+
s.rubyforge_project = "gwt_widgets"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_dependency 'page-object', '>= 0.8.2'
|
23
|
+
|
24
|
+
s.add_development_dependency 'rspec', '>= 2.12.0'
|
25
|
+
s.add_development_dependency 'cucumber', '< 1.2.0'
|
26
|
+
s.add_development_dependency 'yard', '>= 0.7.2'
|
27
|
+
s.add_development_dependency 'rack', '>= 1.0'
|
28
|
+
s.add_development_dependency 'watir-webdriver', '>= 0.6.2'
|
29
|
+
s.add_development_dependency 'selenium-webdriver', '>= 2.27.2'
|
30
|
+
|
31
|
+
end
|
data/lib/gwt_widgets.rb
ADDED
metadata
ADDED
@@ -0,0 +1,180 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gwt_widgets
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Joel Byler
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-03-01 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: page-object
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.8.2
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.8.2
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 2.12.0
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 2.12.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: cucumber
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - <
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.2.0
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - <
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.2.0
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: yard
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.7.2
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.7.2
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rack
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '1.0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '1.0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: watir-webdriver
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 0.6.2
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.6.2
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: selenium-webdriver
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 2.27.2
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 2.27.2
|
126
|
+
description: A page-object extension for GWT apps, to support cucumber tests
|
127
|
+
email:
|
128
|
+
- joelbyler@gmail.com
|
129
|
+
executables: []
|
130
|
+
extensions: []
|
131
|
+
extra_rdoc_files: []
|
132
|
+
files:
|
133
|
+
- .gitignore
|
134
|
+
- .rvmrc
|
135
|
+
- .travis.yml
|
136
|
+
- Gemfile
|
137
|
+
- README.md
|
138
|
+
- Rakefile
|
139
|
+
- cucumber.yml
|
140
|
+
- features/support/env.rb
|
141
|
+
- features/support/hooks.rb
|
142
|
+
- features/support/persistent_browser.rb
|
143
|
+
- gwt_widget.gemspec
|
144
|
+
- lib/gwt_widgets.rb
|
145
|
+
- lib/gwt_widgets/version.rb
|
146
|
+
homepage: http://github.com/joelbyler/gwt_widgets
|
147
|
+
licenses: []
|
148
|
+
post_install_message:
|
149
|
+
rdoc_options: []
|
150
|
+
require_paths:
|
151
|
+
- lib
|
152
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
segments:
|
159
|
+
- 0
|
160
|
+
hash: 2044620141943493147
|
161
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
|
+
none: false
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
segments:
|
168
|
+
- 0
|
169
|
+
hash: 2044620141943493147
|
170
|
+
requirements: []
|
171
|
+
rubyforge_project: gwt_widgets
|
172
|
+
rubygems_version: 1.8.25
|
173
|
+
signing_key:
|
174
|
+
specification_version: 3
|
175
|
+
summary: PageObject Widgets extention for GWT apps
|
176
|
+
test_files:
|
177
|
+
- features/support/env.rb
|
178
|
+
- features/support/hooks.rb
|
179
|
+
- features/support/persistent_browser.rb
|
180
|
+
has_rdoc:
|