gwt_widgets 0.0.6 → 0.0.7

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 CHANGED
@@ -1,3 +1,7 @@
1
+ === Release 0.0.7 / 2013-5-3
2
+ Fix bug on datepicker which was causing a few days from month before and after current month to be included in the days
3
+ Add suggestion box widget
4
+
1
5
  === Release 0.0.6 / 2013-4-19
2
6
  Add Stack Panel support
3
7
 
@@ -0,0 +1,24 @@
1
+ Given /^I am on the Suggest Box page$/ do
2
+ visit SuggestBoxPage
3
+ @current_page.wait_until do
4
+ @current_page.text.include? 'Choose a word:'
5
+ end
6
+ end
7
+
8
+ When /^I type "([^"]*)" into the suggestion box$/ do |value|
9
+ on(SuggestBoxPage).suggest_box = value
10
+ end
11
+
12
+ Then /^I am presented with the following suggestions:$/ do |table|
13
+ table.rows.each do |row|
14
+ on(SuggestBoxPage).suggest_box_suggestions.include?(row[0]).should == true
15
+ end
16
+ end
17
+
18
+ When /^I click on the "([^"]*)" suggestion$/ do |suggestion|
19
+ on(SuggestBoxPage).suggest_box_choose suggestion
20
+ end
21
+
22
+ Then /^I see "([^"]*)" in the suggestion box$/ do |value|
23
+ on(SuggestBoxPage).suggest_box.value.should == value
24
+ end
@@ -0,0 +1,21 @@
1
+ Feature: Using the GWT Suggest Box Widget
2
+
3
+ Background:
4
+ Given I am on the Suggest Box page
5
+
6
+ Scenario: User starts to type and is presented with suggestions
7
+ When I type "h" into the suggestion box
8
+ Then I am presented with the following suggestions:
9
+ | hammer |
10
+ | haskell |
11
+ | hollis |
12
+
13
+ Scenario: Suggestions are reduced as user types
14
+ When I type "ha" into the suggestion box
15
+ Then I am presented with the following suggestions:
16
+ | hammer |
17
+ | haskell |
18
+
19
+ Scenario: Clicking on a suggestion will populate the text field
20
+ When I click on the "haskell" suggestion
21
+ Then I see "haskell" in the suggestion box
@@ -0,0 +1,13 @@
1
+ class SuggestBoxPage
2
+ include PageObject
3
+
4
+ page_url "http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwSuggestBox"
5
+ #page_url "http://localhost:8888/#!CwSuggestBox"
6
+
7
+ gwt_suggestbox(:suggest_box, :class => 'gwt-SuggestBox')
8
+
9
+ def suggest_box
10
+ suggest_box_element
11
+ end
12
+
13
+ end
@@ -5,6 +5,7 @@ require 'gwt_widgets/date_picker'
5
5
  require 'gwt_widgets/date_box'
6
6
  require 'gwt_widgets/tab_panel'
7
7
  require 'gwt_widgets/stack_panel'
8
+ require 'gwt_widgets/suggest_box'
8
9
 
9
10
  module GwtWidgets
10
11
 
@@ -13,5 +14,6 @@ module GwtWidgets
13
14
  PageObject.register_widget(:gwt_datepicker, GwtWidgets::DatePicker, 'table')
14
15
  PageObject.register_widget(:gwt_tabpanel, GwtWidgets::TabPanel, 'div')
15
16
  PageObject.register_widget(:gwt_stackpanel, GwtWidgets::StackPanel, 'table')
17
+ PageObject.register_widget(:gwt_suggestbox, GwtWidgets::SuggestBox, 'input')
16
18
 
17
19
  end
@@ -1,8 +1,7 @@
1
1
  class GwtWidgets::DatePicker < PageObject::Elements::Table
2
2
 
3
3
  def choose_day (day)
4
- #div_element(:class => 'datePickerDay', :text => day.to_s).click
5
- div_elements(:class => 'datePickerDay')[day.to_i].click
4
+ days_this_month[day.to_i - 1].click
6
5
  end
7
6
 
8
7
  def chosen_day
@@ -13,5 +12,11 @@ class GwtWidgets::DatePicker < PageObject::Elements::Table
13
12
  div_element(:class => 'datePickerDayIsToday').text
14
13
  end
