semantic_navigation 0.1.1 → 0.1.3

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.
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