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
@@ -1,202 +1,206 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe SemanticNavigation::TwitterBootstrap::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 :bootstrap_breadcrumb, SemanticNavigation::TwitterBootstrap::Breadcrumb
13
- @view_object = ViewObject.new
14
- end
15
4
 
16
- it 'should render empty ul tag for empty navigation' do
5
+ context :renders do
17
6
 
18
- @configuration.run do
19
- navigate :menu do
20
- end
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
13
+ end
14
+ @configuration = SemanticNavigation::Configuration
15
+ @configuration.register_renderer :bootstrap_breadcrumb, SemanticNavigation::TwitterBootstrap::Breadcrumb
16
+ @view_object = ViewObject.new
21
17
  end
22
18
 
23
- result = @view_object.navigation_for :menu, :as => :bootstrap_breadcrumb
24
- result.should == "<ul class=\"breadcrumb\"></ul>"
25
- end
19
+ it 'empty ul tag for empty navigation' do
26
20
 
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'
21
+ @configuration.run do
22
+ navigate :menu do
23
+ end
32
24
  end
33
- end
34
25
 
35
- @view_object.should_receive(:current_page?).and_return(false,true)
36
-
37
- result = @view_object.navigation_for :menu, :as => :bootstrap_breadcrumb
38
- result.should == ["<ul class=\"breadcrumb\">",
39
- "<li>",
40
- "url2",
41
- "</li>",
42
- "</ul>"].join
43
- end
26
+ result = @view_object.navigation_for :menu, :as => :bootstrap_breadcrumb
27
+ result.should == "<ul class=\"breadcrumb\"></ul>"
28
+ end
44
29
 
45
- it 'should render one multilevel navigation breadcrumb' do
46
- @configuration.run do
47
- navigate :menu do
48
- item :url1, 'url1', :name => 'url1' do
49
- item :suburl1, 'suburl1', :name => 'suburl1'
50
- end
51
- item :url2, 'url2', :name => 'url2' do
52
- item :suburl2, 'suburl2', :name => 'suburl2'
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'
53
35
  end
54
36
  end
55
- end
56
37
 
57
- @view_object.should_receive(:current_page?).and_return(true,false,false,false)
38
+ @view_object.should_receive(:current_page?).and_return(false,true)
58
39
 
59
- result = @view_object.navigation_for :menu, :as => :bootstrap_breadcrumb
60
- result.should == ["<ul class=\"breadcrumb\">",
61
- "<li>",
62
- "<a href=\"url1\">",
63
- "url1",
64
- "</a>",
65
- "<span class=\"divider\">/",
66
- "</span>",
67
- "</li>",
68
- "<li>",
69
- "suburl1",
70
- "</li>",
71
- "</ul>"].join
72
- end
40
+ result = @view_object.navigation_for :menu, :as => :bootstrap_breadcrumb
41
+ result.should == ["<ul class=\"breadcrumb\">",
42
+ "<li>",
43
+ "url2",
44
+ "</li>",
45
+ "</ul>"].join
46
+ end
73
47
 
74
- it 'should render last item as link if :last_as_link => true' do
75
- @configuration.run do
76
- navigate :menu do
77
- item :url1, 'url1', :name => 'url1' do
78
- item :suburl1, 'suburl1', :name => 'suburl1'
79
- end
80
- item :url2, 'url2', :name => 'url2' do
81
- item :suburl2, 'suburl2', :name => 'suburl2'
48
+ it 'one multilevel navigation breadcrumb' do
49
+ @configuration.run do
50
+ navigate :menu do
51
+ item :url1, 'url1', :name => 'url1' do
52
+ item :suburl1, 'suburl1', :name => 'suburl1'
53
+ end
54
+ item :url2, 'url2', :name => 'url2' do
55
+ item :suburl2, 'suburl2', :name => 'suburl2'
56
+ end
82
57
  end
83
58
  end
84
- end
85
-
86
- @view_object.should_receive(:current_page?).and_return(true,false,false,false)
87
59
 
