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
@@ -14,70 +14,75 @@ describe SemanticNavigation::HelperMethods do
14
14
  SemanticNavigation::Configuration.stub!(:new).and_return (@config_instance = mock)
15
15
  end
16
16
 
17
- it 'default renderer should be :list' do
17
+ it 'default renderer is :list' do
18
18
  @config_instance.should_receive(:render).with(:some_menu, :list, {}, @view_instance)
19
19
  @view_instance.navigation_for :some_menu
20
20
  end
21
21
 
22
- it 'should send defined renderer name' do
23
- @config_instance.should_receive(:render).with(:some_menu, :some_renderer, {}, @view_instance)
24
- @view_instance.navigation_for :some_menu, :as => :some_renderer
25
- end
22
+ context :sends do
23
+
24
+ it 'defined renderer name' do
25
+ @config_instance.should_receive(:render).with(:some_menu, :some_renderer, {}, @view_instance)
26
+ @view_instance.navigation_for :some_menu, :as => :some_renderer
27
+ end
26
28
 
27
- it 'should send received properties' do
28
- @config_instance.should_receive(:render).with(:some_menu, :some_renderer, {:level => 1, :except_for => :some_id}, @view_instance)
29
- @view_instance.navigation_for :some_menu, :as => :some_renderer, :level => 1, :except_for => :some_id
29
+ it 'received properties' do
30
+ @config_instance.should_receive(:render).with(:some_menu, :some_renderer, {:level => 1, :except_for => :some_id}, @view_instance)
31
+ @view_instance.navigation_for :some_menu, :as => :some_renderer, :level => 1, :except_for => :some_id
32
+ end
30
33
  end
31
34
  end
32
35
 
33
36
  describe "#active_item_for" do
34
37
 
35
- it 'should return empty string if navigation is empty from items' do
36
- SemanticNavigation::Configuration.navigate :some_menu do
37
- end
38
- result = @view_instance.active_item_for :some_menu
39
- result.should be_empty
40
- end
38
+ context :returns do
41
39
 
42
- it 'should return name for an active item' do
43
- SemanticNavigation::Configuration.navigate :some_menu do
44
- item :first, '/first', :name => 'First'
45
- item :second, '/second', :name => 'Second'
40
+ it 'empty string if navigation is empty from items' do
41
+ SemanticNavigation::Configuration.navigate :some_menu do
42
+ end
43
+ result = @view_instance.active_item_for :some_menu
44
+ result.should be_empty
46
45
  end
47
- @view_instance.should_receive(:current_page?).with('/first').and_return false
48
- @view_instance.should_receive(:current_page?).with('/second').and_return true
49
- result = @view_instance.active_item_for :some_menu
50
- result.should == 'Second'
51
- end
52
46
 
53
- it 'should return name for a last level' do
54
- SemanticNavigation::Configuration.navigate :some_menu do
55
- item :first_node, '/first_node', :name => 'First node' do
47
+ it 'name for an active item' do
48
+ SemanticNavigation::Configuration.navigate :some_menu do
56
49
  item :first, '/first', :name => 'First'
57
- end
58
- item :second_node, 'second_node', :name => 'Second node' do
59
50
  item :second, '/second', :name => 'Second'
60
51
  end
52
+ @view_instance.should_receive(:current_page?).with('/first').and_return false
53
+ @view_instance.should_receive(:current_page?).with('/second').and_return true
54
+ result = @view_instance.active_item_for :some_menu
55
+ result.should == 'Second'
61
56
  end
62
- @view_instance.should_receive(:current_page?).exactly(4).times.and_return(false, false,true,false) # First, First node, Second, Second node
63
- result = @view_instance.active_item_for :some_menu
64
- result.should == 'Second'
65
- end
66
57
 
67
- it 'should return name for a requested level' do
68
- SemanticNavigation::Configuration.navigate :some_menu do
69
- item :first_node, '/first_node', :name => 'First node' do
70
- item :first, '/first', :name => 'First'
58
+ it 'name for a last level' do
59
+ SemanticNavigation::Configuration.navigate :some_menu do
60
+ item :first_node, '/first_node', :name => 'First node' do
61
+ item :first, '/first', :name => 'First'
62
+ end
63
+ item :second_node, 'second_node', :name => 'Second node' do
64
+ item :second, '/second', :name => 'Second'
65
+ end
71
66
  end
