bootstrap-sass-extras 0.0.5 → 0.0.6

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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -1
  3. data/Gemfile +4 -1
  4. data/Gemfile.lock +18 -4
  5. data/README.md +91 -37
  6. data/app/helpers/badge_helper.rb +13 -0
  7. data/app/helpers/bootstrap_flash_helper.rb +17 -15
  8. data/app/helpers/glyph_helper.rb +10 -7
  9. data/app/helpers/modal_helper.rb +19 -15
  10. data/app/helpers/twitter_breadcrumbs_helper.rb +3 -2
  11. data/app/views/bootstrap_sass_extras/_breadcrumbs.html.erb +6 -0
  12. data/bootstrap-sass-extras.gemspec +1 -0
  13. data/lib/bootstrap-sass-extras/breadcrumbs.rb +26 -9
  14. data/lib/bootstrap-sass-extras/engine.rb +1 -0
  15. data/lib/bootstrap-sass-extras/version.rb +1 -1
  16. data/lib/generators/bootstrap/install/templates/en.bootstrap.yml +1 -0
  17. data/lib/generators/bootstrap/layout/layout_generator.rb +1 -4
  18. data/lib/generators/bootstrap/layout/templates/layout.html.erb +32 -50
  19. data/lib/generators/bootstrap/layout/templates/layout.html.haml +20 -38
  20. data/lib/generators/bootstrap/layout/templates/layout.html.slim +20 -39
  21. data/lib/generators/bootstrap/themed/templates/_form.html.erb +10 -8
  22. data/lib/generators/bootstrap/themed/templates/_form.html.haml +8 -7
  23. data/lib/generators/bootstrap/themed/templates/_form.html.slim +8 -8
  24. data/lib/generators/bootstrap/themed/templates/index.html.erb +12 -10
  25. data/lib/generators/bootstrap/themed/templates/index.html.haml +8 -4
  26. data/lib/generators/bootstrap/themed/templates/index.html.slim +11 -9
  27. data/lib/generators/bootstrap/themed/templates/new.html.slim +1 -1
  28. data/lib/generators/bootstrap/themed/templates/show.html.erb +12 -10
  29. data/lib/generators/bootstrap/themed/templates/show.html.haml +13 -12
  30. data/lib/generators/bootstrap/themed/templates/show.html.slim +11 -10
  31. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +9 -7
  32. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +5 -4
  33. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +5 -5
  34. data/spec/dummy/db/schema.rb +16 -0
  35. data/spec/helpers/badge_helper_spec.rb +16 -0
  36. data/spec/helpers/bootstrap_flash_helper_spec.rb +54 -39
  37. data/spec/helpers/glyph_helper_spec.rb +15 -0
  38. data/spec/helpers/twitter_breadcrumbs_helper_spec.rb +153 -0
  39. metadata +13 -5
  40. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +0 -14
@@ -1,11 +1,11 @@
1
1
  = form_for @<%= resource_name %>, :html => { :class => "form-horizontal" } do |f|
2
2
  <%- columns.each do |column| -%>
3
- .control-group
4
- = f.label :<%= column.name %>, :class => 'control-label'
5
- .controls
6
- = f.<%= column.field_type %> :<%= column.name %>, :class => '<%= column.field_type %>'
3
+ .form-group
4
+ = f.label :<%= column.name %>, :class => 'control-label col-md-2'
5
+ .col-md-10
6
+ = f.<%= column.field_type %> :<%= column.name %>, :class => '<%= column.field_type %> form-control'
7
7
  <%- end -%>
8
- .form-actions
9
- = f.submit nil, :class => 'btn btn-primary'
10
- '
11
- = link_to t('.cancel', :default => t("helpers.links.cancel")), <%= controller_routing_path %>_path, :class => 'btn'
8
+ .form-group
9
+ .col-md-offset-2.col-md-10
10
+ = f.submit nil, :class => 'btn btn-primary'
11
+ = link_to t('.cancel', :default => t("helpers.links.cancel")), <%= controller_routing_path %>_path, :class => 'btn btn-default'
@@ -16,19 +16,21 @@
16
16
  <tbody>
