semantic_navigation 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/.editorconfig +14 -0
  2. data/.gitignore +2 -0
  3. data/.travis.yml +10 -2
  4. data/Appraisals +7 -0
  5. data/Gemfile +1 -1
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +31 -20
  8. data/Rakefile +2 -1
  9. data/TODO +14 -0
  10. data/gemfiles/3.2.gemfile +7 -0
  11. data/gemfiles/3.2.gemfile.lock +112 -0
  12. data/gemfiles/4.0.gemfile +7 -0
  13. data/gemfiles/4.0.gemfile.lock +107 -0
  14. data/lib/generators/semantic_navigation/breadcrumb_renderer/templates/breadcrumb_renderer.rb +5 -5
  15. data/lib/generators/semantic_navigation/list_renderer/list_renderer_generator.rb +0 -1
  16. data/lib/generators/semantic_navigation/list_renderer/templates/list_renderer.rb +4 -4
  17. data/lib/semantic_navigation.rb +30 -0
  18. data/lib/semantic_navigation/configuration.rb +8 -9
  19. data/lib/semantic_navigation/core.rb +8 -6
  20. data/lib/semantic_navigation/core/leaf.rb +2 -2
  21. data/lib/semantic_navigation/core/mix_in/name_methods.rb +24 -0
  22. data/lib/semantic_navigation/core/mix_in/url_methods.rb +25 -0
  23. data/lib/semantic_navigation/core/navigation.rb +8 -2
  24. data/lib/semantic_navigation/core/node.rb +2 -2
  25. data/lib/semantic_navigation/deprecations/renderers/acts_as_breadcrumb.rb +14 -0
  26. data/lib/semantic_navigation/deprecations/renderers/acts_as_list.rb +12 -0
  27. data/lib/semantic_navigation/deprecations/renderers/render_helpers.rb +14 -0
  28. data/lib/semantic_navigation/helper_methods.rb +8 -4
  29. data/lib/semantic_navigation/railtie.rb +9 -19
  30. data/lib/semantic_navigation/renderers.rb +15 -8
  31. data/lib/semantic_navigation/renderers/bread_crumb.rb +6 -6
  32. data/lib/semantic_navigation/renderers/list.rb +6 -6
  33. data/lib/semantic_navigation/renderers/mix_in/acts_as_breadcrumb.rb +43 -0
  34. data/lib/semantic_navigation/renderers/mix_in/acts_as_list.rb +49 -0
  35. data/lib/semantic_navigation/renderers/mix_in/render_helpers.rb +110 -0
  36. data/lib/semantic_navigation/twitter_bootstrap/breadcrumb.rb +5 -5
  37. data/lib/semantic_navigation/twitter_bootstrap/list.rb +2 -2
  38. data/lib/semantic_navigation/twitter_bootstrap/tabs.rb +2 -2
  39. data/lib/semantic_navigation/version.rb +1 -1
  40. data/semantic_navigation.gemspec +3 -2
  41. data/spec/lib/semantic_navigation/configuration_spec.rb +29 -24
  42. data/spec/lib/semantic_navigation/core/leaf_spec.rb +121 -114
  43. data/spec/lib/semantic_navigation/core/navigation_spec.rb +81 -76
  44. data/spec/lib/semantic_navigation/core/node_spec.rb +52 -49
  45. data/spec/lib/semantic_navigation/helper_methods_spec.rb +47 -42
  46. data/spec/lib/semantic_navigation/renderers/bread_crumb_spec.rb +191 -187
  47. data/spec/lib/semantic_navigation/renderers/deprecations_spec.rb +67 -0
  48. data/spec/lib/semantic_navigation/renderers/list_spec.rb +260 -258
  49. data/spec/lib/semantic_navigation/twitter_bootstrap/breadcrumb_spec.rb +163 -159
  50. data/spec/lib/semantic_navigation/twitter_bootstrap/list_spec.rb +263 -262
  51. data/spec/lib/semantic_navigation/twitter_bootstrap/tabs_spec.rb +269 -266
  52. data/spec/spec_helper.rb +6 -0
  53. metadata +41 -13
  54. data/gemfiles/rails3 +0 -7
  55. data/lib/semantic_navigation/core/name_methods.rb +0 -24
  56. data/lib/semantic_navigation/core/url_methods.rb +0 -24
  57. data/lib/semantic_navigation/renderers/acts_as_breadcrumb.rb +0 -42
  58. data/lib/semantic_navigation/renderers/acts_as_list.rb +0 -48
  59. data/lib/semantic_navigation/renderers/render_helpers.rb +0 -109
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'SemanticNavigation::Deprecations' do
4
+
5
+ context :'SemanticNavigation::Renderers::RenderHelpers' do
6
+
7
+ it 'is availiable' do
8
+ defined?(SemanticNavigation::Renderers::RenderHelpers).should == 'constant'
9
+ end
10
+
11
+ it 'includes module with new namespace' do
12
+
13
+ class SomeRenderer
14
+ begin
15
+ include SemanticNavigation::Renderers::RenderHelpers
16
+ rescue => e
17
+ puts e
18
+ end
19
+ end
20
+
21
+ (SomeRenderer.include?(
22
+ SemanticNavigation::Renderers::MixIn::RenderHelpers
23
+ ) rescue false).should be_true
24
+ end
25
+ end
26
+
27
+ context :'SemanticNavigation::Renderers::ActsAsBreadcrumb' do
28
+ it 'is availiable' do
29
+ defined?(SemanticNavigation::Renderers::ActsAsBreadcrumb).should == 'constant'
30
+ end
31
+
32
+ it 'includes module with new namespace' do
33
+ class SomeRenderer
34
+ begin
35
+ include SemanticNavigation::Renderers::ActsAsBreadcrumb
36
+ rescue => e
37
+ puts e
38
+ end
39
+ end
40
+
41
+ (SomeRenderer.include?(
42
+ SemanticNavigation::Renderers::MixIn::ActsAsBreadcrumb
43
+ ) rescue false).should be_true
44
+ end
45
+ end
46
+
47
+ context :'SemanticNavigation::Renderers::ActsAsList' do
48
+ it 'is availiable' do
49
+ defined?(SemanticNavigation::Renderers::ActsAsList).should == 'constant'
50
+ end
51
+
52
+ it 'includes module with new namespace' do
53
+ class SomeRenderer
54
+ begin
55
+ include SemanticNavigation::Renderers::ActsAsList
56
+ rescue => e
57
+ puts e
58
+ end
59
+ end
60
+
61
+ (SomeRenderer.include?(
62
+ SemanticNavigation::Renderers::MixIn::ActsAsList
63
+ ) rescue false).should be_true
64
+ end
65
+ end
66
+
67
+ end
@@ -2,303 +2,305 @@ require 'spec_helper'
2
2
 