88
- result = @view_object.navigation_for :menu, :as => :bootstrap_breadcrumb, :last_as_link => true
89
- result.should == ["<ul class=\"breadcrumb\">",
90
- "<li>",
91
- "<a href=\"url1\">",
92
- "url1",
93
- "</a>",
94
- "<span class=\"divider\">/",
95
- "</span>",
96
- "</li>",
97
- "<li>",
98
- "<a href=\"suburl1\">",
60
+ @view_object.should_receive(:current_page?).and_return(true,false,false,false)
61
+
62
+ result = @view_object.navigation_for :menu, :as => :bootstrap_breadcrumb
63
+ result.should == ["<ul class=\"breadcrumb\">",
64
+ "<li>",
65
+ "<a href=\"url1\">",
66
+ "url1",
67
+ "</a>",
68
+ "<span class=\"divider\">/",
69
+ "</span>",
70
+ "</li>",
71
+ "<li>",
99
72
  "suburl1",
100
- "</a>",
101
- "</li>",
102
- "</ul>"].join
103
- end
73
+ "</li>",
74
+ "</ul>"].join
75
+ end
104
76
 
105
- it 'should render only root level' do
106
- @configuration.run do
107
- navigate :menu do
108
- item :url1, 'url1', :name => 'url1' do
109
- item :suburl1, 'suburl1', :name => 'suburl1'
110
- end
111
- item :url2, 'url2', :name => 'url2' do
112
- item :suburl2, 'suburl2', :name => 'suburl2'
77
+ it 'last item as link if :last_as_link => true' do
78
+ @configuration.run do
79
+ navigate :menu do
80
+ item :url1, 'url1', :name => 'url1' do
81
+ item :suburl1, 'suburl1', :name => 'suburl1'
82
+ end
83
+ item :url2, 'url2', :name => 'url2' do
84
+ item :suburl2, 'suburl2', :name => 'suburl2'
85
+ end
113
86
  end
114
87
  end
115
- end
116
-
117
- @view_object.should_receive(:current_page?).and_return(true,false,false,false)
118
88
 
119
- result = @view_object.navigation_for :menu, :level => 0, :as => :bootstrap_breadcrumb
120
- result.should == ["<ul class=\"breadcrumb\">",
121
- "<li>",
122
- "url1",
123
- "</li>",
124
- "</ul>"].join
125
- end
89
+ @view_object.should_receive(:current_page?).and_return(true,false,false,false)
90
+
91
+ result = @view_object.navigation_for :menu, :as => :bootstrap_breadcrumb, :last_as_link => true
92
+ result.should == ["<ul class=\"breadcrumb\">",
93
+ "<li>",
94
+ "<a href=\"url1\">",
95
+ "url1",
96
+ "</a>",
97
+ "<span class=\"divider\">/",
98
+ "</span>",
99
+ "</li>",
100
+ "<li>",
101
+ "<a href=\"suburl1\">",
102
+ "suburl1",
103
+ "</a>",
104
+ "</li>",
105
+ "</ul>"].join
106
+ end
126
107
 
127
- it 'should render second level' do
128
- @configuration.run do
129
- navigate :menu do
130
- item :url1, 'url1', :name => 'url1' do
131
- item :suburl1, 'suburl1', :name => 'suburl1'
132
- end
133
- item :url2, 'url2', :name => 'url2' do
134
- item :suburl2, 'suburl2', :name => 'suburl2'
108
+ it 'only root level' do
109
+ @configuration.run do
110
+ navigate :menu do
111
+ item :url1, 'url1', :name => 'url1' do
112
+ item :suburl1, 'suburl1', :name => 'suburl1'
113
+ end
114
+ item :url2, 'url2', :name => 'url2' do
115
+ item :suburl2, 'suburl2', :name => 'suburl2'
116
+ end
135
117
  end
136
118
  end
137
- end
138
119
 
139
- @view_object.should_receive(:current_page?).and_return(true, false, false, false)
120
+ @view_object.should_receive(:current_page?).and_return(true,false,false,false)
140
121
 