15
14
 
15
+ private
16
+
17
+ def days_this_month
18
+ days = div_elements(:class => 'datePickerDay')
19
+ days.reject {|day|day.html.include?'IsFiller'}
20
+ end
16
21
 
17
22
  end
@@ -0,0 +1,19 @@
1
+ class GwtWidgets::SuggestBox < PageObject::Elements::TextField
2
+
3
+ def self.accessor_methods(accessor, name)
4
+ accessor.send :define_method, "#{name}" do
5
+ suggestion_box = self.send "#{name}_element"
6
+ end
7
+ accessor.send :define_method, "#{name}=" do | value |
8
+ suggestion_box = self.send "#{name}_element"
9
+ suggestion_box.parent.text_field_element.value = value
10
+ end
11
+ accessor.send :define_method, "#{name}_suggestions" do
12
+ browser.div(:class => 'gwt-SuggestBoxPopup').tds(:class => 'item').map(&:text)
13
+ end
14
+ accessor.send :define_method, "#{name}_choose" do | label |
15
+ browser.div(:class => 'gwt-SuggestBoxPopup').td(:class => 'item', :text => label).click
16
+ end
17
+ end
18
+
19
+ end
@@ -1,3 +1,3 @@
1
1
  module GwtWidgets
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gwt_widgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
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: 2013-04-19 00:00:00.000000000 Z
12
+ date: 2013-05-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: page-object
@@ -145,12 +145,15 @@ files:
145
145
  - features/step_definitions/datepicker_steps.rb
146
146
  - features/step_definitions/dialogbox_steps.rb
147
147
  - features/step_definitions/stack_panel_steps.rb
148
+ - features/step_definitions/suggest_box_steps.rb
148
149
  - features/step_definitions/tab_panel_steps.rb
150
+ - features/suggest_box.feature
149
151
  - features/support/env.rb
150
152
  - features/support/hooks.rb
151
153
  - features/support/pages/date_picker_page.rb
152
154
  - features/support/pages/dialog_box_page.rb
153
155
  - features/support/pages/stack_panel_page.rb
156
+ - features/support/pages/suggest_box_page.rb
154
157
  - features/support/pages/tab_panel_page.rb
155
158
  - features/support/persistent_browser.rb
156
159
  - features/tab_panel.feature
@@ -160,6 +163,7 @@ files:
160
163
  - lib/gwt_widgets/date_picker.rb
161
164
  - lib/gwt_widgets/dialog_box.rb
162
165
  - lib/gwt_widgets/stack_panel.rb
166
+ - lib/gwt_widgets/suggest_box.rb
163
167
  - lib/gwt_widgets/tab_panel.rb
164
168
  - lib/gwt_widgets/version.rb
165
169
  homepage: http://github.com/joelbyler/gwt_widgets
@@ -176,7 +180,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
180
  version: '0'
177
181
  segments:
178
182
  - 0
179
- hash: 2854851967373688280
183
+ hash: 3645583039750060461
180
184
  required_rubygems_version: !ruby/object:Gem::Requirement
181
185
  none: false
182
186
  requirements:
@@ -185,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
189
  version: '0'
186
190
  segments:
187
191
  - 0
188
- hash: 2854851967373688280
192
+ hash: 3645583039750060461
189
193
  requirements: []
190
194
  rubyforge_project: gwt_widgets
191
195
  rubygems_version: 1.8.25
@@ -200,12 +204,15 @@ test_files:
200
204
  - features/step_definitions/datepicker_steps.rb
201
205
  - features/step_definitions/dialogbox_steps.rb
202
206
  - features/step_definitions/stack_panel_steps.rb
207
+ - features/step_definitions/suggest_box_steps.rb
203
208
  - features/step_definitions/tab_panel_steps.rb
209
+ - features/suggest_box.feature
204
210
  - features/support/env.rb
205
211
  - features/support/hooks.rb
206
212
  - features/support/pages/date_picker_page.rb
207
213
  - features/support/pages/dialog_box_page.rb
208
214
  - features/support/pages/stack_panel_page.rb
215
+ - features/support/pages/suggest_box_page.rb
209
216
  - features/support/pages/tab_panel_page.rb
210
217
  - features/support/persistent_browser.rb
211
218
  - features/tab_panel.feature