3
3
  describe SemanticNavigation::Renderers::List do
4
4
 
5
- before :each do
6
- class ViewObject
7
- attr_accessor :output_buffer
8
- include ActionView::Helpers::TagHelper
9
- include SemanticNavigation::HelperMethods
10
- include ActionView::Helpers::UrlHelper
11
- end
12
- @configuration = SemanticNavigation::Configuration
13
- @configuration.register_renderer :list, SemanticNavigation::Renderers::List
14
- @view_object = ViewObject.new
15
- end
16
-
17
- it 'should render empty ul tag for empty navigation' do
18
-
19
- @configuration.run do
20
- navigate :menu do
21
- end
22
- end
23
-
24
- result = @view_object.navigation_for :menu
25
- result.should == "<ul class=\"list\" id=\"menu\"><\/ul>"
26
- end
5
+ context :renders do
27
6
 
28
- it 'should render one level navigation' do
29
- @configuration.run do
30
- navigate :menu do
31
- item :url1, 'url1', :name => 'url1'
32
- item :url2, 'url2', :name => 'url2'
7
+ before :each do
8
+ class ViewObject
9
+ attr_accessor :output_buffer
10
+ include ActionView::Helpers::TagHelper
11
+ include SemanticNavigation::HelperMethods
12
+ include ActionView::Helpers::UrlHelper
33
13
  end
