page_navigation 0.7 → 0.8

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b9fed5b23e25332d84fcbfea7eb49b03fb55e7a5
4
+ data.tar.gz: 045317e8335c63ba4215b327bfe5b3bd24c3d105
5
+ SHA512:
6
+ metadata.gz: bb65f1c891e370783cb56234a0118088e1d737696f6ebc604e12b51cfa6eb5ea9a151189f84a349f72eb23581df9f4f3f1b3146e51416f897b7ec5d0cc0795a8
7
+ data.tar.gz: 10b4624ea7f9ddc9c94561228b7e2c7fd42888e7246de65944a602dd52cf9f61ba62dffc30b0979994e52637f42e4ee9ddc18d4e79b5c94c344f50fcb85c6e9a
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ page-object
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-2.0.0-p0
data/ChangeLog CHANGED
@@ -1,3 +1,6 @@
1
+ === Version 0.8 / 2013-4026
2
+ * Added navigate_all method to navigate an entire route including the last page
3
+
1
4
  === Version 0.7 / 2013-2-27
2
5
  * Added route_data hash to map a route to a specific DataMagic file
3
6
 
@@ -16,7 +16,7 @@ require 'data_magic'
16
16
  # :another_route => [[PageOne,:method1, "arg1"], [PageTwoB,:method2b], [PageThree,:method3]]
17
17
  # }
18
18
  #
19
- # Notice the first entry of :anouther_route is passing an argument
19
+ # Notice the first entry of :another_route is passing an argument
20
20
  # to the method.
21
21
  #
22
22
  # The user must also maintain an instance variable named @current_page
@@ -88,6 +88,25 @@ module PageNavigation
88
88
  on(page_cls, &block)
89
89
  end
90
90
 
91
+ #
92
+ # Navigate through a complete route.
93
+ #
94
+ # This method will navigate an entire route executing all of the
95
+ # methods. Since it completes the route it does not return any
96
+ # pages and it does not accept a block.
97
+ #
98
+ # @example
99
+ # page.navigate_all # will use the default path
100
+ # page.navigate_all(:using => :another_route)
101
+ #
102
+ # @param [Hash] a hash that contains an element with the key
103
+ # :using. This will be used to lookup the route. It has a
104
+ # default value of :default.
105
+ #
106
+ def navigate_all(how = {:using => :default})
107
+ path = path_for how
108
+ navigate_through_pages(path[0..-1])
109
+ end
91
110
 
92
111
  private
93
112
 
@@ -1,3 +1,3 @@
1
1
  module PageNavigation
2
- VERSION = "0.7"
2
+ VERSION = "0.8"
3
3
  end
@@ -124,4 +124,25 @@ describe PageNavigation do
124
124
  a_page.should_receive(:b_method)
125
125
  @navigator.continue_navigation_to(YetAnotherPage).class.should == YetAnotherPage
126
126
  end
127
+
128
+ it "should know how to navigate an entire route including the last page" do
129
+ TestNavigator.routes = {
130
+ :default => [[FactoryTestPage, :a_method],
131
+ [AnotherPage, :b_method],
132
+ [YetAnotherPage, :c_method]]
133
+ }
134
+ f_page = FactoryTestPage.new
135
+ a_page = AnotherPage.new
136
+ y_page = YetAnotherPage.new
137
+ FactoryTestPage.should_receive(:new).and_return(f_page)
138
+ f_page.should_receive(:respond_to?).with(:a_method).and_return(true)
139
+ f_page.should_receive(:a_method)
140
+ AnotherPage.should_receive(:new).and_return(a_page)
141
+ a_page.should_receive(:respond_to?).with(:b_method).and_return(true)
142
+ a_page.should_receive(:b_method)
143
+ YetAnotherPage.should_receive(:new).and_return(y_page)
144
+ y_page.should_receive(:respond_to?).with(:c_method).and_return(true)
145
+ y_page.should_receive(:c_method)
146
+ @navigator.navigate_all
147
+ end
127
148
  end
metadata CHANGED
@@ -1,46 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: page_navigation
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.7'
5
- prerelease:
4
+ version: '0.8'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jeffrey S. Morgan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-27 00:00:00.000000000 Z
11
+ date: 2013-04-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: data_magic
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0.14'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0.14'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 2.12.0
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 2.12.0
46
41
  description: Provides basic navigation through a collection of items that use the
@@ -53,7 +48,8 @@ extra_rdoc_files: []
53
48
  files:
54
49
  - .gitignore
55
50
  - .rspec
56
- - .rvmrc
51
+ - .ruby-gemset
52
+ - .ruby-version
57
53
  - ChangeLog
58
54
  - Gemfile
59
55
  - Guardfile
@@ -68,33 +64,26 @@ files:
68
64
  - spec/spec_helper.rb
69
65
  homepage: http://github.com/cheezy/page_navigation
70
66
  licenses: []
67
+ metadata: {}
71
68
  post_install_message:
72
69
  rdoc_options: []
73
70
  require_paths:
74
71
  - lib
75
72
  required_ruby_version: !ruby/object:Gem::Requirement
76
- none: false
77
73
  requirements:
78
- - - ! '>='
74
+ - - '>='
79
75
  - !ruby/object:Gem::Version
80
76
  version: '0'
81
- segments:
82
- - 0
83
- hash: 4225103840965744354
84
77
  required_rubygems_version: !ruby/object:Gem::Requirement
85
- none: false
86
78
  requirements:
87
- - - ! '>='
79
+ - - '>='
88
80
  - !ruby/object:Gem::Version
89
81
  version: '0'
90
- segments:
91
- - 0
92
- hash: 4225103840965744354
93
82
  requirements: []
94
83
  rubyforge_project: page_naigation
95
- rubygems_version: 1.8.25
84
+ rubygems_version: 2.0.0
96
85
  signing_key:
97
- specification_version: 3
86
+ specification_version: 4
98
87
  summary: Provides basic navigation through a collection of items that use the PageObject
99
88
  pattern.
100
89
  test_files:
data/.rvmrc DELETED
@@ -1,2 +0,0 @@
1
- rvm --create use 1.9.3-p392@page-object
2
-