17
17
  <%% @<%= plural_resource_name %>.each do |<%= resource_name %>| %>
18
18
  <tr>
19
- <td><%%= link_to <%= resource_name %>.id, <%= singular_controller_routing_path %>_path(<%= resource_name %>) %></td>
19
+ <td><%%= <%= resource_name %>.id %></td>
20
20
  <%- columns.each do |column| -%>
21
- <td><%%= <%= resource_name %>.<%= column.name %> %></td>
21
+ <td><%%= <%= resource_name %>.<%= column.name %> %></td>
22
22
  <%- end -%>
23
- <td><%%=l <%= resource_name %>.created_at %></td>
23
+ <td><%%=l <%= resource_name %>.created_at, format: :long %></td>
24
24
  <td>
25
- <%%= link_to t('.edit', :default => t("helpers.links.edit")),
26
- edit_<%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-mini' %>
27
- <%%= link_to t('.destroy', :default => t("helpers.links.destroy")),
28
- <%= singular_controller_routing_path %>_path(<%= resource_name %>),
29
- :method => :delete,
30
- :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) },
31
- :class => 'btn btn-mini btn-danger' %>
25
+ <%%= link_to <%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-xs', :title => "#{ t('.show', :default => t('helpers.links.show')) }" do %>
26
+ <%%= glyph 'info-sign' %>
27
+ <%%- end -%>
28
+ <%%= link_to edit_<%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-xs', :title => "#{ t('.edit', :default => t('helpers.links.edit')) }" do %>
29
+ <%%= glyph 'pencil' %>
30
+ <%%- end -%>
31
+ <%%= link_to <%= singular_controller_routing_path %>_path(<%= resource_name %>), :method => :delete, :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-xs', :title => "#{ t('.destroy', :default => t('helpers.links.destroy')) }" do %>
32
+ <%%= glyph 'remove' %>
33
+ <%%- end -%>
32
34
  </td>
33
35
  </tr>
34
36
  <%% end %>
@@ -13,13 +13,17 @@
13
13
  %tbody
14
14
  - @<%= plural_resource_name %>.each do |<%= resource_name %>|
15
15
  %tr
16
- %td= link_to <%= resource_name %>.id, <%= singular_controller_routing_path %>_path(<%= resource_name %>)
16
+ %td= <%= resource_name %>.id
17
17
  <%- columns.each do |column| -%>
18
18
  %td= <%= resource_name %>.<%= column.name %>
19
19
  <%- end -%>
20
- %td=l <%= resource_name %>.created_at
20
+ %td=l <%= resource_name %>.created_at, format: :long
21
21
  %td
22
- = link_to t('.edit', :default => t("helpers.links.edit")), edit_<%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-mini'
23
- = link_to t('.destroy', :default => t("helpers.links.destroy")), <%= singular_controller_routing_path %>_path(<%= resource_name %>), :method => :delete, :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-mini btn-danger'
22
+ = link_to <%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-xs', :title => "#{ t('.show', :default => t('helpers.links.show')) }" do
23
+ = glyph 'info-sign'
24
+ = link_to edit_<%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-xs', :title => "#{ t('.edit', :default => t('helpers.links.edit')) }" do
25
+ = glyph 'pencil'
26
+ = link_to <%= singular_controller_routing_path %>_path(<%= resource_name %>), :method => :delete, :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-xs', :title => "#{ t('.destroy', :default => t('helpers.links.destroy')) }" do
27
+ = glyph 'remove'
24
28
 
25
29
  = link_to t('.new', :default => t("helpers.links.new")), new_<%= singular_controller_routing_path %>_path, :class => 'btn btn-primary'
@@ -1,7 +1,7 @@
1
1
  - model_class = <%= resource_name.classify %>