14
+ @configuration = SemanticNavigation::Configuration
15
+ @configuration.register_renderer :list, SemanticNavigation::Renderers::List
16
+ @view_object = ViewObject.new
34
17
  end
35
18
 
36
- result = @view_object.navigation_for :menu
37
- result.should == ["<ul class=\"list\" id=\"menu\">",
38
- "<li id=\"url1\">",
39
- "<a href=\"url1\" id=\"url1\">",
40
- "url1",
41
- "</a>",
42
- "</li>",
43
- "<li id=\"url2\">",
44
- "<a href=\"url2\" id=\"url2\">",
45
- "url2",
46
- "</a>",
47
- "</li>",
48
- "</ul>"].join
49
- end
19
+ it 'empty ul tag for empty navigation' do
50
20
 
51
- it 'renders one level navigation with specific menu tag' do
52
- @configuration.run do
21
+ @configuration.run do
22
+ navigate :menu do
23
+ end
24
+ end
53
25
 
54
- register_renderer :my_list, :list
26
+ result = @view_object.navigation_for :menu
27
+ result.should == "<ul class=\"list\" id=\"menu\"><\/ul>"
28
+ end
55
29
 
56
- styles_for :my_list do
57
- menu_tag :ol
30
+ it 'one level navigation' do
31
+ @configuration.run do
32
+ navigate :menu do
33
+ item :url1, 'url1', :name => 'url1'
34
+ item :url2, 'url2', :name => 'url2'
35
+ end
58
36
  end
59
37
 
60
- navigate :menu do
61
- item :url1, 'url1', :name => 'url1'
62
- item :url2, 'url2', :name => 'url2'
63
- end
38
+ result = @view_object.navigation_for :menu
39
+ result.should == ["<ul class=\"list\" id=\"menu\">",
40
+ "<li id=\"url1\">",
41
+ "<a href=\"url1\" id=\"url1\">",
42
+ "url1",
43
+ "</a>",
44
+ "</li>",
45
+ "<li id=\"url2\">",
46
+ "<a href=\"url2\" id=\"url2\">",
47
+ "url2",
48
+ "</a>",
49
+ "</li>",
50
+ "</ul>"].join
64
51
  end
65
52
 
66
- result = @view_object.navigation_for :menu, as: :my_list
67
- result.should == ["<ol class=\"list\" id=\"menu\">",
68
- "<li id=\"url1\">",
69
- "<a href=\"url1\" id=\"url1\">",
70
- "url1",
71
- "</a>",
72
- "</li>",
73
- "<li id=\"url2\">",
74
- "<a href=\"url2\" id=\"url2\">",
75
- "url2",
76
- "</a>",
77
- "</li>",
78
- "</ol>"].join
79
- end
80
-
81
- it 'renders one level navigation with specific menu tag' do
82
- @configuration.run do
53
+ it 'one level navigation with specific menu tag' do
54
+ @configuration.run do
83
55
 
84
- register_renderer :my_list, :list
56
+ register_renderer :my_list, :list
85
57
 
86
- styles_for :my_list do
87
- menu_tag :ol
88
- end
58
+ styles_for :my_list do
59
+ menu_tag :ol
60
+ end
89
61
 
90
- navigate :menu do
91
- item :url1, 'url1', :name => 'url1' do
62
+ navigate :menu do
63
+ item :url1, 'url1', :name => 'url1'
92
64
  item :url2, 'url2', :name => 'url2'
93
65
  end
94
66
  end