72
- item :second_node, 'second_node', :name => 'Second node' do
73
- item :second, '/second', :name => 'Second'
67
+ @view_instance.should_receive(:current_page?).exactly(4).times.and_return(false, false,true,false) # First, First node, Second, Second node
68
+ result = @view_instance.active_item_for :some_menu
69
+ result.should == 'Second'
70
+ end
71
+
72
+ it 'name for a requested level' do
73
+ SemanticNavigation::Configuration.navigate :some_menu do
74
+ item :first_node, '/first_node', :name => 'First node' do
75
+ item :first, '/first', :name => 'First'
76
+ end
77
+ item :second_node, 'second_node', :name => 'Second node' do
78
+ item :second, '/second', :name => 'Second'
79
+ end
74
80
  end
81
+ @view_instance.should_receive(:current_page?).exactly(4).times.and_return(false, false,true,false) # First, First node, Second, Second node
82
+ result = @view_instance.active_item_for :some_menu, 1
83
+ result.should == 'Second node'
75
84
  end
76
- @view_instance.should_receive(:current_page?).exactly(4).times.and_return(false, false,true,false) # First, First node, Second, Second node
77
- result = @view_instance.active_item_for :some_menu, 1
78
- result.should == 'Second node'
79
85
  end
80
-
81
86
  end
82
87
 
83
88
  end
@@ -1,228 +1,232 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe SemanticNavigation::Renderers::BreadCrumb do
4
- before :each do
5
- class ViewObject
6
- attr_accessor :output_buffer
7
- include ActionView::Helpers::TagHelper
8
- include SemanticNavigation::HelperMethods
9
- include ActionView::Helpers::UrlHelper
10
- end
11
- @configuration = SemanticNavigation::Configuration
12
- @configuration.register_renderer :breadcrumb, SemanticNavigation::Renderers::BreadCrumb
13
- @view_object = ViewObject.new
14
- end
15
4
 
16
- it 'should render empty ul tag for empty navigation' do
17
-
18
- @configuration.run do
19
- navigate :menu do
20
- end
21
- end
22
-
23
- result = @view_object.navigation_for :menu, :as => :breadcrumb
24
- result.should == "<ul class=\"breadcrumb\" id=\"menu\"></ul>"
25
- end
26
-
27
- it 'should render one level navigation breadcrumb' do
28
- @configuration.run do
29
- navigate :menu do
30
- item :url1, 'url1', :name => 'url1'
31
- item :url2, 'url2', :name => 'url2'
5
+ context :renders do
6
+
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
32
13
  end
14
+ @configuration = SemanticNavigation::Configuration
15
+ @configuration.register_renderer :breadcrumb, SemanticNavigation::Renderers::BreadCrumb
16
+ @view_object = ViewObject.new
33
17
  end
34
18
 
35
- @view_object.should_receive(:current_page?).and_return(false,true)
19
+ it 'empty ul tag for empty navigation' do
36
20
 
37
- result = @view_object.navigation_for :menu, :as => :breadcrumb
38
- result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
39
- "<li id=\"url2\">",
40
- "url2",
41
- "</li>",
42
- "</ul>"].join
43
- end
21
+ @configuration.run do
22
+ navigate :menu do
23
+ end
24
+ end
44
25
 
45
- it 'renders breadcrumb with secific menu tag' do
46
- @configuration.run do
47
-
48
- register_renderer :my_breadcrumb, :breadcrumb
26
+ result = @view_object.navigation_for :menu, :as => :breadcrumb
27
+ result.should == "<ul class=\"breadcrumb\" id=\"menu\"></ul>"
28
+ end
49
29
 
50
- styles_for :my_breadcrumb do
51
- menu_tag :ol
30
+ it 'one level navigation breadcrumb' do
31
+ @configuration.run do
32
+ navigate :menu do
33
+ item :url1, 'url1', :name => 'url1'
34
+ item :url2, 'url2', :name => 'url2'
35
+ end
52
36
  end
53
37
 
