refinerycms-pages 0.9.9.18 → 0.9.9.19
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/refinerycms-pages.gemspec +3 -3
- data/spec/models/page_spec.rb +57 -73
- metadata +3 -3
data/refinerycms-pages.gemspec
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{refinerycms-pages}
|
5
|
-
s.version = %q{0.9.9.
|
5
|
+
s.version = %q{0.9.9.19}
|
6
6
|
s.summary = %q{Pages engine for Refinery CMS}
|
7
7
|
s.description = %q{The default content engine of Refinery CMS. This engine handles the administration and display of user-editable pages.}
|
8
|
-
s.date = %q{2011-04-
|
8
|
+
s.date = %q{2011-04-22}
|
9
9
|
s.email = %q{info@refinerycms.com}
|
10
10
|
s.homepage = %q{http://refinerycms.com}
|
11
11
|
s.rubyforge_project = %q{refinerycms}
|
@@ -117,6 +117,6 @@ Gem::Specification.new do |s|
|
|
117
117
|
'spec/models/page_spec.rb'
|
118
118
|
]
|
119
119
|
|
120
|
-
s.add_dependency 'refinerycms-core', '= 0.9.9.
|
120
|
+
s.add_dependency 'refinerycms-core', '= 0.9.9.19'
|
121
121
|
s.add_dependency 'seo_meta', '~> 1.0.4'
|
122
122
|
end
|
data/spec/models/page_spec.rb
CHANGED
@@ -2,32 +2,16 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Page do
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
@page.destroy!
|
8
|
-
@page.children.each(&:destroy!)
|
9
|
-
@page = nil
|
10
|
-
@child = nil
|
11
|
-
end
|
12
|
-
|
13
|
-
@page = Page.create!({
|
14
|
-
:id => 1,
|
5
|
+
let(:page) do
|
6
|
+
Page.create!({
|
15
7
|
:title => "RSpec is great for testing too",
|
16
8
|
:deletable => true
|
17
|
-
}
|
9
|
+
})
|
18
10
|
end
|
11
|
+
let(:child) { page.children.create(:title => 'The child page') }
|
19
12
|
|
20
13
|
def page_cannot_be_destroyed
|
21
|
-
|
22
|
-
end
|
23
|
-
|
24
|
-
def create_child
|
25
|
-
@child = @page.children.create(:title => 'The child page')
|
26
|
-
end
|
27
|
-
|
28
|
-
def create_page_parts
|
29
|
-
@page.parts.create(:title => 'body', :content => "I'm the first page part for this page.")
|
30
|
-
@page.parts.create(:title => 'side body', :content => "Closely followed by the second page part.")
|
14
|
+
page.destroy.should == false
|
31
15
|
end
|
32
16
|
|
33
17
|
def turn_off_marketable_urls
|
@@ -38,144 +22,144 @@ describe Page do
|
|
38
22
|
RefinerySetting.set(:use_marketable_urls, {:value => true, :scoping => 'pages'})
|
39
23
|
end
|
40
24
|
|
41
|
-
|
42
|
-
|
25
|
+
def create_page_parts
|
26
|
+
page.parts.create(:title => 'body', :content => "I'm the first page part for this page.")
|
27
|
+
page.parts.create(:title => 'side body', :content => "Closely followed by the second page part.")
|
43
28
|
end
|
44
29
|
|
45
30
|
context "cannot be deleted under certain rules" do
|
46
31
|
it "if link_url is present" do
|
47
|
-
|
32
|
+
page.link_url = '/plugin-name'
|
48
33
|
page_cannot_be_destroyed
|
49
34
|
end
|
50
35
|
|
51
36
|
|
52
37
|
it "if refinery team deems it so" do
|
53
|
-
|
38
|
+
page.deletable = false
|
54
39
|
page_cannot_be_destroyed
|
55
40
|
end
|
56
41
|
|
57
42
|
it "if menu_match is present" do
|
58
|
-
|
43
|
+
page.menu_match = '^/RSpec is great for testing too.*$'
|
59
44
|
page_cannot_be_destroyed
|
60
45
|
end
|
61
46
|
|
62
47
|
it "unless you really want it to! >:]" do
|
63
|
-
|
64
|
-
@page.destroy!
|
48
|
+
page.destroy.should be
|
65
49
|
end
|
66
50
|
end
|
67
51
|
|
68
52
|
context "page urls" do
|
69
53
|
|
70
54
|
it "should return a full path" do
|
71
|
-
|
55
|
+
page.path.should == 'RSpec is great for testing too'
|
72
56
|
end
|
73
57
|
|
74
58
|
it "and all of its parent page titles, reversed" do
|
75
|
-
|
76
|
-
@child.path.should == 'RSpec is great for testing too - The child page'
|
59
|
+
child.path.should == 'RSpec is great for testing too - The child page'
|
77
60
|
end
|
78
61
|
|
79
62
|
it "or normally ;-)" do
|
80
|
-
|
81
|
-
@child.path({:reversed => false}).should == 'The child page - RSpec is great for testing too'
|
63
|
+
child.path({:reversed => false}).should == 'The child page - RSpec is great for testing too'
|
82
64
|
end
|
83
65
|
|
84
66
|
it "should return its url" do
|
85
|
-
|
86
|
-
|
67
|
+
page.link_url = '/contact'
|
68
|
+
page.url.should == '/contact'
|
87
69
|
end
|
88
70
|
|
89
71
|
it "should return its path with marketable urls" do
|
90
|
-
|
91
|
-
|
72
|
+
page.url[:id].should be_nil
|
73
|
+
page.url[:path].should == ["rspec-is-great-for-testing-too"]
|
92
74
|
end
|
93
75
|
|
94
76
|
it "should return its path underneath its parent with marketable urls" do
|
95
|
-
|
96
|
-
|
97
|
-
@child.url[:path].should == [@page.url[:path].first, 'the-child-page']
|
77
|
+
child.url[:id].should be_nil
|
78
|
+
child.url[:path].should == [page.url[:path].first, 'the-child-page']
|
98
79
|
end
|
99
80
|
|
100
81
|
it "should not have a path without marketable urls" do
|
101
82
|
turn_off_marketable_urls
|
102
|
-
|
103
|
-
|
83
|
+
page.url[:path].should be_nil
|
84
|
+
page.url[:id].should == "rspec-is-great-for-testing-too"
|
104
85
|
turn_on_marketable_urls
|
105
86
|
end
|
106
87
|
|
107
88
|
it "should not mention its parent without marketable urls" do
|
108
89
|
turn_off_marketable_urls
|
109
|
-
|
110
|
-
|
111
|
-
@child.url[:path].should be_nil
|
90
|
+
child.url[:id].should == 'the-child-page'
|
91
|
+
child.url[:path].should be_nil
|
112
92
|
turn_on_marketable_urls
|
113
93
|
end
|
114
94
|
end
|
115
95
|
|
116
96
|
context "home page" do
|
117
97
|
it "should respond as the home page" do
|
118
|
-
|
119
|
-
|
98
|
+
page.link_url = '/'
|
99
|
+
page.home?.should == true
|
120
100
|
end
|
121
101
|
|
122
102
|
it "should not respond as the home page" do
|
123
|
-
|
103
|
+
page.home?.should == false
|
124
104
|
end
|
125
105
|
end
|
126
106
|
|
127
107
|
context "content sections (page parts)" do
|
128
|
-
|
129
|
-
create_page_parts
|
108
|
+
before { create_page_parts }
|
130
109
|
|
131
|
-
|
132
|
-
|
110
|
+
it "should return the content when using []" do
|
111
|
+
page[:body].should == "<p>I'm the first page part for this page.</p>"
|
112
|
+
page["BoDY"].should == "<p>I'm the first page part for this page.</p>"
|
133
113
|
end
|
134
114
|
|
135
115
|
it "should return all page part content" do
|
136
|
-
|
137
|
-
|
138
|
-
@page.all_page_part_content.should == "<p>I'm the first page part for this page.</p> <p>Closely followed by the second page part.</p>"
|
116
|
+
page.all_page_part_content.should == "<p>I'm the first page part for this page.</p> <p>Closely followed by the second page part.</p>"
|
139
117
|
end
|
140
118
|
|
141
119
|
it "should reposition correctly" do
|
142
|
-
|
143
|
-
|
144
|
-
@page.parts.last.position = 4
|
120
|
+
page.parts.first.position = 6
|
121
|
+
page.parts.last.position = 4
|
145
122
|
|
146
|
-
|
147
|
-
|
123
|
+
page.parts.first.position.should == 6
|
124
|
+
page.parts.last.position.should == 4
|
148
125
|
|
149
|
-
|
126
|
+
page.reposition_parts!
|
150
127
|
|
151
|
-
|
152
|
-
|
128
|
+
page.parts.first.position.should == 0
|
129
|
+
page.parts.last.position.should == 1
|
153
130
|
end
|
154
131
|
end
|
155
132
|
|
156
133
|
context "draft pages" do
|
157
134
|
it "should not be a live page when set to draft" do
|
158
|
-
|
159
|
-
|
135
|
+
page.draft = true
|
136
|
+
page.live?.should_not be
|
137
|
+
end
|
160
138
|
|
161
|
-
|
162
|
-
|
139
|
+
it "should be a live page when not set to draft" do
|
140
|
+
page.draft = false
|
141
|
+
page.live?.should be
|
163
142
|
end
|
164
143
|
end
|
165
144
|
|
166
145
|
context "should add url suffix" do
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
146
|
+
let(:reserved_word) { Page.friendly_id_config.reserved_words.last }
|
147
|
+
let(:page_with_reserved_title) do
|
148
|
+
Page.create!({
|
149
|
+
:title => reserved_word,
|
150
|
+
:deletable => true
|
151
|
+
})
|
171
152
|
end
|
172
153
|
|
154
|
+
before { turn_on_marketable_urls }
|
155
|
+
|
173
156
|
it "when title is set to a reserved word" do
|
174
|
-
|
157
|
+
page_with_reserved_title.url[:path].should == ["#{reserved_word}-page"]
|
175
158
|
end
|
176
159
|
|
177
160
|
it "when parent page title is set to a reserved word" do
|
178
|
-
|
161
|
+
child = page_with_reserved_title.children.create(:title => 'The child page')
|
162
|
+
child.url[:path].should == ["#{reserved_word}-page", 'the-child-page']
|
179
163
|
end
|
180
164
|
end
|
181
165
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: refinerycms-pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.9.9.
|
5
|
+
version: 0.9.9.19
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Resolve Digital
|
@@ -13,7 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2011-04-
|
16
|
+
date: 2011-04-22 00:00:00 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: refinerycms-core
|
@@ -23,7 +23,7 @@ dependencies:
|
|
23
23
|
requirements:
|
24
24
|
- - "="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.9.9.
|
26
|
+
version: 0.9.9.19
|
27
27
|
type: :runtime
|
28
28
|
version_requirements: *id001
|
29
29
|
- !ruby/object:Gem::Dependency
|