67
+
68
+ result = @view_object.navigation_for :menu, as: :my_list
69
+ result.should == ["<ol class=\"list\" id=\"menu\">",
70
+ "<li id=\"url1\">",
71
+ "<a href=\"url1\" id=\"url1\">",
72
+ "url1",
73
+ "</a>",
74
+ "</li>",
75
+ "<li id=\"url2\">",
76
+ "<a href=\"url2\" id=\"url2\">",
77
+ "url2",
78
+ "</a>",
79
+ "</li>",
80
+ "</ol>"].join
95
81
  end
96
82
 
97
- result = @view_object.navigation_for :menu, as: :my_list
98
- result.should == ["<ol class=\"list\" id=\"menu\">",
99
- "<li id=\"url1\">",
100
- "<a href=\"url1\" id=\"url1\">",
101
- "url1",
102
- "</a>",
103
- "<ol id=\"url1\">",
104
- "<li id=\"url2\">",
105
- "<a href=\"url2\" id=\"url2\">",
106
- "url2",
107
- "</a>",
108
- "</li>",
109
- "</ol>",
110
- "</li>",
111
- "</ol>"].join
112
- end
83
+ it 'one level navigation with specific menu tag' do
84
+ @configuration.run do
113
85
 
114
- it 'should render one multilevel navigation' do
115
- @configuration.run do
116
- navigate :menu do
117
- item :url1, 'url1', :name => 'url1' do
118
- item :suburl1, 'suburl1', :name => 'suburl1'
119
- end
120
- item :url2, 'url2', :name => 'url2' do
121
- item :suburl2, 'suburl2', :name => 'suburl2'
122
- end
123
- end
124
- end
86
+ register_renderer :my_list, :list
125
87
 
126
- result = @view_object.navigation_for :menu
127
- result.should == ["<ul class=\"list\" id=\"menu\">",
128
- "<li id=\"url1\">",
129
- "<a href=\"url1\" id=\"url1\">",
130
- "url1",
131
- "</a>",
132
- "<ul id=\"url1\">",
133
- "<li id=\"suburl1\">",
134
- "<a href=\"suburl1\" id=\"suburl1\">",
135
- "suburl1",
136
- "</a>",
137
- "</li>",
138
- "</ul>",
139
- "</li>",
140
- "<li id=\"url2\">",
141
- "<a href=\"url2\" id=\"url2\">",
142
- "url2",
143
- "</a>",
144
- "<ul id=\"url2\">",
145
- "<li id=\"suburl2\">",
146
- "<a href=\"suburl2\" id=\"suburl2\">",
147
- "suburl2",
148
- "</a>",
149
- "</li>",
150
- "</ul>",
151
- "</li>",
152
- "</ul>"].join
153
- end
88
+ styles_for :my_list do
89
+ menu_tag :ol
90
+ end
154
91
 
155
- it 'should render only root level' do
156
- @configuration.run do
157
- navigate :menu do
158
- item :url1, 'url1', :name => 'url1' do
159
- item :suburl1, 'suburl1', :name => 'suburl1'
160
- end
161
- item :url2, 'url2', :name => 'url2' do
162
- item :suburl2, 'suburl2', :name => 'suburl2'
163
- end
92
+ navigate :menu do
93
+ item :url1, 'url1', :name => 'url1' do
94
+ item :url2, 'url2', :name => 'url2'
95
+ end
96
+ end
164
97
  end
98
+
99
+ result = @view_object.navigation_for :menu, as: :my_list
100
+ result.should == ["<ol class=\"list\" id=\"menu\">",
101
+ "<li id=\"url1\">",
102
+ "<a href=\"url1\" id=\"url1\">",
103
+ "url1",
104
+ "</a>",
105
+ "<ol id=\"url1\">",
106
+ "<li id=\"url2\">",
107
+ "<a href=\"url2\" id=\"url2\">",
108
+ "url2",
109
+ "</a>",
110
+ "</li>",
111
+ "</ol>",
112
+ "</li>",
113
+ "</ol>"].join
165
114
  end
166
115
 