141
- result = @view_object.navigation_for :menu, :level => 1, :as => :bootstrap_breadcrumb
142
- result.should == ["<ul class=\"breadcrumb\">",
143
- "<li>",
144
- "suburl1",
145
- "</li>",
146
- "</ul>"].join
147
- end
122
+ result = @view_object.navigation_for :menu, :level => 0, :as => :bootstrap_breadcrumb
123
+ result.should == ["<ul class=\"breadcrumb\">",
124
+ "<li>",
125
+ "url1",
126
+ "</li>",
127
+ "</ul>"].join
128
+ end
148
129
 
149
- it 'should render the exact levels' do
150
- @configuration.run do
151
- navigate :menu do
152
- item :url1, 'url1', :name => 'url1' do
153
- item :suburl1, 'suburl1', :name => 'suburl1' do
154
- item :subsub1, 'subsub1', :name => 'subsub1'
130
+ it 'second level' do
131
+ @configuration.run do
132
+ navigate :menu do
133
+ item :url1, 'url1', :name => 'url1' do
134
+ item :suburl1, 'suburl1', :name => 'suburl1'
155
135
  end
156
- end
157
- item :url2, 'url2', :name => 'url2' do
158
- item :suburl2, 'suburl2', :name => 'suburl2' do
159
- item :subsub2, 'subsub2', :name => 'subsub2'
136
+ item :url2, 'url2', :name => 'url2' do
137
+ item :suburl2, 'suburl2', :name => 'suburl2'
160
138
  end
161
139
  end
162
140
  end
163
- end
164
141
 
165
- @view_object.should_receive(:current_page?).and_return(true, false, false, false, false, false)
142
+ @view_object.should_receive(:current_page?).and_return(true, false, false, false)
166
143
 
167
- result = @view_object.navigation_for :menu, :levels => 0..1, :as => :bootstrap_breadcrumb
168
- result.should == ["<ul class=\"breadcrumb\">",
169
- "<li>",
170
- "<a href=\"url1\">",
171
- "url1",
172
- "</a>",
173
- "<span class=\"divider\">/",
174
- "</span>",
175
- "</li>",
176
- "<li>",
177
- "suburl1",
178
- "</li>",
179
- "</ul>"].join
180
- end
144
+ result = @view_object.navigation_for :menu, :level => 1, :as => :bootstrap_breadcrumb
145
+ result.should == ["<ul class=\"breadcrumb\">",
146
+ "<li>",
147
+ "suburl1",
148
+ "</li>",
149
+ "</ul>"].join
150
+ end
181
151
 
182
- it 'should render navigation except some item' 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'
152
+ it 'the exact levels' do
153
+ @configuration.run do
154
+ navigate :menu do
155
+ item :url1, 'url1', :name => 'url1' do
156
+ item :suburl1, 'suburl1', :name => 'suburl1' do
157
+ item :subsub1, 'subsub1', :name => 'subsub1'
158
+ end
159
+ end
160
+ item :url2, 'url2', :name => 'url2' do
161
+ item :suburl2, 'suburl2', :name => 'suburl2' do
162
+ item :subsub2, 'subsub2', :name => 'subsub2'
163
+ end
164
+ end
190
165
  end
191
166
  end
167
+
168
+ @view_object.should_receive(:current_page?).and_return(true, false, false, false, false, false)
169
+
170
+ result = @view_object.navigation_for :menu, :levels => 0..1, :as => :bootstrap_breadcrumb
171
+ result.should == ["<ul class=\"breadcrumb\">",
172
+ "<li>",
173
+ "<a href=\"url1\">",
174
+ "url1",
175
+ "</a>",
176
+ "<span class=\"divider\">/",
177
+ "</span>",
178
+ "</li>",
179
+ "<li>",
180
+ "suburl1",
181
+ "</li>",
182
+ "</ul>"].join
192
183
  end
193
184
 