2
- div class="page-header"
2
+ .page-header
3
3
  h1=t '.title', :default => model_class.model_name.human.pluralize.titleize
4
- table class="table table-striped"
4
+ table.table.table-striped
5
5
  thead
6
6
  tr
7
7
  th= model_class.human_attribute_name(:id)
@@ -13,15 +13,17 @@ table class="table table-striped"
13
13
  tbody
14
14
  - @<%= plural_resource_name %>.each do |<%= resource_name %>|
15
15
  tr
16
- td= link_to <%= resource_name %>.id, <%= singular_controller_routing_path %>_path(<%= resource_name %>)
16
+ td= <%= resource_name %>.id
17
17
  <%- columns.each do |column| -%>
18
18
  td= <%= resource_name %>.<%= column.name %>
19
19
  <%- end -%>
20
- td=l <%= resource_name %>.created_at
20
+ td=l <%= resource_name %>.created_at, format: :long
21
21
  td
22
- = link_to t('.edit', :default => t("helpers.links.edit")), edit_<%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-mini'
23
- '
24
- = link_to t('.destroy', :default => t("helpers.links.destroy")), <%= singular_controller_routing_path %>_path(<%= resource_name %>), :method => :delete, :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-mini btn-danger'
25
-
26
- = link_to t('.new', :default => t("helpers.links.new")), new_<%= singular_controller_routing_path %>_path, :class => 'btn btn-primary'
22
+ = link_to <%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-xs', :title => "#{ t('.show', :default => t('helpers.links.show')) }" do
23
+ = glyph 'info-sign'
24
+ = link_to edit_<%= singular_controller_routing_path %>_path(<%= resource_name %>), :class => 'btn btn-xs', :title => "#{ t('.edit', :default => t('helpers.links.edit')) }" do
25
+ = glyph 'pencil'
26
+ = link_to <%= singular_controller_routing_path %>_path(<%= resource_name %>), :method => :delete, :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-xs', :title => "#{ t('.destroy', :default => t('helpers.links.destroy')) }" do
27
+ = glyph 'remove'
27
28
 
29
+ = link_to t('.new', :default => t("helpers.links.new")), new_<%= singular_controller_routing_path %>_path, :class => 'btn btn-primary'
@@ -1,4 +1,4 @@
1
1
  - model_class = <%= resource_name.classify %>
2
- div class="page-header"
2
+ .page-header
3
3
  h1=t '.title', :default => [:'helpers.titles.new', 'New %{model}'], :model => model_class.model_name.human.titleize
4
4
  = render :partial => "form"
@@ -3,21 +3,23 @@
3
3
  <h1><%%=t '.title', :default => model_class.model_name.human.titleize %></h1>
4
4
  </div>
5
5
 
6
- <dl class="dl-horizontal">
7
- <%- columns.each do |column| -%>
8
- <dt><strong><%%= model_class.human_attribute_name(:<%= column.name %>) %>:</strong></dt>
9
- <dd><%%= @<%= resource_name %>.<%= column.name %> %></dd>
10
- <%- end -%>
11
- </dl>
6
+ <div class="fieldset">
7
+ <dl>
8
+ <%- columns.each do |column| -%>
9
+ <dt class="label label-default"><%%= model_class.human_attribute_name(:<%= column.name %>) %></dt>
10
+ <dd><pre class="prettyprint"><%%= @<%= resource_name %>.<%= column.name %> %></pre></dd>
11
+ <%- end -%>
12
+ </dl>
13
+ </div>
12
14
 
13
- <div class="form-actions">
15
+ <div class="form-group">
14
16
  <%%= link_to t('.back', :default => t("helpers.links.back")),
15
- <%= controller_routing_path %>_path, :class => 'btn' %>
17
+ <%= controller_routing_path %>_path, :class => 'btn btn-default' %>
16
18
  <%%= link_to t('.edit', :default => t("helpers.links.edit")),