54
- navigate :menu do
55
- item :url1, 'url1', :name => 'url1'
56
- item :url2, 'url2', :name => 'url2'
57
- end
38
+ @view_object.should_receive(:current_page?).and_return(false,true)
39
+
40
+ result = @view_object.navigation_for :menu, :as => :breadcrumb
41
+ result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
42
+ "<li id=\"url2\">",
43
+ "url2",
44
+ "</li>",
45
+ "</ul>"].join
58
46
  end
59
47
 
60
- @view_object.should_receive(:current_page?).and_return(false,true)
48
+ it 'breadcrumb with secific menu tag' do
49
+ @configuration.run do
61
50
 
62
- result = @view_object.navigation_for :menu, :as => :my_breadcrumb
63
- result.should == ["<ol class=\"breadcrumb\" id=\"menu\">",
64
- "<li id=\"url2\">",
65
- "url2",
66
- "</li>",
67
- "</ol>"].join
68
- end
69
-
70
- it 'should render one multilevel navigation breadcrumb' do
71
- @configuration.run do
72
- navigate :menu do
73
- item :url1, 'url1', :name => 'url1' do
74
- item :suburl1, 'suburl1', :name => 'suburl1'
75
- end
76
- item :url2, 'url2', :name => 'url2' do
77
- item :suburl2, 'suburl2', :name => 'suburl2'
78
- end
79
- end
80
- end
51
+ register_renderer :my_breadcrumb, :breadcrumb
81
52
 
82
- @view_object.should_receive(:current_page?).and_return(true,false,false,false)
53
+ styles_for :my_breadcrumb do
54
+ menu_tag :ol
55
+ end
83
56
 
84
- result = @view_object.navigation_for :menu, :as => :breadcrumb
85
- result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
86
- "<li id=\"url1\">",
87
- "<a href=\"url1\" id=\"url1\">",
88
- "url1",
89
- "</a>",
90
- "</li>",
91
- "<li>/",
92
- "</li>",
93
- "<li id=\"suburl1\">",
94
- "suburl1",
95
- "</li>",
96
- "</ul>"].join
97
- end
98
-
99
- it 'should render last item as link if :last_as_link => true' do
100
- @configuration.run do
101
- navigate :menu do
102
- item :url1, 'url1', :name => 'url1' do
103
- item :suburl1, 'suburl1', :name => 'suburl1'
104
- end
105
- item :url2, 'url2', :name => 'url2' do
106
- item :suburl2, 'suburl2', :name => 'suburl2'
107
- end
57
+ navigate :menu do
58
+ item :url1, 'url1', :name => 'url1'
59
+ item :url2, 'url2', :name => 'url2'
60
+ end
108
61
  end
109
- end
110
62
 
111
- @view_object.should_receive(:current_page?).and_return(true,false,false,false)
63
+ @view_object.should_receive(:current_page?).and_return(false,true)
112
64
 
113
- result = @view_object.navigation_for :menu, :as => :breadcrumb, :last_as_link => true
114
- result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
115
- "<li id=\"url1\">",
116
- "<a href=\"url1\" id=\"url1\">",
117
- "url1",
118
- "</a>",
119
- "</li>",
120
- "<li>",
121
- "/",
122
- "</li>",
123
- "<li id=\"suburl1\">",
124
- "<a href=\"suburl1\" id=\"suburl1\">",
125
- "suburl1",
126
- "</a>",
127
- "</li>",
128
- "</ul>"].join
129
- end
65
+ result = @view_object.navigation_for :menu, :as => :my_breadcrumb
66
+ result.should == ["<ol class=\"breadcrumb\" id=\"menu\">",
67
+ "<li id=\"url2\">",
68
+ "url2",
69
+ "</li>",
70
+ "</ol>"].join
71
+ end
130
72
 
131
- it 'should render only root level' do
132
- @configuration.run do
133
- navigate :menu do
134
- item :url1, 'url1', :name => 'url1' do
135
- item :suburl1, 'suburl1', :name => 'suburl1'
136
- end
137
- item :url2, 'url2', :name => 'url2' do
138
- item :suburl2, 'suburl2', :name => 'suburl2'
139
- end
73
+ it 'one multilevel navigation breadcrumb' do
74
+ @configuration.run do
75
+ navigate :menu do
76
+ item :url1, 'url1', :name => 'url1' do
77
+ item :suburl1, 'suburl1', :name => 'suburl1'
78
+ end
79
+ item :url2, 'url2', :name => 'url2' do
80
+ item :suburl2, 'suburl2', :name => 'suburl2'
81
+ end
82
+ end
140
83
  end
