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