17
- edit_<%= singular_controller_routing_path %>_path(@<%= resource_name %>), :class => 'btn' %>
19
+ edit_<%= singular_controller_routing_path %>_path(@<%= resource_name %>), :class => 'btn btn-default' %>
18
20
  <%%= link_to t('.destroy', :default => t("helpers.links.destroy")),
19
21
  <%= singular_controller_routing_path %>_path(@<%= resource_name %>),
20
22
  :method => 'delete',
21
23
  :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) },
22
24
  :class => 'btn btn-danger' %>
23
- </div>
25
+ </div>
@@ -1,15 +1,16 @@
1
1
  - model_class = <%= resource_name.classify %>
2
- .page-header
3
- %h1=t '.title', :default => model_class.model_name.human.titleize
2
+ div class="page-header"
3
+ h1=t '.title', :default => model_class.model_name.human.titleize
4
4
 
5
- <%- columns.each do |column| -%>
6
- %p
7
- %strong= model_class.human_attribute_name(:<%= column.name %>) + ':'
8
- %br
9
- = @<%= resource_name %>.<%= column.name %>
10
- <%- end -%>
5
+ .fieldset
6
+ dl
7
+ <%- columns.each do |column| -%>
8
+ dt.label.label-default= model_class.human_attribute_name(:<%= column.name %>)
9
+ dd
10
+ pre.prettyprint= @<%= resource_name %>.<%= column.name %>
11
+ <%- end -%>
11
12
 
12
- .form-actions
13
- = link_to t('.back', :default => t("helpers.links.back")), <%= controller_routing_path %>_path, :class => 'btn'
14
- = link_to t('.edit', :default => t("helpers.links.edit")), edit_<%= singular_controller_routing_path %>_path(@<%= resource_name %>), :class => 'btn'
15
- = link_to t('.destroy', :default => t("helpers.links.destroy")), <%= singular_controller_routing_path %>_path(@<%= resource_name %>), :method => "delete", :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-danger'
13
+ .form-group
14
+ = link_to t('.back', :default => t("helpers.links.back")), <%= controller_routing_path %>_path, :class => 'btn btn-default'
15
+ = link_to t('.edit', :default => t("helpers.links.edit")), edit_<%= singular_controller_routing_path %>_path(@<%= resource_name %>), :class => 'btn btn-default'
16
+ = link_to t('.destroy', :default => t("helpers.links.destroy")), <%= singular_controller_routing_path %>_path(@<%= resource_name %>), :method => "delete", :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-danger'
@@ -2,16 +2,17 @@
2
2
  div class="page-header"
3
3
  h1=t '.title', :default => model_class.model_name.human.titleize
4
4
 
5
- <%- columns.each do |column| -%>
6
- p
7
- strong= model_class.human_attribute_name(:<%= column.name %>) + ':'
8
- br
9
- = @<%= resource_name %>.<%= column.name %>
10
- <%- end -%>
5
+ .fieldset
6
+ dl
7
+ <%- columns.each do |column| -%>
8
+ dt.label.label-default= model_class.human_attribute_name(:<%= column.name %>)
9
+ dd
10
+ pre.prettyprint= @<%= resource_name %>.<%= column.name %>
11
+ <%- end -%>
11
12
 
12
- .form-actions
13
- = link_to t('.back', :default => t("helpers.links.back")), <%= controller_routing_path %>_path, :class => 'btn'
13
+ .form-group
14
+ = link_to t('.back', :default => t("helpers.links.back")), <%= controller_routing_path %>_path, :class => 'btn btn-default'
14
15
  '
15
- = link_to t('.edit', :default => t("helpers.links.edit")), edit_<%= singular_controller_routing_path %>_path(@<%= resource_name %>), :class => 'btn'
16
+ = link_to t('.edit', :default => t("helpers.links.edit")), edit_<%= singular_controller_routing_path %>_path(@<%= resource_name %>), :class => 'btn btn-default'
16
17
  '