194
- @view_object.should_receive(:current_page?).and_return(true, false, false, false)
195
- result = @view_object.navigation_for :menu, :except_for => [:suburl1], :as => :bootstrap_breadcrumb
196
- result.should == ["<ul class=\"breadcrumb\">",
197
- "<li>",
198
- "url1",
199
- "</li>",
200
- "</ul>"].join
185
+ it 'navigation except some item' do
186
+ @configuration.run do
187
+ navigate :menu do
188
+ item :url1, 'url1', :name => 'url1' do
189
+ item :suburl1, 'suburl1', :name => 'suburl1'
190
+ end
191
+ item :url2, 'url2', :name => 'url2' do
192
+ item :suburl2, 'suburl2', :name => 'suburl2'
193
+ end
194
+ end
195
+ end
196
+
197
+ @view_object.should_receive(:current_page?).and_return(true, false, false, false)
198
+ result = @view_object.navigation_for :menu, :except_for => [:suburl1], :as => :bootstrap_breadcrumb
199
+ result.should == ["<ul class=\"breadcrumb\">",
200
+ "<li>",
201
+ "url1",
202
+ "</li>",
203
+ "</ul>"].join
204
+ end
201
205
  end
202
206
  end
@@ -1,316 +1,317 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe SemanticNavigation::TwitterBootstrap::List do
4
+ context :renders do
4
5
 
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 :bootstrap_list, SemanticNavigation::TwitterBootstrap::List
14
- @view_object = ViewObject.new
15
- end
6
+ before :each do
7
+ class ViewObject
8
+ attr_accessor :output_buffer
9
+ include ActionView::Helpers::TagHelper
10
+ include SemanticNavigation::HelperMethods
11
+ include ActionView::Helpers::UrlHelper
12
+ end
13
+ @configuration = SemanticNavigation::Configuration
14
+ @configuration.register_renderer :bootstrap_list, SemanticNavigation::TwitterBootstrap::List
15
+ @view_object = ViewObject.new
16
+ end
16
17
 
17
- it 'should render empty ul tag for empty navigation' do
18
+ it 'empty ul tag for empty navigation' do
18
19
 
19
- @configuration.run do
20
- navigate :menu do
20
+ @configuration.run do
21
+ navigate :menu do
22
+ end
21
23
  end
22
- end
23
24
 
24
- result = @view_object.navigation_for :menu, :as => :bootstrap_list
25
- result.should == "<ul class=\"nav nav-list\"></ul>"
26
- end
25
+ result = @view_object.navigation_for :menu, :as => :bootstrap_list
26
+ result.should == "<ul class=\"nav nav-list\"></ul>"
27
+ end
27
28
 
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'
29
+ it 'one level navigation' do
30
+ @configuration.run do
31
+ navigate :menu do
32
+ item :url1, 'url1', :name => 'url1'
33
+ item :url2, 'url2', :name => 'url2'
34
+ end
33
35
  end
34
- end
35
36
 
36
- result = @view_object.navigation_for :menu, :as => :bootstrap_list
37
- result.should == ["<ul class=\"nav nav-list\">",
38
- "<li>",
39
- "<a href=\"url1\">",
40
- "url1",
41
- "</a>",
42
- "</li>",
43
- "<li>",
44
- "<a href=\"url2\">",
45
- "url2",
46
- "</a>",
47
- "</li>",
48
- "</ul>"].join
49
- end
37
+ result = @view_object.navigation_for :menu, :as => :bootstrap_list
38
+ result.should == ["<ul class=\"nav nav-list\">",
39
+ "<li>",
40
+ "<a href=\"url1\">",
41
+ "url1",
42
+ "</a>",
43
+ "</li>",
44
+ "<li>",
45
+ "<a href=\"url2\">",
46
+ "url2",
47
+ "</a>",
48
+ "</li>",
49
+ "</ul>"].join
50
+ end
50
51
 
51
- it 'should render one multilevel navigation' do
52
- @configuration.run do
53
- navigate :menu do
54
- item :url1, 'url1', :name => 'url1' do
55
- item :suburl1, 'suburl1', :name => 'suburl1'
56
- end
57
- item :url2, 'url2', :name => 'url2' do
58
- item :suburl2, 'suburl2', :name => 'suburl2'
52
+ it 'one multilevel navigation' do
53
+ @configuration.run do
54
+ navigate :menu do
55
+ item :url1, 'url1', :name => 'url1' do
56
+ item :suburl1, 'suburl1', :name => 'suburl1'
57
+ end
58
+ item :url2, 'url2', :name => 'url2' do
59
+ item :suburl2, 'suburl2', :name => 'suburl2'
60
+ end
59
61
  end