84
+
85
+ @view_object.should_receive(:current_page?).and_return(true,false,false,false)
86
+
87
+ result = @view_object.navigation_for :menu, :as => :breadcrumb
88
+ result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
89
+ "<li id=\"url1\">",
90
+ "<a href=\"url1\" id=\"url1\">",
91
+ "url1",
92
+ "</a>",
93
+ "</li>",
94
+ "<li>/",
95
+ "</li>",
96
+ "<li id=\"suburl1\">",
97
+ "suburl1",
98
+ "</li>",
99
+ "</ul>"].join
141
100
  end
142
101
 
143
- @view_object.should_receive(:current_page?).and_return(true,false,false,false)
102
+ it 'last item as link if :last_as_link => true' do
103
+ @configuration.run do
104
+ navigate :menu do
105
+ item :url1, 'url1', :name => 'url1' do
106
+ item :suburl1, 'suburl1', :name => 'suburl1'
107
+ end
108
+ item :url2, 'url2', :name => 'url2' do
109
+ item :suburl2, 'suburl2', :name => 'suburl2'
110
+ end
111
+ end
112
+ end
144
113
 
145
- result = @view_object.navigation_for :menu, :level => 0, :as => :breadcrumb
146
- result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
147
- "<li id=\"url1\">",
148
- "url1",
149
- "</li>",
150
- "</ul>"].join
151
- end
114
+ @view_object.should_receive(:current_page?).and_return(true,false,false,false)
115
+
116
+ result = @view_object.navigation_for :menu, :as => :breadcrumb, :last_as_link => true
117
+ result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
118
+ "<li id=\"url1\">",
119
+ "<a href=\"url1\" id=\"url1\">",
120
+ "url1",
121
+ "</a>",
122
+ "</li>",
123
+ "<li>",
124
+ "/",
125
+ "</li>",
126
+ "<li id=\"suburl1\">",
127
+ "<a href=\"suburl1\" id=\"suburl1\">",
128
+ "suburl1",
129
+ "</a>",
130
+ "</li>",
131
+ "</ul>"].join
132
+ end
152
133
 
153
- it 'should render second level' do
154
- @configuration.run do
155
- navigate :menu do
156
- item :url1, 'url1', :name => 'url1' do
157
- item :suburl1, 'suburl1', :name => 'suburl1'
158
- end
159
- item :url2, 'url2', :name => 'url2' do
160
- item :suburl2, 'suburl2', :name => 'suburl2'
161
- end
134
+ it 'only root level' do
135
+ @configuration.run do
136
+ navigate :menu do
137
+ item :url1, 'url1', :name => 'url1' do
138
+ item :suburl1, 'suburl1', :name => 'suburl1'
139
+ end
140
+ item :url2, 'url2', :name => 'url2' do
141
+ item :suburl2, 'suburl2', :name => 'suburl2'
142
+ end
143
+ end
162
144
  end
163
- end
164
145
 
165
- @view_object.should_receive(:current_page?).and_return(true, false, false, false)
146
+ @view_object.should_receive(:current_page?).and_return(true,false,false,false)
166
147
 
167
- result = @view_object.navigation_for :menu, :level => 1, :as => :breadcrumb
168
- result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
169
- "<li id=\"suburl1\">",
170
- "suburl1",
148
+ result = @view_object.navigation_for :menu, :level => 0, :as => :breadcrumb
149
+ result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
150
+ "<li id=\"url1\">",
151
+ "url1",
171
152
  "</li>",
172
- "</ul>"].join
173
- end
153
+ "</ul>"].join
154
+ end
174
155
 
175
- it 'should render the exact levels' do
176
- @configuration.run do
177
- navigate :menu do
178
- item :url1, 'url1', :name => 'url1' do
179
- item :suburl1, 'suburl1', :name => 'suburl1' do
180
- item :subsub1, 'subsub1', :name => 'subsub1'
156
+ it 'second level' do
157
+ @configuration.run do
158
+ navigate :menu do
159
+ item :url1, 'url1', :name => 'url1' do
160
+ item :suburl1, 'suburl1', :name => 'suburl1'
181
161
  end