17
- = link_to t('.destroy', :default => t("helpers.links.destroy")), <%= singular_controller_routing_path %>_path(@<%= resource_name %>), :method => "delete", :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-danger'
18
+ = link_to t('.destroy', :default => t("helpers.links.destroy")), <%= singular_controller_routing_path %>_path(@<%= resource_name %>), :method => "delete", :data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) }, :class => 'btn btn-danger'
@@ -1,14 +1,16 @@
1
- <%%= simple_form_for @<%= resource_name %>, :html => { :class => 'form-horizontal' } do |f| %>
1
+ <%%= simple_form_for @<%= resource_name %>, :html => { :class => 'form-horizontal' }, wrapper: :horizontal_form, wrapper_mappings: { check_boxes: :horizontal_radio_and_checkboxes, radio_buttons: :horizontal_radio_and_checkboxes, file: :horizontal_file_input, boolean: :horizontal_boolean } do |f| %>
2
2
  <%- columns.each do |column| -%>
3
- <%%= f.input :<%= column.name %> %>
3
+ <%%= f.input :<%= column.name %> %>
4
4
  <%- end -%>
5
5
  <%- if ::SimpleForm::FormBuilder.instance_methods.include?(:wrapped_button) -%>
6
- <%%= f.button :wrapped, :cancel => <%= controller_routing_path %>_path %>
6
+ <%%= f.button :wrapped, :cancel => <%= controller_routing_path %>_path %>
7
7
  <%- else -%>
8
- <div class="form-actions">
9
- <%%= f.button :submit, :class => 'btn-primary' %>
10
- <%%= link_to t('.cancel', :default => t("helpers.links.cancel")),
11
- <%= controller_routing_path %>_path, :class => 'btn' %>
8
+ <div class="form-group">
9
+ <div class='col-sm-offset-3 col-sm-9'>
10
+ <%%= f.button :submit, :class => 'btn-primary' %>
11
+ <%%= link_to t('.cancel', :default => t("helpers.links.cancel")),
12
+ <%= controller_routing_path %>_path, :class => 'btn btn-default' %>
13
+ </div>
12
14
  </div>
13
15
  <%- end -%>
14
16
  <%% end %>
@@ -1,11 +1,12 @@
1
- = simple_form_for @<%= resource_name %>, :html => { :class => 'form-horizontal' } do |f|
1
+ = simple_form_for @<%= resource_name %>, :html => { :class => 'form-horizontal' }, wrapper: :horizontal_form, wrapper_mappings: { check_boxes: :horizontal_radio_and_checkboxes, radio_buttons: :horizontal_radio_and_checkboxes, file: :horizontal_file_input, boolean: :horizontal_boolean } do |f|
2
2
  <%- columns.each do |column| -%>
3
3
  = f.input :<%= column.name %>
4
4
  <%- end -%>
5
5
  <%- if ::SimpleForm::FormBuilder.instance_methods.include?(:wrapped_button) -%>
6
6
  = f.button :wrapped, :cancel => <%= controller_routing_path %>_path
7
7
  <%- else -%>
8
- .form-actions
9
- = f.button :submit, :class => 'btn-primary'
10
- = link_to t('.cancel', :default => t("helpers.links.cancel")), <%= controller_routing_path %>_path, :class => 'btn'
8
+ .form-group
9
+ .col-sm-offset-3.col-sm-9
10
+ = f.submit nil, :class => 'btn btn-primary'
11
+ = link_to t('.cancel', :default => t("helpers.links.cancel")), <%= controller_routing_path %>_path, :class => 'btn btn-default'
11
12
  <%- end -%>