60
62
  end
61
- end
62
63
 
63
- result = @view_object.navigation_for :menu, :as => :bootstrap_list
64
- result.should == ["<ul class=\"nav nav-list\">",
65
- "<li>",
66
- "<a href=\"url1\">",
67
- "url1",
68
- "</a>",
69
- "<ul>",
70
- "<li>",
71
- "<a href=\"suburl1\">",
72
- "suburl1",
73
- "</a>",
74
- "</li>",
75
- "</ul>",
76
- "</li>",
77
- "<li>",
78
- "<a href=\"url2\">",
79
- "url2",
80
- "</a>",
81
- "<ul>",
82
- "<li>",
83
- "<a href=\"suburl2\">",
84
- "suburl2",
85
- "</a>",
86
- "</li>",
87
- "</ul>",
88
- "</li>",
89
- "</ul>"].join
90
- end
64
+ result = @view_object.navigation_for :menu, :as => :bootstrap_list
65
+ result.should == ["<ul class=\"nav nav-list\">",
66
+ "<li>",
67
+ "<a href=\"url1\">",
68
+ "url1",
69
+ "</a>",
70
+ "<ul>",
71
+ "<li>",
72
+ "<a href=\"suburl1\">",
73
+ "suburl1",
74
+ "</a>",
75
+ "</li>",
76
+ "</ul>",
77
+ "</li>",
78
+ "<li>",
79
+ "<a href=\"url2\">",
80
+ "url2",
81
+ "</a>",
82
+ "<ul>",
83
+ "<li>",
84
+ "<a href=\"suburl2\">",
85
+ "suburl2",
86
+ "</a>",
87
+ "</li>",
88
+ "</ul>",
89
+ "</li>",
90
+ "</ul>"].join
91
+ end
91
92
 
92
- it 'should render only root level' do
93
- @configuration.run do
94
- navigate :menu do
95
- item :url1, 'url1', :name => 'url1' do
96
- item :suburl1, 'suburl1', :name => 'suburl1'
97
- end
98
- item :url2, 'url2', :name => 'url2' do
99
- item :suburl2, 'suburl2', :name => 'suburl2'
93
+ it 'only root level' do
94
+ @configuration.run do
95
+ navigate :menu do
96
+ item :url1, 'url1', :name => 'url1' do
97
+ item :suburl1, 'suburl1', :name => 'suburl1'
98
+ end
99
+ item :url2, 'url2', :name => 'url2' do
100
+ item :suburl2, 'suburl2', :name => 'suburl2'
101
+ end
100
102
  end
101
103
  end
102
- end
103
104
 
104
- result = @view_object.navigation_for :menu, :level => 0, :as => :bootstrap_list
105
- result.should == ["<ul class=\"nav nav-list\">",
106
- "<li>",
107
- "<a href=\"url1\">",
108
- "url1",
109
- "</a>",
110
- "</li>",
111
- "<li>",
112
- "<a href=\"url2\">",
113
- "url2",
114
- "</a>",
115
- "</li>",
116
- "</ul>"].join
117
- end
105
+ result = @view_object.navigation_for :menu, :level => 0, :as => :bootstrap_list
106
+ result.should == ["<ul class=\"nav nav-list\">",
107
+ "<li>",
108
+ "<a href=\"url1\">",
109
+ "url1",
110
+ "</a>",
111
+ "</li>",
112
+ "<li>",
113
+ "<a href=\"url2\">",
114
+ "url2",
115
+ "</a>",
116
+ "</li>",
117
+ "</ul>"].join
118
+ end
118
119
 
119
- it 'should render second level if some item of first level is active' do
120
- @configuration.run do
121
- navigate :menu do
122
- item :url1, 'url1', :name => 'url1' do
123
- item :suburl1, 'suburl1', :name => 'suburl1'
124
- end
125
- item :url2, 'url2', :name => 'url2' do
126
- item :suburl2, 'suburl2', :name => 'suburl2'
120
+ it 'second level if some item of first level is active' do
121
+ @configuration.run do
122
+ navigate :menu do
123
+ item :url1, 'url1', :name => 'url1' do
124
+ item :suburl1, 'suburl1', :name => 'suburl1'
125
+ end
126
+ item :url2, 'url2', :name => 'url2' do
127
+ item :suburl2, 'suburl2', :name => 'suburl2'
128
+ end
127
129
  end