167
- result = @view_object.navigation_for :menu, :level => 0
168
- result.should == ["<ul class=\"list\" id=\"menu\">",
169
- "<li id=\"url1\">",
170
- "<a href=\"url1\" id=\"url1\">",
171
- "url1",
172
- "</a>",
173
- "</li>",
174
- "<li id=\"url2\">",
175
- "<a href=\"url2\" id=\"url2\">",
176
- "url2",
177
- "</a>",
178
- "</li>",
179
- "</ul>"].join
180
- end
116
+ it 'one multilevel navigation' do
117
+ @configuration.run do
118
+ navigate :menu do
119
+ item :url1, 'url1', :name => 'url1' do
120
+ item :suburl1, 'suburl1', :name => 'suburl1'
121
+ end
122
+ item :url2, 'url2', :name => 'url2' do
123
+ item :suburl2, 'suburl2', :name => 'suburl2'
124
+ end
125
+ end
126
+ end
181
127
 
182
- it 'should render second level if some item of first level is active' do
183
- @configuration.run do
184
- navigate :menu do
185
- item :url1, 'url1', :name => 'url1' do
186
- item :suburl1, 'suburl1', :name => 'suburl1'
187
- end
188
- item :url2, 'url2', :name => 'url2' do
189
- item :suburl2, 'suburl2', :name => 'suburl2'
190
- end
191
- end
128
+ result = @view_object.navigation_for :menu
129
+ result.should == ["<ul class=\"list\" id=\"menu\">",
130
+ "<li id=\"url1\">",
131
+ "<a href=\"url1\" id=\"url1\">",
132
+ "url1",
133
+ "</a>",
134
+ "<ul id=\"url1\">",
135
+ "<li id=\"suburl1\">",
136
+ "<a href=\"suburl1\" id=\"suburl1\">",
137
+ "suburl1",
138
+ "</a>",
139
+ "</li>",
140
+ "</ul>",
141
+ "</li>",
142
+ "<li id=\"url2\">",
143
+ "<a href=\"url2\" id=\"url2\">",
144
+ "url2",
145
+ "</a>",
146
+ "<ul id=\"url2\">",
147
+ "<li id=\"suburl2\">",
148
+ "<a href=\"suburl2\" id=\"suburl2\">",
149
+ "suburl2",
150
+ "</a>",
151
+ "</li>",
152
+ "</ul>",
153
+ "</li>",
154
+ "</ul>"].join
192
155
  end
193
156
 
194
- @view_object.should_receive(:current_page?).and_return(false, true, false, false)
157
+ it 'only root level' do
158
+ @configuration.run do
159
+ navigate :menu do
160
+ item :url1, 'url1', :name => 'url1' do
161
+ item :suburl1, 'suburl1', :name => 'suburl1'
162
+ end
163
+ item :url2, 'url2', :name => 'url2' do
164
+ item :suburl2, 'suburl2', :name => 'suburl2'
165
+ end
166
+ end
167
+ end
195
168
 
196
- result = @view_object.navigation_for :menu, :level => 1
197
- result.should == ["<ul class=\"list active\" id=\"menu\">",
198
- "<li id=\"suburl1\">",
199
- "<a href=\"suburl1\" id=\"suburl1\">",
200
- "suburl1",
201
- "</a>",
202
- "</li>",
203
- "</ul>"].join
204
- end
169
+ result = @view_object.navigation_for :menu, :level => 0
170
+ result.should == ["<ul class=\"list\" id=\"menu\">",
171
+ "<li id=\"url1\">",
172
+ "<a href=\"url1\" id=\"url1\">",
173
+ "url1",
174
+ "</a>",
175
+ "</li>",
176
+ "<li id=\"url2\">",
177
+ "<a href=\"url2\" id=\"url2\">",
178
+ "url2",
179
+ "</a>",
180
+ "</li>",
181
+ "</ul>"].join
182
+ end
205
183
 