@@ -1,12 +1,12 @@
1
- = simple_form_for @<%= resource_name %>, :html => { :class => "form-horizontal" } do |f|
1
+ = simple_form_for @<%= resource_name %>, :html => { :class => "form-horizontal" }, wrapper: :horizontal_form, wrapper_mappings: { check_boxes: :horizontal_radio_and_checkboxes, radio_buttons: :horizontal_radio_and_checkboxes, file: :horizontal_file_input, boolean: :horizontal_boolean } do |f|
2
2
  <%- columns.each do |column| -%>
3
3
  = f.input :<%= column.name %>
4
4
  <%- end -%>
5
5
  <%- if ::SimpleForm::FormBuilder.instance_methods.include?(:wrapped_button) -%>
6
6
  = f.button :wrapped, :cancel => <%= controller_routing_path %>_path
7
7
  <%- else -%>
8
- .form-actions
9
- = f.button :submit, :class => 'btn-primary'
10
- '
11
- = link_to t('.cancel', :default => t("helpers.links.cancel")), <%= controller_routing_path %>_path, :class => 'btn'
8
+ .form-group
9
+ .col-sm-offset-3.col-sm-9
10
+ = f.submit nil, :class => 'btn btn-primary'
11
+ = link_to t('.cancel', :default => t("helpers.links.cancel")), <%= controller_routing_path %>_path, :class => 'btn btn-default'
12
12
  <%- end -%>