128
130
  end
129
- end
130
131
 
131
- @view_object.should_receive(:current_page?).and_return(false, true, false, false)
132
+ @view_object.should_receive(:current_page?).and_return(false, true, false, false)
132
133
 
133
- result = @view_object.navigation_for :menu, :level => 1, :as => :bootstrap_list
134
- result.should == ["<ul class=\"nav nav-list active\">",
135
- "<li>",
136
- "<a href=\"suburl1\">",
137
- "suburl1",
138
- "</a>",
139
- "</li>",
140
- "</ul>"].join
141
- end
134
+ result = @view_object.navigation_for :menu, :level => 1, :as => :bootstrap_list
135
+ result.should == ["<ul class=\"nav nav-list active\">",
136
+ "<li>",
137
+ "<a href=\"suburl1\">",
138
+ "suburl1",
139
+ "</a>",
140
+ "</li>",
141
+ "</ul>"].join
142
+ end
142
143
 
143
- it 'should render the exact levels' do
144
- @configuration.run do
145
- navigate :menu do
146
- item :url1, 'url1', :name => 'url1' do
147
- item :suburl1, 'suburl1', :name => 'suburl1' do
148
- item :subsub1, 'subsub1', :name => 'subsub1'
144
+ it 'the exact levels' do
145
+ @configuration.run do
146
+ navigate :menu do
147
+ item :url1, 'url1', :name => 'url1' do
148
+ item :suburl1, 'suburl1', :name => 'suburl1' do
149
+ item :subsub1, 'subsub1', :name => 'subsub1'
150
+ end
149
151
  end
150
- end
151
- item :url2, 'url2', :name => 'url2' do
152
- item :suburl2, 'suburl2', :name => 'suburl2' do
153
- item :subsub2, 'subsub2', :name => 'subsub2'
152
+ item :url2, 'url2', :name => 'url2' do
153
+ item :suburl2, 'suburl2', :name => 'suburl2' do
154
+ item :subsub2, 'subsub2', :name => 'subsub2'
155
+ end
154
156
  end
155
157
  end
156
158
  end
157
- end
158
159
 
159
- result = @view_object.navigation_for :menu, :levels => 0..1, :as => :bootstrap_list
160
- result.should == ["<ul class=\"nav nav-list\">",
161
- "<li>",
162
- "<a href=\"url1\">",
163
- "url1",
164
- "</a>",
165
- "<ul>",
166
- "<li>",
167
- "<a href=\"suburl1\">",
168
- "suburl1",
169
- "</a>",
170
- "</li>",
171
- "</ul>",
172
- "</li>",
173
- "<li>",
174
- "<a href=\"url2\">",
175
- "url2",
176
- "</a>",
177
- "<ul>",
178
- "<li>",
179
- "<a href=\"suburl2\">",
180
- "suburl2",
181
- "</a>",
182
- "</li>",
183
- "</ul>",
184
- "</li>",
185
- "</ul>"].join
186
- end
160
+ result = @view_object.navigation_for :menu, :levels => 0..1, :as => :bootstrap_list
161
+ result.should == ["<ul class=\"nav nav-list\">",
162
+ "<li>",
163
+ "<a href=\"url1\">",
164
+ "url1",
165
+ "</a>",
166
+ "<ul>",
167
+ "<li>",
168
+ "<a href=\"suburl1\">",
169
+ "suburl1",
170
+ "</a>",
171
+ "</li>",
172
+ "</ul>",
173
+ "</li>",
174
+ "<li>",
175
+ "<a href=\"url2\">",
176
+ "url2",
177
+ "</a>",
178
+ "<ul>",
179
+ "<li>",
180
+ "<a href=\"suburl2\">",
181
+ "suburl2",
182
+ "</a>",
183
+ "</li>",
184
+ "</ul>",
185
+ "</li>",
186
+ "</ul>"].join
187
+ end
187
188
 