206
- it 'should render the exact levels' do
207
- @configuration.run do
208
- navigate :menu do
209
- item :url1, 'url1', :name => 'url1' do
210
- item :suburl1, 'suburl1', :name => 'suburl1' do
211
- item :subsub1, 'subsub1', :name => 'subsub1'
184
+ it 'second level if some item of first level is active' do
185
+ @configuration.run do
186
+ navigate :menu do
187
+ item :url1, 'url1', :name => 'url1' do
188
+ item :suburl1, 'suburl1', :name => 'suburl1'
212
189
  end
213
- end
214
- item :url2, 'url2', :name => 'url2' do
215
- item :suburl2, 'suburl2', :name => 'suburl2' do
216
- item :subsub2, 'subsub2', :name => 'subsub2'
190
+ item :url2, 'url2', :name => 'url2' do
191
+ item :suburl2, 'suburl2', :name => 'suburl2'
217
192
  end
218
- end
193
+ end
219
194
  end
220
- end
221
195
 
222
- result = @view_object.navigation_for :menu, :levels => 0..1
223
- result.should == ["<ul class=\"list\" id=\"menu\">",
224
- "<li id=\"url1\">",
225
- "<a href=\"url1\" id=\"url1\">",
226
- "url1",
227
- "</a>",
228
- "<ul id=\"url1\">",
229
- "<li id=\"suburl1\">",
230
- "<a href=\"suburl1\" id=\"suburl1\">",
231
- "suburl1",
232
- "</a>",
233
- "</li>",
234
- "</ul>",
235
- "</li>",
236
- "<li id=\"url2\">",
237
- "<a href=\"url2\" id=\"url2\">",
238
- "url2",
239
- "</a>",
240
- "<ul id=\"url2\">",
241
- "<li id=\"suburl2\">",
242
- "<a href=\"suburl2\" id=\"suburl2\">",
243
- "suburl2",
244
- "</a>",
245
- "</li>",
246
- "</ul>",
247
- "</li>",
248
- "</ul>"].join
249
- end
196
+ @view_object.should_receive(:current_page?).and_return(false, true, false, false)
250
197
 
251
- it 'should render navigation except some item' do
252
- @configuration.run do
253
- navigate :menu do
254
- item :url1, 'url1', :name => 'url1' do
255
- item :suburl1, 'suburl1', :name => 'suburl1'
256
- end
257
- item :url2, 'url2', :name => 'url2' do
258
- item :suburl2, 'suburl2', :name => 'suburl2'
259
- end
260
- end
198
+ result = @view_object.navigation_for :menu, :level => 1
199
+ result.should == ["<ul class=\"list active\" id=\"menu\">",
200
+ "<li id=\"suburl1\">",
201
+ "<a href=\"suburl1\" id=\"suburl1\">",
202
+ "suburl1",
203
+ "</a>",
204
+ "</li>",
205
+ "</ul>"].join
261
206
  end
262
207
 
263
- result = @view_object.navigation_for :menu, :except_for => [:url1]
264
- result.should == ["<ul class=\"list\" id=\"menu\">",
265
- "<li id=\"url2\">",
266
- "<a href=\"url2\" id=\"url2\">",
267
- "url2",
268
- "</a>",
269
- "<ul id=\"url2\">",
270
- "<li id=\"suburl2\">",
271
- "<a href=\"suburl2\" id=\"suburl2\">",
272
- "suburl2",
273
- "</a>",
274
- "</li>",
275
- "</ul>",
276
- "</li>",
277
- "</ul>"].join
278
- end
208
+ it 'the exact levels' do
209
+ @configuration.run do
210
+ navigate :menu do
211
+ item :url1, 'url1', :name => 'url1' do
212
+ item :suburl1, 'suburl1', :name => 'suburl1' do
213
+ item :subsub1, 'subsub1', :name => 'subsub1'
214
+ end
215
+ end
216
+ item :url2, 'url2', :name => 'url2' do
217
+ item :suburl2, 'suburl2', :name => 'suburl2' do
218
+ item :subsub2, 'subsub2', :name => 'subsub2'
219
+ end
220
+ end
221
+ end
222
+ end
223
+
224
+ result = @view_object.navigation_for :menu, :levels => 0..1
225
+ result.should == ["<ul class=\"list\" id=\"menu\">",
226
+ "<li id=\"url1\">",
227
+ "<a href=\"url1\" id=\"url1\">",
228
+ "url1",
229
+ "</a>",
230
+ "<ul id=\"url1\">",
231
+ "<li id=\"suburl1\">",
232
+ "<a href=\"suburl1\" id=\"suburl1\">",
233
+ "suburl1",
234
+ "</a>",
235
+ "</li>",
236
+ "</ul>",
237
+ "</li>",
238
+ "<li id=\"url2\">",
239
+ "<a href=\"url2\" id=\"url2\">",
240
+ "url2",
241
+ "</a>",
242
+ "<ul id=\"url2\">",
243
+ "<li id=\"suburl2\">",
244
+ "<a href=\"suburl2\" id=\"suburl2\">",
245
+ "suburl2",
246
+ "</a>",
247
+ "</li>",
248
+ "</ul>",
249
+ "</li>",
250
+ "</ul>"].join
251
+ end
279
252
 
