page_navigation 0.6 → 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/.rvmrc +1 -1
- data/ChangeLog +3 -0
- data/lib/page_navigation/routes.rb +8 -0
- data/lib/page_navigation/version.rb +1 -1
- data/lib/page_navigation.rb +5 -0
- data/page_navigation.gemspec +2 -0
- data/spec/lib/page_navigation_spec.rb +17 -0
- metadata +21 -5
data/.rvmrc
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
rvm --create use 1.9.3-
|
1
|
+
rvm --create use 1.9.3-p392@page-object
|
2
2
|
|
data/ChangeLog
CHANGED
data/lib/page_navigation.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "page_navigation/version"
|
2
2
|
require "page_navigation/routes"
|
3
|
+
require 'data_magic'
|
3
4
|
|
4
5
|
#
|
5
6
|
# Implements basic navigation capabilities for a collection of classes
|
@@ -93,6 +94,10 @@ module PageNavigation
|
|
93
94
|
def path_for(how)
|
94
95
|
path = PageNavigation.cls.routes[how[:using]]
|
95
96
|
fail("PageFactory route :#{how[:using].to_s} not found") unless path
|
97
|
+
if PageNavigation.cls.route_data
|
98
|
+
file_to_load = PageNavigation.cls.route_data[how[:using]]
|
99
|
+
DataMagic.load "#{file_to_load.to_s}.yml" if file_to_load
|
100
|
+
end
|
96
101
|
path
|
97
102
|
end
|
98
103
|
|
data/page_navigation.gemspec
CHANGED
@@ -27,6 +27,7 @@ end
|
|
27
27
|
describe PageNavigation do
|
28
28
|
before(:each) do
|
29
29
|
@navigator = TestNavigator.new
|
30
|
+
DataMagic.stub(:load)
|
30
31
|
end
|
31
32
|
|
32
33
|
it "should raise an error when you do not provide a default route" do
|
@@ -39,6 +40,11 @@ describe PageNavigation do
|
|
39
40
|
TestNavigator.routes[:default].should == routes
|
40
41
|
end
|
41
42
|
|
43
|
+
it "should store route data" do
|
44
|
+
TestNavigator.route_data = {:default => :blah}
|
45
|
+
TestNavigator.route_data.should == {:default => :blah}
|
46
|
+
end
|
47
|
+
|
42
48
|
it "should navigate to a page calling the default methods" do
|
43
49
|
pages = [[FactoryTestPage, :a_method], [AnotherPage, :b_method]]
|
44
50
|
TestNavigator.routes = {:default => pages}
|
@@ -48,6 +54,17 @@ describe PageNavigation do
|
|
48
54
|
@navigator.navigate_to(AnotherPage).class.should == AnotherPage
|
49
55
|
end
|
50
56
|
|
57
|
+
it "should load the DataMagic file when specified" do
|
58
|
+
pages = [[FactoryTestPage, :a_method], [AnotherPage, :b_method]]
|
59
|
+
TestNavigator.routes = {:default => pages}
|
60
|
+
TestNavigator.route_data = {:default => :dm_file}
|
61
|
+
fake_page = double('a_page')
|
62
|
+
FactoryTestPage.should_receive(:new).and_return(fake_page)
|
63
|
+
fake_page.should_receive(:a_method)
|
64
|
+
DataMagic.should_receive(:load).with('dm_file.yml')
|
65
|
+
@navigator.navigate_to(AnotherPage).class.should == AnotherPage
|
66
|
+
end
|
67
|
+
|
51
68
|
it "should pass parameters to methods when navigating" do
|
52
69
|
pages = [[FactoryTestPage, :a_method, 'blah'], [AnotherPage, :b_method]]
|
53
70
|
TestNavigator.routes = {:default => pages}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: page_navigation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.7'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: data_magic
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.14'
|
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.14'
|
14
30
|
- !ruby/object:Gem::Dependency
|
15
31
|
name: rspec
|
16
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
64
80
|
version: '0'
|
65
81
|
segments:
|
66
82
|
- 0
|
67
|
-
hash:
|
83
|
+
hash: 4225103840965744354
|
68
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
85
|
none: false
|
70
86
|
requirements:
|
@@ -73,10 +89,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
89
|
version: '0'
|
74
90
|
segments:
|
75
91
|
- 0
|
76
|
-
hash:
|
92
|
+
hash: 4225103840965744354
|
77
93
|
requirements: []
|
78
94
|
rubyforge_project: page_naigation
|
79
|
-
rubygems_version: 1.8.
|
95
|
+
rubygems_version: 1.8.25
|
80
96
|
signing_key:
|
81
97
|
specification_version: 3
|
82
98
|
summary: Provides basic navigation through a collection of items that use the PageObject
|