188
- it 'should render navigation except some item' do
189
- @configuration.run do
190
- navigate :menu do
191
- item :url1, 'url1', :name => 'url1' do
192
- item :suburl1, 'suburl1', :name => 'suburl1'
193
- end
194
- item :url2, 'url2', :name => 'url2' do
195
- item :suburl2, 'suburl2', :name => 'suburl2'
189
+ it 'navigation except some item' do
190
+ @configuration.run do
191
+ navigate :menu do
192
+ item :url1, 'url1', :name => 'url1' do
193
+ item :suburl1, 'suburl1', :name => 'suburl1'
194
+ end
195
+ item :url2, 'url2', :name => 'url2' do
196
+ item :suburl2, 'suburl2', :name => 'suburl2'
197
+ end
196
198
  end
197
199
  end
200
+
201
+ result = @view_object.navigation_for :menu, :except_for => [:url1], :as => :bootstrap_list
202
+ result.should == ["<ul class=\"nav nav-list\">",
203
+ "<li>",
204
+ "<a href=\"url2\">",
205
+ "url2",
206
+ "</a>",
207
+ "<ul>",
208
+ "<li>",
209
+ "<a href=\"suburl2\">",
210
+ "suburl2",
211
+ "</a>",
212
+ "</li>",
213
+ "</ul>",
214
+ "</li>",
215
+ "</ul>"].join
198
216
  end
199
217
 
200
- result = @view_object.navigation_for :menu, :except_for => [:url1], :as => :bootstrap_list
201
- result.should == ["<ul class=\"nav nav-list\">",
202
- "<li>",
203
- "<a href=\"url2\">",
204
- "url2",
205
- "</a>",
218
+ it 'navigation except some items' do
219
+ @configuration.run do
220
+ navigate :menu do
221
+ item :url1, 'url1', :name => 'url1' do
222
+ item :suburl1, 'suburl1', :name => 'suburl1'
223
+ end
224
+ item :url2, 'url2', :name => 'url2' do
225
+ item :suburl2, 'suburl2', :name => 'suburl2'
226
+ end
227
+ end
228
+ end
229
+
230
+ result = @view_object.navigation_for :menu, :except_for => [:suburl1,:url2], :as => :bootstrap_list
231
+ result.should == ["<ul class=\"nav nav-list\">",
232
+ "<li>",
233
+ "<a href=\"url1\">",
234
+ "url1",
235
+ "</a>",
206
236
  "<ul>",
207
- "<li>",
208
- "<a href=\"suburl2\">",
209
- "suburl2",
210
- "</a>",
211
- "</li>",
212
237
  "</ul>",
213
- "</li>",
214
- "</ul>"].join
215
- end
238
+ "</li>",
239
+ "</ul>"].join
240
+ end
216
241
 
217
- it 'should render navigation except some items' do
218
- @configuration.run do
219
- navigate :menu do
220
- item :url1, 'url1', :name => 'url1' do
221
- item :suburl1, 'suburl1', :name => 'suburl1'
222
- end
223
- item :url2, 'url2', :name => 'url2' do
224
- item :suburl2, 'suburl2', :name => 'suburl2'
242
+ it 'divider' do
243
+ @configuration.run do
244
+ navigate :menu do
245
+ divider
225
246
  end
226
247
  end
227
- end
228
248
 
229
- result = @view_object.navigation_for :menu, :except_for => [:suburl1,:url2], :as => :bootstrap_list
230
- result.should == ["<ul class=\"nav nav-list\">",
231
- "<li>",
232
- "<a href=\"url1\">",
233
- "url1",
234
- "</a>",
235
- "<ul>",
236
- "</ul>",
237
- "</li>",
238
- "</ul>"].join
239
- end
240
-
241
- it 'should render divider' do
242
- @configuration.run do
243
- navigate :menu do
244
- divider
245
- end
249
+ result = @view_object.navigation_for :menu, :as => :bootstrap_list
250
+ result.should == ["<ul class=\"nav nav-list\">",
251
+ "<li class=\"divider\">",
252
+ "</li>",
253
+ "</ul>"].join
246
254
  end
247
255
 