280
- it 'should render navigation except some items' do
281
- @configuration.run do
282
- navigate :menu do
283
- item :url1, 'url1', :name => 'url1' do
284
- item :suburl1, 'suburl1', :name => 'suburl1'
285
- end
286
- item :url2, 'url2', :name => 'url2' do
287
- item :suburl2, 'suburl2', :name => 'suburl2'
288
- end
253
+ it 'navigation except some item' do
254
+ @configuration.run do
255
+ navigate :menu do
256
+ item :url1, 'url1', :name => 'url1' do
257
+ item :suburl1, 'suburl1', :name => 'suburl1'
258
+ end
259
+ item :url2, 'url2', :name => 'url2' do
260
+ item :suburl2, 'suburl2', :name => 'suburl2'
261
+ end
262
+ end
289
263
  end
264
+
265
+ result = @view_object.navigation_for :menu, :except_for => [:url1]
266
+ result.should == ["<ul class=\"list\" id=\"menu\">",
267
+ "<li id=\"url2\">",
268
+ "<a href=\"url2\" id=\"url2\">",
269
+ "url2",
270
+ "</a>",
271
+ "<ul id=\"url2\">",
272
+ "<li id=\"suburl2\">",
273
+ "<a href=\"suburl2\" id=\"suburl2\">",
274
+ "suburl2",
275
+ "</a>",
276
+ "</li>",
277
+ "</ul>",
278
+ "</li>",
279
+ "</ul>"].join
290
280
  end
291
281
 
292
- result = @view_object.navigation_for :menu, :except_for => [:suburl1,:url2]
293
- result.should == ["<ul class=\"list\" id=\"menu\">",
294
- "<li id=\"url1\">",
295
- "<a href=\"url1\" id=\"url1\">",
296
- "url1",
297
- "</a>",
298
- "<ul id=\"url1\">",
299
- "</ul>",
300
- "</li>",
301
- "</ul>"].join
302
- end
282
+ it 'navigation except some items' do
283
+ @configuration.run do
284
+ navigate :menu do
285
+ item :url1, 'url1', :name => 'url1' do
286
+ item :suburl1, 'suburl1', :name => 'suburl1'
287
+ end
288
+ item :url2, 'url2', :name => 'url2' do
289
+ item :suburl2, 'suburl2', :name => 'suburl2'
290
+ end
291
+ end
292
+ end
303
293
 
304
- end
294
+ result = @view_object.navigation_for :menu, :except_for => [:suburl1,:url2]
295
+ result.should == ["<ul class=\"list\" id=\"menu\">",
296
+ "<li id=\"url1\">",
297
+ "<a href=\"url1\" id=\"url1\">",
298
+ "url1",
299
+ "</a>",
300
+ "<ul id=\"url1\">",
301
+ "</ul>",
302
+ "</li>",
303
+ "</ul>"].join
304
+ end
305
+ end
306
+ end