182
- end
183
- item :url2, 'url2', :name => 'url2' do
184
- item :suburl2, 'suburl2', :name => 'suburl2' do
185
- item :subsub2, 'subsub2', :name => 'subsub2'
162
+ item :url2, 'url2', :name => 'url2' do
163
+ item :suburl2, 'suburl2', :name => 'suburl2'
186
164
  end
187
- end
165
+ end
188
166
  end
167
+
168
+ @view_object.should_receive(:current_page?).and_return(true, false, false, false)
169
+
170
+ result = @view_object.navigation_for :menu, :level => 1, :as => :breadcrumb
171
+ result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
172
+ "<li id=\"suburl1\">",
173
+ "suburl1",
174
+ "</li>",
175
+ "</ul>"].join
189
176
  end
190
177
 
191
- @view_object.should_receive(:current_page?).and_return(true, false, false, false, false, false)
178
+ it 'the exact levels' do
179
+ @configuration.run do
180
+ navigate :menu do
181
+ item :url1, 'url1', :name => 'url1' do
182
+ item :suburl1, 'suburl1', :name => 'suburl1' do
183
+ item :subsub1, 'subsub1', :name => 'subsub1'
184
+ end
185
+ end
186
+ item :url2, 'url2', :name => 'url2' do
187
+ item :suburl2, 'suburl2', :name => 'suburl2' do
188
+ item :subsub2, 'subsub2', :name => 'subsub2'
189
+ end
190
+ end
191
+ end
192
+ end
192
193
 
193
- result = @view_object.navigation_for :menu, :levels => 0..1, :as => :breadcrumb
194
- result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
195
- "<li id=\"url1\">",
196
- "<a href=\"url1\" id=\"url1\">",
197
- "url1",
198
- "</a>",
199
- "</li>",
200
- "<li>/",
201
- "</li>",
202
- "<li id=\"suburl1\">",
203
- "suburl1",
204
- "</li>",
205
- "</ul>"].join
206
- end
194
+ @view_object.should_receive(:current_page?).and_return(true, false, false, false, false, false)
195
+
196
+ result = @view_object.navigation_for :menu, :levels => 0..1, :as => :breadcrumb
197
+ result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
198
+ "<li id=\"url1\">",
199
+ "<a href=\"url1\" id=\"url1\">",
200
+ "url1",
201
+ "</a>",
202
+ "</li>",
203
+ "<li>/",
204
+ "</li>",
205
+ "<li id=\"suburl1\">",
206
+ "suburl1",
207
+ "</li>",
208
+ "</ul>"].join
209
+ end
207
210
 
208
- it 'should render navigation except some item' do
209
- @configuration.run do
210
- navigate :menu do
211
- item :url1, 'url1', :name => 'url1' do
212
- item :suburl1, 'suburl1', :name => 'suburl1'
213
- end
214
- item :url2, 'url2', :name => 'url2' do
215
- item :suburl2, 'suburl2', :name => 'suburl2'
216
- end
211
+ it 'navigation except some item' do
212
+ @configuration.run do
213
+ navigate :menu do
214
+ item :url1, 'url1', :name => 'url1' do
215
+ item :suburl1, 'suburl1', :name => 'suburl1'
216
+ end
217
+ item :url2, 'url2', :name => 'url2' do
218
+ item :suburl2, 'suburl2', :name => 'suburl2'
219
+ end
220
+ end
217
221
  end
222
+
223
+ @view_object.should_receive(:current_page?).and_return(true, false, false, false)
224
+ result = @view_object.navigation_for :menu, :except_for => [:suburl1], :as => :breadcrumb
225
+ result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
226
+ "<li id=\"url1\">",
227
+ "url1",
228
+ "</li>",
229
+ "</ul>"].join
218
230
  end
219
-
220
- @view_object.should_receive(:current_page?).and_return(true, false, false, false)
221
- result = @view_object.navigation_for :menu, :except_for => [:suburl1], :as => :breadcrumb
222
- result.should == ["<ul class=\"breadcrumb\" id=\"menu\">",
223
- "<li id=\"url1\">",
224
- "url1",
225
- "</li>",
226
- "</ul>"].join
227
231
  end
228
- end
232
+ end