248
- result = @view_object.navigation_for :menu, :as => :bootstrap_list
249
- result.should == ["<ul class=\"nav nav-list\">",
250
- "<li class=\"divider\">",
251
- "</li>",
252
- "</ul>"].join
253
- end
254
-
255
- it 'should render header' do
256
- @configuration.run do
257
- navigate :menu do
258
- header :some_header, :name => 'header_name'
256
+ it 'header' do
257
+ @configuration.run do
258
+ navigate :menu do
259
+ header :some_header, :name => 'header_name'
260
+ end
259
261
  end
260
- end
261
262
 
262
- result = @view_object.navigation_for :menu, :as => :bootstrap_list
263
- result.should == ["<ul class=\"nav nav-list\">",
264
- "<li class=\"nav-header\">",
265
- 'header_name',
266
- "</li>",
267
- "</ul>"].join
268
- end
263
+ result = @view_object.navigation_for :menu, :as => :bootstrap_list
264
+ result.should == ["<ul class=\"nav nav-list\">",
265
+ "<li class=\"nav-header\">",
266
+ 'header_name',
267
+ "</li>",
268
+ "</ul>"].join
269
+ end
269
270
 
270
- it 'shoul render item with icon' do
271
- @configuration.run do
272
- navigate :menu do
273
- item :some_item, 'some_url', :name => 'item_name', :ico => 'user'
271
+ it 'item with icon' do
272
+ @configuration.run do
273
+ navigate :menu do
274
+ item :some_item, 'some_url', :name => 'item_name', :ico => 'user'
275
+ end
274
276
  end
275
- end
276
277
 
277
- result = @view_object.navigation_for :menu, :as => :bootstrap_list
278
- result.should == ["<ul class=\"nav nav-list\">",
279
- "<li>",
280
- "<a href=\"some_url\">",
281
- "<i class=\"icon-user\">",
282
- "</i>",
283
- "item_name",
284
- "</a>",
285
- "</li>",
286
- "</ul>"].join
287
- end
278
+ result = @view_object.navigation_for :menu, :as => :bootstrap_list
279
+ result.should == ["<ul class=\"nav nav-list\">",
280
+ "<li>",
281
+ "<a href=\"some_url\">",
282
+ "<i class=\"icon-user\">",
283
+ "</i>",
284
+ "item_name",
285
+ "</a>",
286
+ "</li>",
287
+ "</ul>"].join
288
+ end
288
289
 
289
- it 'should render node with icon' do
290
- @configuration.run do
291
- navigate :menu do
292
- item :node, 'node_url', :name => 'some_name', :ico => 'user' do
293
- item :some_item, 'some_url', :name => 'item_name'
290
+ it 'node with icon' do
291
+ @configuration.run do
292
+ navigate :menu do
293
+ item :node, 'node_url', :name => 'some_name', :ico => 'user' do
294
+ item :some_item, 'some_url', :name => 'item_name'
295
+ end
294
296
  end
295
297
  end
296
- end
297
298
 
298
- result = @view_object.navigation_for :menu, :as => :bootstrap_list
299
- result.should == ["<ul class=\"nav nav-list\">",
300
- "<li>",
301
- "<a href=\"node_url\">",
302
- "<i class=\"icon-user\"></i>",
303
- "some_name",
304
- "</a>",
305
- "<ul>",
306
- "<li>",
307
- "<a href=\"some_url\">",
308
- "item_name",
309
- "</a>",
310
- "</li>",
311
- "</ul>",
312
- "</li>",
313
- "</ul>"].join
299
+ result = @view_object.navigation_for :menu, :as => :bootstrap_list
300
+ result.should == ["<ul class=\"nav nav-list\">",
301
+ "<li>",
302
+ "<a href=\"node_url\">",
303
+ "<i class=\"icon-user\"></i>",
304
+ "some_name",
305
+ "</a>",
306
+ "<ul>",
307
+ "<li>",
308
+ "<a href=\"some_url\">",
309
+ "item_name",
310
+ "</a>",
311
+ "</li>",
312
+ "</ul>",
313
+ "</li>",
314
+ "</ul>"].join
315
+ end
314
316
  end
315
-
316
317
  end