@@ -0,0 +1,16 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended to check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(:version => 0) do
15
+
16
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe BadgeHelper do
4
+ describe "#badge" do
5
+ let(:html) { %(<span class="badge">%i</span>) }
6
+
7
+ it "returns proper output for badge count" do
8
+ badge(0).should == html % 0
9
+ badge(2).should == html % 2
10
+ end
11
+
12
+ it "returns nil for nil badge count" do
13
+ badge(nil).should be_nil
14
+ end
15
+ end
16
+ end
@@ -1,42 +1,57 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe BootstrapFlashHelper do
4
- describe "bootstrap_flash" do
5
-
6
- it "should return flash message" do
7
- stub!(:flash).and_return({:warning => "Update Warning!"})
8
- bootstrap_flash.should == "<div class=\"alert alert-warning\"><a class=\"close\" data-dismiss=\"alert\">&times;</a>Update Warning!</div>"
9
- end
10
-
11
- it "should return alert-success message when using notice message" do
12
- stub!(:flash).and_return({:notice => "Update Success!"})
13
- bootstrap_flash.should == "<div class=\"alert alert-success\"><a class=\"close\" data-dismiss=\"alert\">&times;</a>Update Success!</div>"
14
- end
15
-
16
- it "should return alert-error message when using notice error" do
17
- stub!(:flash).and_return({:error => "Update Failed!"})
18
- bootstrap_flash.should == "<div class=\"alert alert-error\"><a class=\"close\" data-dismiss=\"alert\">&times;</a>Update Failed!</div>"
19
- end
20
-
21
- it "should return alert-error message when using alert message" do
22
- stub!(:flash).and_return({:alert => "Update Alert!"})
23
- bootstrap_flash.should == "<div class=\"alert alert-error\"><a class=\"close\" data-dismiss=\"alert\">&times;</a>Update Alert!</div>"
24
- end
25
-
26
- it "should return alert-info message when using info message" do
27
- stub!(:flash).and_return({:info => "Update Information!"})
28
- bootstrap_flash.should == "<div class=\"alert alert-info\"><a class=\"close\" data-dismiss=\"alert\">&times;</a>Update Information!</div>"
29
- end
30
-
31
- it "should return no message when using an undefined message" do
32
- stub!(:flash).and_return({:undefined => "Update Undefined!"})
33
- bootstrap_flash.should == ""
34
- end
35
-
36
- it "should return no message when the message is blank" do
37
- stub!(:flash).and_return({:notice => ""})
38
- bootstrap_flash.should == ""
39
- end
40
-
41
- end
42
- end
4
+ describe "#bootstrap_flash" do
5
+ let(:html) { %(<div class="alert alert-%s alert-dismissable"><button class="close" data-dismiss="alert" type="button">&times;</button>%s</div>) }
6
+
7
+ def flash_test(input, output)
8
+ stub!(:flash).and_return(input)
9
+ bootstrap_flash.should == html % output.to_a.flatten
10
+ end
11
+
12
+ it "returns alert-warning when sent a :warning message" do
13
+ message = "Update Warning!"
14
+ flash_test({ warning: message }, { warning: message })
15
+ end
16
+
17
+ it "returns alert-success when sent a :notice message" do
18
+ message = "Update Success!"
19
+ flash_test({ notice: message }, { success: message })
20
+ end
21
+
22
+ it "returns alert-danger when sent an :error message" do
23
+ message = "Update Failed!"
24
+ flash_test({ error: message }, { danger: message })
25
+ end
26
+
27
+ it "returns alert-danger when sent an :alert message" do
28
+ message = "Update Alert!"
29
+ flash_test({ alert: message }, { danger: message })
30
+ end
31
+
32
+ it "returns alert-info when sent a info message" do
33
+ message = "Update Information!"
34
+ flash_test({ info: message }, { info: message })
35
+ end
36
+
37
+ it "returns custom type when sent an unknown message" do
38
+ message = "Update Unknown!"
39
+ flash_test({ undefined: message }, { undefined: message })
40
+ end
41
+
42
+ it "properly handles string types" do
43
+ message = "String to Symbol Test."
44
+ flash_test({ "info" => message }, { info: message })
45
+ end
46
+
47
+ it "returns nil when sent a blank message" do
48
+ stub!(:flash).and_return(notice: "")
49
+ bootstrap_flash.should be_nil
50
+ end
51
+
52
+ it "returns nil when message doesn't have an implicit conversion to String" do
53
+ stub!(:flash).and_return(notice: true)
54
+ bootstrap_flash.should be_nil
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe GlyphHelper do
4
+ describe "#glyph" do
5
+ let(:html) { %(<span class="glyphicon glyphicon-%s"></span>) }
6
+
7
+ it "returns proper output for one glyphicon" do
8
+ glyph(:test).should == html % "test"
9
+ end
10
+
11
+ it "returns proper output for more than one glyphicon" do
12
+ glyph(:test1, :test2).should == "#{html % "test1"}#{html % "test2"}"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,153 @@
1
+ require 'spec_helper'
2
+
3
+ describe TwitterBreadcrumbsHelper do
4
+ describe "given one breadcrumb" do
5
+ before do
6
+ controller.send(:add_breadcrumb, "Name", "URL")
7
+ end
8
+
9
+ describe "#render_breadcrumbs" do
10
+ let(:html) {
11
+ <<-BREADCRUMBS.strip_heredoc
12
+ <ol class="breadcrumb">
13
+ <li class="active">Name</li>
14
+ </ol>
15
+ BREADCRUMBS
16
+ }
17
+
18
+ it "returns bootstrap-style breadcrumbs html" do
19
+ helper.render_breadcrumbs.should == html
20
+ end
21
+
22
+ describe "given a block" do
23
+ it "returns breadcrumbs wrapped in the captured block" do
24
+ helper.render_breadcrumbs do |crumbs|
25
+ helper.content_tag(:div, crumbs)
26
+ end.should == "<div>#{html}</div>"
27
+ end
28
+ end
29
+ end
30
+
31
+ describe "#breadcrumbs?" do
32
+ it "returns true" do
33
+ helper.breadcrumbs?.should be_true
34
+ end
35
+ end
36
+
37
+ describe "#breadcrumb_names" do
38
+ it "returns an array of breadcrumb names" do
39
+ helper.breadcrumb_names.should == ["Name"]
40
+ controller.send(:breadcrumb_names).should == ["Name"]
41
+ end
42
+ end
43
+
44
+ describe "#last_breadcrumb_name" do
45
+ it "returns a breadcrumb name" do
46
+ helper.last_breadcrumb_name.should == "Name"
47
+ controller.send(:last_breadcrumb_name).should == "Name"
48
+ end
49
+ end
50
+
51
+ describe "#clear_breadcrumbs" do
52
+ it "empties all existing breadcrumbs" do
53
+ helper.breadcrumbs?.should be_true
54
+ controller.send(:clear_breadcrumbs)
55
+ helper.breadcrumbs?.should be_false
56
+ end
57
+ end
58
+ end
59
+
60
+ describe "given two breadcrumbs" do
61
+ before do
62
+ controller.send(:add_breadcrumb, "Name1", "URL1")
63
+ controller.send(:add_breadcrumb, "Name2", "URL2")
64
+ end
65
+
66
+ describe "#render_breadcrumbs" do
67
+ let(:html) {
68
+ <<-BREADCRUMBS.strip_heredoc
69
+ <ol class="breadcrumb">
70
+ <li><a href="URL1">Name1</a></li>
71
+ <li class="active">Name2</li>
72
+ </ol>
73
+ BREADCRUMBS
74
+ }
75
+
76
+ it "returns bootstrap-style breadcrumbs html" do
77
+ helper.render_breadcrumbs.should == html
78
+ end
79
+
80
+ describe "given a block" do
81
+ it "returns breadcrumbs wrapped in the captured block" do
82
+ helper.render_breadcrumbs do |crumbs|
83
+ helper.content_tag(:div, crumbs)
84
+ end.should == "<div>#{html}</div>"
85
+ end
86
+ end
87
+ end
88
+
89
+ describe "#breadcrumbs?" do
90
+ it "returns true" do
91
+ helper.breadcrumbs?.should be_true
92
+ controller.send(:breadcrumbs?).should be_true
93
+ end
94
+ end
95
+
96
+ describe "#breadcrumb_names" do
97
+ it "returns an array of breadcrumb names" do
98
+ helper.breadcrumb_names.should == ["Name1", "Name2"]
99
+ controller.send(:breadcrumb_names).should == ["Name1", "Name2"]
100
+ end
101
+ end
102
+
103
+ describe "#last_breadcrumb_name" do
104
+ it "returns a breadcrumb name" do
105
+ helper.last_breadcrumb_name.should == "Name2"
106
+ controller.send(:last_breadcrumb_name).should == "Name2"
107
+ end
108
+ end
109
+
110
+ describe "#clear_breadcrumbs" do
111
+ it "empties all existing breadcrumbs" do
112
+ helper.breadcrumbs?.should be_true
113
+ controller.send(:clear_breadcrumbs)
114
+ helper.breadcrumbs?.should be_false
115
+ end
116
+ end
117
+ end
118
+
119
+ describe "given no breadcrumbs" do
120
+ describe "#render_breadcrumbs" do
121
+ it "returns nil" do
122
+ helper.render_breadcrumbs.should be_nil
123
+ end
124
+
125
+ describe "given a block" do
126
+ it "returns nil" do
127
+ helper.render_breadcrumbs { |crumbs| "No #{crumbs} here!" }.should be_nil
128
+ end
129
+ end
130
+ end
131
+
132
+ describe "#breadcrumbs?" do
133
+ it "returns false" do
134
+ helper.breadcrumbs?.should be_false
135
+ controller.send(:breadcrumbs?).should be_false
136
+ end
137
+ end
138
+
139
+ describe "#breadcrumb_names" do
140
+ it "returns an empty array" do
141
+ helper.breadcrumb_names.should == []
142
+ controller.send(:breadcrumb_names).should == []
143
+ end
144
+ end
145
+
146
+ describe "#last_breadcrumb_name" do
147
+ it "returns nil" do
148
+ helper.last_breadcrumb_name.should be_nil
149
+ controller.send(:last_breadcrumb_name).should be_nil
150
+ end
151
+ end
152
+ end
153
+ end