gwt_widgets 0.0.1

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/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ .DS_Store
6
+ *.swp
7
+ fixture.html
8
+ images
9
+ results
10
+ tmp
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.9.3-p392@gwt_widgets --create
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "http://rubygems.org"
2
+
3
+ # adding rake so travis-ci will build properly
4
+ gem 'rake'
5
+ gem 'fuubar-cucumber'
6
+ gem 'growl'
7
+ gem 'guard-rspec'
8
+ gem 'guard-cucumber'
9
+
10
+ gemspec
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,8 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../', 'lib'))
2
+
3
+ require 'rspec/expectations'
4
+ require 'page-object'
5
+ require 'page-object/page_factory'
6
+ require 'gwt_widgets'
7
+
8
+ World(PageObject::PageFactory)
@@ -0,0 +1,7 @@
1
+ Before do
2
+ @browser = PageObject::PersistantBrowser.get_browser
3
+ end
4
+
5
+ at_exit do
6
+ PageObject::PersistantBrowser.quit
7
+ end
@@ -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
@@ -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
@@ -0,0 +1,3 @@
1
+ module GwtWidgets
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,6 @@
1
+ require 'page-object'
2
+ require 'gwt_widgets/version'
3
+
4
+ module GwtWidgets
5
+
6
+ end
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: