ui_bibz 2.4.0 → 2.5.0

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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +5 -0
  3. data/.rubocop.yml +52 -0
  4. data/.rubocop_todo.yml +25 -0
  5. data/Gemfile +5 -3
  6. data/Gemfile.lock +25 -1
  7. data/Rakefile +8 -6
  8. data/config/initializers/simple_form_init.rb +3 -1
  9. data/config/initializers/will_paginate.rb +11 -6
  10. data/lib/generators/ui_bibz/install_generator.rb +6 -5
  11. data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +1 -1
  12. data/lib/tasks/ui_bibz_tasks.rake +2 -0
  13. data/lib/ui_bibz.rb +91 -100
  14. data/lib/ui_bibz/concerns/models/searchable.rb +56 -61
  15. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -9
  16. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +26 -26
  17. data/lib/ui_bibz/helpers/ui/core/icons_helper.rb +6 -6
  18. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +5 -5
  19. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +5 -4
  20. data/lib/ui_bibz/helpers/ui/core/navigations_helper.rb +9 -9
  21. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +11 -11
  22. data/lib/ui_bibz/helpers/ui/core/windows_helper.rb +3 -3
  23. data/lib/ui_bibz/helpers/ui/core_helper.rb +2 -0
  24. data/lib/ui_bibz/helpers/ui/ux_helper.rb +12 -12
  25. data/lib/ui_bibz/helpers/utils_helper.rb +8 -11
  26. data/lib/ui_bibz/infos.rb +9 -7
  27. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +40 -39
  28. data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +6 -5
  29. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +8 -6
  30. data/lib/ui_bibz/inputs/ui_bibz_inputs/string_input.rb +18 -18
  31. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input.rb +3 -2
  32. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input.rb +3 -2
  33. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb +3 -2
  34. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input.rb +6 -5
  35. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input.rb +3 -2
  36. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input.rb +3 -3
  37. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input.rb +3 -2
  38. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input.rb +5 -4
  39. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_markdown_editor_field_input.rb +3 -2
  40. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_column_field_input.rb +3 -2
  41. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input.rb +3 -3
  42. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input.rb +3 -2
  43. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_radio_field_input.rb +7 -7
  44. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input.rb +3 -2
  45. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input.rb +3 -2
  46. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input.rb +3 -2
  47. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +3 -2
  48. data/lib/ui_bibz/rails/engine.rb +11 -15
  49. data/lib/ui_bibz/ui/base.rb +10 -6
  50. data/lib/ui_bibz/ui/core/boxes/card.rb +31 -32
  51. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +7 -8
  52. data/lib/ui_bibz/ui/core/boxes/card_column.rb +11 -12
  53. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +11 -12
  54. data/lib/ui_bibz/ui/core/boxes/card_group.rb +11 -12
  55. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +5 -6
  56. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +5 -6
  57. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +5 -6
  58. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +11 -12
  59. data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +7 -8
  60. data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +12 -13
  61. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +6 -7
  62. data/lib/ui_bibz/ui/core/boxes/components/card_list_group.rb +4 -5
  63. data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +5 -6
  64. data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +5 -6
  65. data/lib/ui_bibz/ui/core/component.rb +22 -20
  66. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +14 -15
  67. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +14 -15
  68. data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +5 -6
  69. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +11 -11
  70. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +5 -6
  71. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +5 -6
  72. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +5 -6
  73. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +10 -11
  74. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +8 -9
  75. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +5 -6
  76. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +6 -7
  77. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +4 -5
  78. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +22 -23
  79. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +3 -5
  80. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +4 -5
  81. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_link.rb +6 -7
  82. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +21 -22
  83. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +8 -9
  84. data/lib/ui_bibz/ui/core/forms/files/file_field.rb +5 -6
  85. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +10 -11
  86. data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +3 -4
  87. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +3 -4
  88. data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +9 -9
  89. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +6 -7
  90. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +9 -10
  91. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +13 -14
  92. data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +6 -7
  93. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +4 -4
  94. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +3 -3
  95. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +3 -3
  96. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +3 -3
  97. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +3 -3
  98. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +4 -4
  99. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +3 -3
  100. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +3 -3
  101. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +3 -3
  102. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +24 -25
  103. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -5
  104. data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +6 -7
  105. data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +6 -6
  106. data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +5 -6
  107. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +5 -6
  108. data/lib/ui_bibz/ui/core/icons/glyph.rb +13 -14
  109. data/lib/ui_bibz/ui/core/icons/glyph_group.rb +16 -17
  110. data/lib/ui_bibz/ui/core/icons/star.rb +7 -9
  111. data/lib/ui_bibz/ui/core/layouts/col.rb +20 -21
  112. data/lib/ui_bibz/ui/core/layouts/container.rb +5 -6
  113. data/lib/ui_bibz/ui/core/layouts/row.rb +4 -5
  114. data/lib/ui_bibz/ui/core/lists/components/list.rb +19 -20
  115. data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +4 -5
  116. data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +5 -6
  117. data/lib/ui_bibz/ui/core/lists/list_group.rb +15 -16
  118. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +5 -6
  119. data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +7 -8
  120. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +6 -7
  121. data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +12 -13
  122. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +7 -8
  123. data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +4 -5
  124. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +8 -9
  125. data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +8 -9
  126. data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +5 -6
  127. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +8 -8
  128. data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +6 -7
  129. data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +6 -7
  130. data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +5 -6
  131. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +7 -7
  132. data/lib/ui_bibz/ui/core/navigations/link.rb +6 -7
  133. data/lib/ui_bibz/ui/core/navigations/nav.rb +20 -27
  134. data/lib/ui_bibz/ui/core/navigations/navbar.rb +23 -24
  135. data/lib/ui_bibz/ui/core/navigations/pagination.rb +9 -12
  136. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +7 -8
  137. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +14 -15
  138. data/lib/ui_bibz/ui/core/notifications/alert.rb +11 -12
  139. data/lib/ui_bibz/ui/core/notifications/badge.rb +7 -8
  140. data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +5 -6
  141. data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +8 -9
  142. data/lib/ui_bibz/ui/core/notifications/components/bar.rb +11 -12
  143. data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +5 -6
  144. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +7 -8
  145. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +12 -13
  146. data/lib/ui_bibz/ui/core/notifications/spinner.rb +11 -12
  147. data/lib/ui_bibz/ui/core/notifications/toast.rb +9 -10
  148. data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +4 -5
  149. data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +4 -5
  150. data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +6 -7
  151. data/lib/ui_bibz/ui/core/windows/modal.rb +8 -9
  152. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +13 -15
  153. data/lib/ui_bibz/ui/extensions/core/component/klass_extension.rb +9 -10
  154. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +22 -21
  155. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +9 -9
  156. data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +8 -10
  157. data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +5 -6
  158. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +6 -7
  159. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +6 -7
  160. data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +5 -6
  161. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +6 -7
  162. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +12 -12
  163. data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +5 -6
  164. data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +5 -6
  165. data/lib/ui_bibz/ui/ux/containers/panel.rb +21 -22
  166. data/lib/ui_bibz/ui/ux/tables/components/actions.rb +14 -16
  167. data/lib/ui_bibz/ui/ux/tables/components/as.rb +8 -9
  168. data/lib/ui_bibz/ui/ux/tables/components/column.rb +4 -4
  169. data/lib/ui_bibz/ui/ux/tables/components/columns.rb +4 -3
  170. data/lib/ui_bibz/ui/ux/tables/components/store.rb +5 -7
  171. data/lib/ui_bibz/ui/ux/tables/components/thead.rb +5 -6
  172. data/lib/ui_bibz/ui/ux/tables/extensions/actionable.rb +24 -23
  173. data/lib/ui_bibz/ui/ux/tables/extensions/paginable.rb +8 -10
  174. data/lib/ui_bibz/ui/ux/tables/extensions/searchable.rb +9 -9
  175. data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +26 -26
  176. data/lib/ui_bibz/ui/ux/tables/table.rb +32 -39
  177. data/lib/ui_bibz/ui/ux/tables/table_card.rb +18 -26
  178. data/lib/ui_bibz/ui/ux/tables/table_pagination.rb +15 -18
  179. data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +15 -18
  180. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +19 -23
  181. data/lib/ui_bibz/utils/glyph_changer.rb +13 -13
  182. data/lib/ui_bibz/utils/internationalization.rb +10 -7
  183. data/lib/ui_bibz/utils/screwdriver.rb +7 -5
  184. data/test/dummy/Rakefile +3 -1
  185. data/test/dummy/app/controllers/application_controller.rb +2 -0
  186. data/test/dummy/app/controllers/users_controller.rb +15 -14
  187. data/test/dummy/app/helpers/application_helper.rb +2 -0
  188. data/test/dummy/app/models/application_record.rb +2 -0
  189. data/test/dummy/app/models/continent.rb +2 -0
  190. data/test/dummy/app/models/country.rb +2 -0
  191. data/test/dummy/app/models/user.rb +2 -0
  192. data/test/dummy/bin/bundle +3 -1
  193. data/test/dummy/bin/rails +3 -1
  194. data/test/dummy/bin/rake +2 -0
  195. data/test/dummy/bin/setup +10 -8
  196. data/test/dummy/config.ru +2 -0
  197. data/test/dummy/config/application.rb +5 -4
  198. data/test/dummy/config/boot.rb +4 -2
  199. data/test/dummy/config/environment.rb +3 -1
  200. data/test/dummy/config/environments/development.rb +2 -0
  201. data/test/dummy/config/environments/production.rb +2 -0
  202. data/test/dummy/config/environments/test.rb +2 -0
  203. data/test/dummy/config/initializers/assets.rb +2 -0
  204. data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
  205. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  206. data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  207. data/test/dummy/config/initializers/inflections.rb +2 -0
  208. data/test/dummy/config/initializers/mime_types.rb +2 -0
  209. data/test/dummy/config/initializers/session_store.rb +2 -0
  210. data/test/dummy/config/initializers/simple_form_bootstrap.rb +3 -1
  211. data/test/dummy/config/initializers/ui_bibz.rb +1 -1
  212. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  213. data/test/dummy/config/routes.rb +2 -0
  214. data/test/dummy/db/migrate/20150123191805_create_users.rb +2 -0
  215. data/test/dummy/db/migrate/20170309084406_continents.rb +2 -0
  216. data/test/dummy/db/migrate/20170309084453_countries.rb +2 -0
  217. data/test/dummy/db/schema.rb +22 -22
  218. data/test/dummy/test/models/user_test.rb +2 -0
  219. data/test/factories/user.rb +6 -4
  220. data/test/simple_form_test.rb +28 -34
  221. data/test/store_test.rb +10 -9
  222. data/test/support/factory_bot.rb +9 -5
  223. data/test/test_helper.rb +8 -8
  224. data/test/ui/core/boxes/card_test.rb +28 -26
  225. data/test/ui/core/boxes/jumbotron_test.rb +4 -3
  226. data/test/ui/core/component_test.rb +4 -4
  227. data/test/ui/core/forms/buttons/button_group_test.rb +8 -7
  228. data/test/ui/core/forms/buttons/button_link_test.rb +16 -14
  229. data/test/ui/core/forms/buttons/button_refresh_test.rb +5 -5
  230. data/test/ui/core/forms/buttons/button_test.rb +25 -23
  231. data/test/ui/core/forms/choices/box_switch_field_test.rb +62 -62
  232. data/test/ui/core/forms/choices/checkbox_field_test.rb +7 -6
  233. data/test/ui/core/forms/choices/choice_group_test.rb +6 -5
  234. data/test/ui/core/forms/choices/radio_field_test.rb +7 -6
  235. data/test/ui/core/forms/dates/date_picker_field_test.rb +12 -11
  236. data/test/ui/core/forms/dropdowns/dropdown_test.rb +12 -11
  237. data/test/ui/core/forms/files/text_field_test.rb +7 -6
  238. data/test/ui/core/forms/numbers/formula_field_test.rb +7 -6
  239. data/test/ui/core/forms/numbers/number_field_test.rb +12 -11
  240. data/test/ui/core/forms/numbers/range_field_test.rb +12 -11
  241. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +61 -60
  242. data/test/ui/core/forms/selects/multi_column_field_test.rb +14 -13
  243. data/test/ui/core/forms/selects/multi_select_field_test.rb +19 -18
  244. data/test/ui/core/forms/selects/select_field_test.rb +13 -13
  245. data/test/ui/core/forms/surrounds/surround_field_test.rb +54 -54
  246. data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +7 -6
  247. data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -7
  248. data/test/ui/core/forms/texts/text_field_test.rb +17 -16
  249. data/test/ui/core/icons/glyph_group_test.rb +8 -8
  250. data/test/ui/core/icons/glyph_test.rb +4 -4
  251. data/test/ui/core/icons/star_test.rb +37 -36
  252. data/test/ui/core/layouts/col_test.rb +11 -10
  253. data/test/ui/core/layouts/container_test.rb +3 -2
  254. data/test/ui/core/layouts/row_test.rb +4 -3
  255. data/test/ui/core/lists/list_group_test.rb +7 -6
  256. data/test/ui/core/navigations/breadcrumb_test.rb +12 -14
  257. data/test/ui/core/navigations/link_test.rb +9 -8
  258. data/test/ui/core/navigations/nav_test.rb +22 -21
  259. data/test/ui/core/navigations/navbar_test.rb +11 -11
  260. data/test/ui/core/navigations/pagination_test.rb +14 -13
  261. data/test/ui/core/navigations/tab_group_test.rb +22 -21
  262. data/test/ui/core/navigations/toolbar_test.rb +4 -3
  263. data/test/ui/core/notifications/alert_test.rb +5 -4
  264. data/test/ui/core/notifications/badge_test.rb +5 -4
  265. data/test/ui/core/notifications/progress_bar_test.rb +13 -13
  266. data/test/ui/core/notifications/spinner_test.rb +9 -8
  267. data/test/ui/core/notifications/toast_test.rb +3 -2
  268. data/test/ui/core/windows/modal_test.rb +3 -2
  269. data/test/ui/ux/containers/panel_test.rb +7 -6
  270. data/test/ui/ux/tables/table_test.rb +33 -33
  271. data/test/ui_bibz_test.rb +3 -1
  272. data/ui_bibz.gemspec +32 -28
  273. metadata +73 -42
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  class ToolbarTest < ActionView::TestCase
3
5
  include UiBibz::Helpers::Ui::CoreHelper
@@ -8,7 +10,7 @@ class ToolbarTest < ActionView::TestCase
8
10
  bg.button 'Home'
9
11
  end
10
12
  end
11
- expected = "<div class=\"btn-toolbar\" role=\"toolbar\"><div class=\"btn-group\" role=\"group\"><button class=\"btn-secondary btn\">Home</button></div></div>"
13
+ expected = '<div class="btn-toolbar" role="toolbar"><div class="btn-group" role="group"><button class="btn-secondary btn">Home</button></div></div>'
12
14
 
13
15
  assert_equal expected, actual
14
16
  end
@@ -23,9 +25,8 @@ class ToolbarTest < ActionView::TestCase
23
25
  bg.button 'Home 2'
24
26
  end
25
27
  end
26
- expected = "<div class=\"btn-toolbar justify-content-between\" role=\"toolbar\"><div role=\"group\" class=\"btn-group mr-2\"><button class=\"btn-secondary btn\">Home</button></div><div class=\"btn-group\" role=\"group\"><button class=\"btn-secondary btn\">Home 2</button></div></div>"
28
+ expected = '<div class="btn-toolbar justify-content-between" role="toolbar"><div role="group" class="btn-group mr-2"><button class="btn-secondary btn">Home</button></div><div class="btn-group" role="group"><button class="btn-secondary btn">Home 2</button></div></div>'
27
29
 
28
30
  assert_equal expected, actual
29
31
  end
30
-
31
32
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  class AlertTest < ActionView::TestCase
3
5
  include UiBibz::Helpers::Ui::CoreHelper
4
6
 
5
7
  test 'alert' do
6
8
  actual = ui_alert 'state'
7
- expected = "<div class=\"alert-info alert alert-dismissible\" role=\"alert\">state</div>"
9
+ expected = '<div class="alert-info alert alert-dismissible" role="alert">state</div>'
8
10
 
9
11
  assert_equal expected, actual
10
12
  end
@@ -14,16 +16,15 @@ class AlertTest < ActionView::TestCase
14
16
  a.header 'Information'
15
17
  a.body 'Body text'
16
18
  end
17
- expected = "<div class=\"alert-success alert alert-dismissible\" role=\"alert\"><h4 class=\"alert-header\"><i class=\"glyph fas fa-thumbs-o-up\"></i> Information<button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span><span class=\"sr-only\">Close</span></button></h4><hr /><p class=\"alert-body mb-0\">Body text</p></div>"
19
+ expected = '<div class="alert-success alert alert-dismissible" role="alert"><h4 class="alert-header"><i class="glyph fas fa-thumbs-o-up"></i> Information<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button></h4><hr /><p class="alert-body mb-0">Body text</p></div>'
18
20
 
19
21
  assert_equal expected, actual
20
22
  end
21
23
 
22
24
  test 'alert with timeout' do
23
25
  actual = ui_alert 'timeout', timeout: 500
24
- expected = "<div data-timeout=\"500\" class=\"alert-info alert alert-dismissible\" role=\"alert\">timeout</div>"
26
+ expected = '<div data-timeout="500" class="alert-info alert alert-dismissible" role="alert">timeout</div>'
25
27
 
26
28
  assert_equal expected, actual
27
29
  end
28
-
29
30
  end
@@ -1,26 +1,27 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  class BadgeTest < ActionView::TestCase
3
5
  include UiBibz::Helpers::Ui::CoreHelper
4
6
 
5
7
  test 'badge' do
6
8
  actual = ui_badge 'state', status: :success, glyph: 'pencil'
7
- expected = "<span class=\"badge-success badge\"><i class=\"glyph fas fa-pencil\"></i> state</span>"
9
+ expected = '<span class="badge-success badge"><i class="glyph fas fa-pencil"></i> state</span>'
8
10
 
9
11
  assert_equal expected, actual
10
12
  end
11
13
 
12
14
  test 'badge with url' do
13
15
  actual = ui_badge 'state', url: 'http://example.com'
14
- expected = "<a class=\"badge-default badge\" href=\"http://example.com\">state</a>"
16
+ expected = '<a class="badge-default badge" href="http://example.com">state</a>'
15
17
 
16
18
  assert_equal expected, actual
17
19
  end
18
20
 
19
21
  test 'badge pill' do
20
22
  actual = ui_badge 'state', status: :success, type: :pill, glyph: 'pencil'
21
- expected = "<span class=\"badge-success badge badge-pill\"><i class=\"glyph fas fa-pencil\"></i> state</span>"
23
+ expected = '<span class="badge-success badge badge-pill"><i class="glyph fas fa-pencil"></i> state</span>'
22
24
 
23
25
  assert_equal expected, actual
24
26
  end
25
-
26
27
  end
@@ -1,4 +1,5 @@
1
- # encoding: UTF-8
1
+ # frozen_string_literal: true
2
+
2
3
  require 'test_helper'
3
4
 
4
5
  class ProgressBarTest < ActionView::TestCase
@@ -6,35 +7,35 @@ class ProgressBarTest < ActionView::TestCase
6
7
 
7
8
  test 'progress bar' do
8
9
  actual = ui_progress_bar(20)
9
- expected = "<div class=\"progress\"><div class=\"progress-bar\" aria-valuenow=\"20.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 20.0%\" role=\"progressbar\">20.0%</div></div>"
10
+ expected = '<div class="progress"><div class="progress-bar" aria-valuenow="20.0" aria-valuemin="0" aria-valuemax="100" style="width: 20.0%" role="progressbar">20.0%</div></div>'
10
11
 
11
12
  assert_equal expected, actual
12
13
  end
13
14
 
14
15
  test 'progress bar status' do
15
16
  actual = ui_progress_bar(70, status: :danger)
16
- expected = "<div class=\"progress\"><div class=\"bg-danger progress-bar\" aria-valuenow=\"70.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 70.0%\" role=\"progressbar\">70.0%</div></div>"
17
+ expected = '<div class="progress"><div class="bg-danger progress-bar" aria-valuenow="70.0" aria-valuemin="0" aria-valuemax="100" style="width: 70.0%" role="progressbar">70.0%</div></div>'
17
18
 
18
19
  assert_equal expected, actual
19
20
  end
20
21
 
21
22
  test 'progress bar striped' do
22
23
  actual = ui_progress_bar(70, striped: true)
23
- expected = "<div class=\"progress\"><div class=\"progress-bar progress-bar-striped\" aria-valuenow=\"70.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 70.0%\" role=\"progressbar\">70.0%</div></div>"
24
+ expected = '<div class="progress"><div class="progress-bar progress-bar-striped" aria-valuenow="70.0" aria-valuemin="0" aria-valuemax="100" style="width: 70.0%" role="progressbar">70.0%</div></div>'
24
25
 
25
26
  assert_equal expected, actual
26
27
  end
27
28
 
28
- test 'progress bar animated' do
29
+ test 'progress bar animated' do
29
30
  actual = ui_progress_bar(70, animated: true)
30
- expected = "<div class=\"progress\"><div class=\"progress-bar progress-bar-animated\" aria-valuenow=\"70.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 70.0%\" role=\"progressbar\">70.0%</div></div>"
31
+ expected = '<div class="progress"><div class="progress-bar progress-bar-animated" aria-valuenow="70.0" aria-valuemin="0" aria-valuemax="100" style="width: 70.0%" role="progressbar">70.0%</div></div>'
31
32
 
32
33
  assert_equal expected, actual
33
34
  end
34
35
 
35
36
  test 'progress bar stacked' do
36
37
  actual = ui_progress_bar(76, animated: true)
37
- expected = "<div class=\"progress\"><div class=\"progress-bar progress-bar-animated\" aria-valuenow=\"76.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 76.0%\" role=\"progressbar\">76.0%</div></div>"
38
+ expected = '<div class="progress"><div class="progress-bar progress-bar-animated" aria-valuenow="76.0" aria-valuemin="0" aria-valuemax="100" style="width: 76.0%" role="progressbar">76.0%</div></div>'
38
39
 
39
40
  assert_equal expected, actual
40
41
  end
@@ -44,30 +45,29 @@ class ProgressBarTest < ActionView::TestCase
44
45
  pb.bar 25, status: :warning, striped: true
45
46
  pb.bar 65, status: :danger
46
47
  end
47
- expected = "<div class=\"progress\"><div class=\"bg-warning progress-bar progress-bar-striped\" aria-valuenow=\"25.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 25.0%\" role=\"progressbar\">25.0%</div><div class=\"bg-danger progress-bar\" aria-valuenow=\"65.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 65.0%\" role=\"progressbar\">65.0%</div></div>"
48
+ expected = '<div class="progress"><div class="bg-warning progress-bar progress-bar-striped" aria-valuenow="25.0" aria-valuemin="0" aria-valuemax="100" style="width: 25.0%" role="progressbar">25.0%</div><div class="bg-danger progress-bar" aria-valuenow="65.0" aria-valuemin="0" aria-valuemax="100" style="width: 65.0%" role="progressbar">65.0%</div></div>'
48
49
 
49
50
  assert_equal expected, actual
50
51
  end
51
52
 
52
53
  test 'progress bar with statuses and 20%' do
53
54
  actual = ui_progress_bar 20, statuses: true
54
- expected = "<div class=\"progress\"><div class=\"bg-primary progress-bar\" aria-valuenow=\"20.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 20.0%\" role=\"progressbar\">20.0%</div></div>"
55
+ expected = '<div class="progress"><div class="bg-primary progress-bar" aria-valuenow="20.0" aria-valuemin="0" aria-valuemax="100" style="width: 20.0%" role="progressbar">20.0%</div></div>'
55
56
 
56
57
  assert_equal expected, actual
57
58
  end
58
59
 
59
60
  test 'progress bar with statuses and 80%' do
60
61
  actual = ui_progress_bar 80, statuses: true
61
- expected = "<div class=\"progress\"><div class=\"bg-danger progress-bar\" aria-valuenow=\"80.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 80.0%\" role=\"progressbar\">80.0%</div></div>"
62
+ expected = '<div class="progress"><div class="bg-danger progress-bar" aria-valuenow="80.0" aria-valuemin="0" aria-valuemax="100" style="width: 80.0%" role="progressbar">80.0%</div></div>'
62
63
 
63
64
  assert_equal expected, actual
64
65
  end
65
66
 
66
67
  test 'progress bar with custom statuses' do
67
- actual = ui_progress_bar 80, statuses: [:info, :warning]
68
- expected = "<div class=\"progress\"><div class=\"bg-warning progress-bar\" aria-valuenow=\"80.0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 80.0%\" role=\"progressbar\">80.0%</div></div>"
68
+ actual = ui_progress_bar 80, statuses: %i[info warning]
69
+ expected = '<div class="progress"><div class="bg-warning progress-bar" aria-valuenow="80.0" aria-valuemin="0" aria-valuemax="100" style="width: 80.0%" role="progressbar">80.0%</div></div>'
69
70
 
70
71
  assert_equal expected, actual
71
72
  end
72
-
73
73
  end
@@ -1,33 +1,34 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  class SpinnerTest < ActionView::TestCase
3
5
  include UiBibz::Helpers::Ui::CoreHelper
4
6
 
5
7
  test 'spinner' do
6
8
  actual = ui_spinner
7
- expected = "<div class=\"spinner-border\" role=\"status\"><span class=\"sr-only\">Loading...</span></div>"
9
+ expected = '<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>'
8
10
 
9
11
  assert_equal expected, actual
10
12
  end
11
13
 
12
14
  test 'spinner with status and content' do
13
- actual = ui_spinner "My spinner", status: :secondary
14
- expected = "<div class=\"text-secondary spinner-border\" role=\"status\"><span class=\"sr-only\">My spinner</span></div>"
15
+ actual = ui_spinner 'My spinner', status: :secondary
16
+ expected = '<div class="text-secondary spinner-border" role="status"><span class="sr-only">My spinner</span></div>'
15
17
 
16
18
  assert_equal expected, actual
17
19
  end
18
20
 
19
21
  test 'spinner type' do
20
22
  actual = ui_spinner nil, type: :grow
21
- expected = "<div class=\"spinner-grow\" role=\"status\"><span class=\"sr-only\">Loading...</span></div>"
23
+ expected = '<div class="spinner-grow" role="status"><span class="sr-only">Loading...</span></div>'
22
24
 
23
25
  assert_equal expected, actual
24
26
  end
25
27
 
26
- test "spinner in button" do
27
- actual = ui_button "Load", spinner: { status: :danger, type: :grow }
28
- expected = "<button class=\"btn-secondary btn\"><span class=\"text-danger mr-2 spinner-grow spinner-grow-sm\" role=\"status\"><span class=\"sr-only\">Loading...</span></span>Load</button>"
28
+ test 'spinner in button' do
29
+ actual = ui_button 'Load', spinner: { status: :danger, type: :grow }
30
+ expected = '<button class="btn-secondary btn"><span class="text-danger mr-2 spinner-grow spinner-grow-sm" role="status"><span class="sr-only">Loading...</span></span>Load</button>'
29
31
 
30
32
  assert_equal expected, actual
31
33
  end
32
-
33
34
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  class ToastTest < ActionView::TestCase
3
5
  include UiBibz::Helpers::Ui::CoreHelper
@@ -7,9 +9,8 @@ class ToastTest < ActionView::TestCase
7
9
  t.header 'My header toast', glyph: 'eye', time: 'Now', class: 'my-header-toast'
8
10
  t.body 'My body toast', class: 'my-body-toast'
9
11
  end
10
- expected = "<div data-autohide=\"true\" class=\"my-toast toast\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\"><div class=\"my-header-toast toast-header\"><i class=\"mr-2 glyph fas fa-eye\"></i><strong class=\"mr-auto\">My header toast</strong><small class=\"text-muted\">Now</small><button class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div><div class=\"my-body-toast toast-body\">My body toast</div></div>"
12
+ expected = '<div data-autohide="true" class="my-toast toast" role="alert" aria-live="assertive" aria-atomic="true"><div class="my-header-toast toast-header"><i class="mr-2 glyph fas fa-eye"></i><strong class="mr-auto">My header toast</strong><small class="text-muted">Now</small><button class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close"><span aria-hidden="true">×</span></button></div><div class="my-body-toast toast-body">My body toast</div></div>'
11
13
 
12
14
  assert_equal expected, actual
13
15
  end
14
-
15
16
  end
@@ -1,4 +1,5 @@
1
- # encoding: UTF-8
1
+ # frozen_string_literal: true
2
+
2
3
  require 'test_helper'
3
4
 
4
5
  class UiHelperTest < ActionView::TestCase
@@ -13,7 +14,7 @@ class UiHelperTest < ActionView::TestCase
13
14
  concat ui_button_link 'Save', url: '#', status: :primary
14
15
  end
15
16
  end
16
- expected = "<div class=\"modal\"><div class=\"modal-dialog \" role=\"document\"><div class=\"modal-content\"><div class=\"modal-header\"><h5 class=\"modal-title\">My title</h5><button class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span><span class=\"sr-only\">Close</span></button></div><div class=\"modal-body\">My body</div><div class=\"modal-footer\"><a class=\"btn-link btn\" role=\"button\" href=\"#\">Close</a><a class=\"btn-primary btn\" role=\"button\" href=\"#\">Save</a></div></div></div></div>"
17
+ expected = '<div class="modal"><div class="modal-dialog " role="document"><div class="modal-content"><div class="modal-header"><h5 class="modal-title">My title</h5><button class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button></div><div class="modal-body">My body</div><div class="modal-footer"><a class="btn-link btn" role="button" href="#">Close</a><a class="btn-primary btn" role="button" href="#">Save</a></div></div></div></div>'
17
18
 
18
19
  assert_equal expected, actual
19
20
  end
@@ -1,4 +1,6 @@
1
- require 'test_helper'
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
2
4
 
3
5
  class CardTest < ActionView::TestCase
4
6
  include UiBibz::Helpers::Ui::UxHelper
@@ -33,7 +35,7 @@ class CardTest < ActionView::TestCase
33
35
  end
34
36
  p.footer 'Footer'
35
37
  end
36
- expected = "<div class=\"panel\"><div class=\"panel-header justify-content-between\"><div class=\"panel-title\">My header</div><div class=\"btn-group btn-group-sm\" role=\"group\"><button class=\"btn-outline-secondary btn btn-sm without-text\"><i class=\"glyph fas fa-caret-up\"></i></button><button class=\"btn-outline-secondary btn btn-sm without-text\"><i class=\"glyph fas fa-cog\"></i></button><button class=\"btn-outline-secondary btn btn-sm without-text\"><i class=\"glyph fas fa-Close\"></i></button></div></div><div class=\"btn-toolbar justify-content-between panel-toolbar\" role=\"toolbar\"><div role=\"group\" class=\"btn-group btn-group-sm mr-2\"><button class=\"btn-secondary btn btn-sm\">Copy</button><button class=\"btn-secondary btn btn-sm\">Cut</button><button class=\"btn-secondary btn btn-sm\">Paste</button></div><div class=\"btn-group btn-group-sm\" role=\"group\"><button class=\"btn-secondary btn btn-sm\">Delete</button></div></div><div class=\"panel-body\">Body</div><div class=\"btn-toolbar panel-toolbar\" role=\"toolbar\"><div class=\"btn-group btn-group-sm\" role=\"group\"><button class=\"btn-success btn btn-sm without-text\"><i class=\"glyph fas fa-plus-circle\"></i></button><button class=\"btn-danger btn btn-sm without-text\"><i class=\"glyph fas fa-minus-circle\"></i></button></div></div><div class=\"panel-footer\">Footer</div></div>"
38
+ expected = '<div class="panel"><div class="panel-header justify-content-between"><div class="panel-title">My header</div><div class="btn-group btn-group-sm" role="group"><button class="btn-outline-secondary btn btn-sm without-text"><i class="glyph fas fa-caret-up"></i></button><button class="btn-outline-secondary btn btn-sm without-text"><i class="glyph fas fa-cog"></i></button><button class="btn-outline-secondary btn btn-sm without-text"><i class="glyph fas fa-Close"></i></button></div></div><div class="btn-toolbar justify-content-between panel-toolbar" role="toolbar"><div role="group" class="btn-group btn-group-sm mr-2"><button class="btn-secondary btn btn-sm">Copy</button><button class="btn-secondary btn btn-sm">Cut</button><button class="btn-secondary btn btn-sm">Paste</button></div><div class="btn-group btn-group-sm" role="group"><button class="btn-secondary btn btn-sm">Delete</button></div></div><div class="panel-body">Body</div><div class="btn-toolbar panel-toolbar" role="toolbar"><div class="btn-group btn-group-sm" role="group"><button class="btn-success btn btn-sm without-text"><i class="glyph fas fa-plus-circle"></i></button><button class="btn-danger btn btn-sm without-text"><i class="glyph fas fa-minus-circle"></i></button></div></div><div class="panel-footer">Footer</div></div>'
37
39
 
38
40
  assert_equal expected, actual
39
41
  end
@@ -67,7 +69,7 @@ class CardTest < ActionView::TestCase
67
69
  end
68
70
  p.footer 'Main Panel Footer'
69
71
  end
70
- expected = "<div class=\"panel\"><div class=\"panel-header justify-content-between\"><div class=\"panel-title\">Main panel header</div></div><div class=\"btn-toolbar justify-content-between panel-toolbar\" role=\"toolbar\"><div role=\"group\" class=\"btn-group btn-group-sm mr-2\"><button class=\"btn-secondary btn btn-sm\">Copy</button><button class=\"btn-secondary btn btn-sm\">Cut</button><button class=\"btn-secondary btn btn-sm\">Paste</button></div><div class=\"btn-group btn-group-sm\" role=\"group\"><button class=\"btn-secondary btn btn-sm\">Delete</button></div></div><div class=\"panel-group\"><div class=\"panel\"><div class=\"panel-header justify-content-between\">Left Panel Header</div><div class=\"panel-body\">Left Panel Body</div><div class=\"panel-footer\">Left Panel Footer</div></div><div class=\"panel\"><div class=\"panel-header justify-content-between\">Right Panel Header</div><div class=\"panel-body\">Right Panel Body</div></div></div><div class=\"panel-footer\">Main Panel Footer</div></div>"
72
+ expected = '<div class="panel"><div class="panel-header justify-content-between"><div class="panel-title">Main panel header</div></div><div class="btn-toolbar justify-content-between panel-toolbar" role="toolbar"><div role="group" class="btn-group btn-group-sm mr-2"><button class="btn-secondary btn btn-sm">Copy</button><button class="btn-secondary btn btn-sm">Cut</button><button class="btn-secondary btn btn-sm">Paste</button></div><div class="btn-group btn-group-sm" role="group"><button class="btn-secondary btn btn-sm">Delete</button></div></div><div class="panel-group"><div class="panel"><div class="panel-header justify-content-between">Left Panel Header</div><div class="panel-body">Left Panel Body</div><div class="panel-footer">Left Panel Footer</div></div><div class="panel"><div class="panel-header justify-content-between">Right Panel Header</div><div class="panel-body">Right Panel Body</div></div></div><div class="panel-footer">Main Panel Footer</div></div>'
71
73
 
72
74
  assert_equal expected, actual
73
75
  end
@@ -101,7 +103,7 @@ class CardTest < ActionView::TestCase
101
103
  end
102
104
  p.footer 'Main Panel Footer'
103
105
  end
104
- expected = "<div class=\"panel\"><div class=\"panel-header justify-content-between\"><div class=\"panel-title\">Main panel header</div></div><div class=\"btn-toolbar justify-content-between panel-toolbar\" role=\"toolbar\"><div role=\"group\" class=\"btn-group btn-group-sm mr-2\"><button class=\"btn-secondary btn btn-sm\">Copy</button><button class=\"btn-secondary btn btn-sm\">Cut</button><button class=\"btn-secondary btn btn-sm\">Paste</button></div><div class=\"btn-group btn-group-sm\" role=\"group\"><button class=\"btn-secondary btn btn-sm\">Delete</button></div></div><div class=\"panel-deck-wrapper\"><div class=\"panel-deck\"><div class=\"panel\"><div class=\"panel-header justify-content-between\">Left Panel Header</div><div class=\"panel-body\">Left Panel Body</div><div class=\"panel-footer\">Left Panel Footer</div></div><div class=\"panel\"><div class=\"panel-header justify-content-between\">Right Panel Header</div><div class=\"panel-body\">Right Panel Body</div></div></div></div><div class=\"panel-footer\">Main Panel Footer</div></div>"
106
+ expected = '<div class="panel"><div class="panel-header justify-content-between"><div class="panel-title">Main panel header</div></div><div class="btn-toolbar justify-content-between panel-toolbar" role="toolbar"><div role="group" class="btn-group btn-group-sm mr-2"><button class="btn-secondary btn btn-sm">Copy</button><button class="btn-secondary btn btn-sm">Cut</button><button class="btn-secondary btn btn-sm">Paste</button></div><div class="btn-group btn-group-sm" role="group"><button class="btn-secondary btn btn-sm">Delete</button></div></div><div class="panel-deck-wrapper"><div class="panel-deck"><div class="panel"><div class="panel-header justify-content-between">Left Panel Header</div><div class="panel-body">Left Panel Body</div><div class="panel-footer">Left Panel Footer</div></div><div class="panel"><div class="panel-header justify-content-between">Right Panel Header</div><div class="panel-body">Right Panel Body</div></div></div></div><div class="panel-footer">Main Panel Footer</div></div>'
105
107
 
106
108
  assert_equal expected, actual
107
109
  end
@@ -135,9 +137,8 @@ class CardTest < ActionView::TestCase
135
137
  end
136
138
  p.footer 'Main Panel Footer'
137
139
  end
138
- expected = "<div class=\"panel\"><div class=\"panel-header justify-content-between\"><div class=\"panel-title\">Main panel header</div></div><div class=\"btn-toolbar justify-content-between panel-toolbar\" role=\"toolbar\"><div role=\"group\" class=\"btn-group btn-group-sm mr-2\"><button class=\"btn-secondary btn btn-sm\">Copy</button><button class=\"btn-secondary btn btn-sm\">Cut</button><button class=\"btn-secondary btn btn-sm\">Paste</button></div><div class=\"btn-group btn-group-sm\" role=\"group\"><button class=\"btn-secondary btn btn-sm\">Delete</button></div></div><div class=\"panel-columns\"><div class=\"panel\"><div class=\"panel-header justify-content-between\">Left Panel Header</div><div class=\"panel-body\">Left Panel Body</div><div class=\"panel-footer\">Left Panel Footer</div></div><div class=\"panel\"><div class=\"panel-header justify-content-between\">Right Panel Header</div><div class=\"panel-body\">Right Panel Body</div></div></div><div class=\"panel-footer\">Main Panel Footer</div></div>"
140
+ expected = '<div class="panel"><div class="panel-header justify-content-between"><div class="panel-title">Main panel header</div></div><div class="btn-toolbar justify-content-between panel-toolbar" role="toolbar"><div role="group" class="btn-group btn-group-sm mr-2"><button class="btn-secondary btn btn-sm">Copy</button><button class="btn-secondary btn btn-sm">Cut</button><button class="btn-secondary btn btn-sm">Paste</button></div><div class="btn-group btn-group-sm" role="group"><button class="btn-secondary btn btn-sm">Delete</button></div></div><div class="panel-columns"><div class="panel"><div class="panel-header justify-content-between">Left Panel Header</div><div class="panel-body">Left Panel Body</div><div class="panel-footer">Left Panel Footer</div></div><div class="panel"><div class="panel-header justify-content-between">Right Panel Header</div><div class="panel-body">Right Panel Body</div></div></div><div class="panel-footer">Main Panel Footer</div></div>'
139
141
 
140
142
  assert_equal expected, actual
141
143
  end
142
-
143
144
  end
@@ -1,38 +1,39 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
- require "ui_bibz/ui/ux/tables/components/store"
3
- require "ui_bibz/ui/ux/tables/extensions/paginable"
4
- require "ui_bibz/ui/ux/tables/extensions/searchable"
5
- require "ui_bibz/ui/ux/tables/extensions/sortable"
6
- require "ui_bibz/ui/ux/tables/extensions/actionable"
4
+ require 'ui_bibz/ui/ux/tables/components/store'
5
+ require 'ui_bibz/ui/ux/tables/extensions/paginable'
6
+ require 'ui_bibz/ui/ux/tables/extensions/searchable'
7
+ require 'ui_bibz/ui/ux/tables/extensions/sortable'
8
+ require 'ui_bibz/ui/ux/tables/extensions/actionable'
7
9
 
8
10
  class TableTest < ActionView::TestCase
9
-
10
11
  setup do
11
12
  create_list(:user, 25)
12
13
  params = ActionController::Parameters.new({
13
- controller: 'users',
14
- action: 'index',
15
- sort: 'users.name_fr',
16
- direction: 'asc',
17
- search: 'Name fr',
18
- per_page: 2,
19
- page: 1,
20
- only_path: true
21
- })
14
+ controller: 'users',
15
+ action: 'index',
16
+ sort: 'users.name_fr',
17
+ direction: 'asc',
18
+ search: 'Name fr',
19
+ per_page: 2,
20
+ page: 1,
21
+ only_path: true
22
+ })
22
23
  @users = User.table_search_pagination(params, session)
23
24
  @store = UiBibz::Ui::Ux::Tables::Store.new @users
24
25
  end
25
26
 
26
27
  test 'table search field' do
27
- actual = UiBibz::Ui::Ux::Tables::TableSearchField.new({ store: @users}).render
28
- expected = "<form class=\"form-table-search-field\" action=\"/users?direction=asc&amp;page=1&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\" accept-charset=\"UTF-8\" method=\"get\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><div class=\"input-group input-group-sm table-search-field\"><span class=\"input-group-addon\"><i class=\"glyph fas fa-search\"></i></span><input type=\"hidden\" name=\"sort\" value=\"users.name_fr\" /><input type=\"hidden\" name=\"direction\" value=\"asc\" /><input type=\"hidden\" name=\"per_page\" value=\"2\" /><input type=\"hidden\" name=\"page\" value=\"1\" /><input type=\"hidden\" name=\"only_path\" value=\"true\" /><input type=\"hidden\" name=\"link_type\" value=\"search\" /><input type=\"search\" value=\"Name fr\" name=\"search\" class=\"form-control\" placeholder=\"Search by Name fr and Name en...\" /><span class=\"input-group-btn clear-search-btn\"><button type=\"button\" class=\"btn btn-secondary\"><i class=\"glyph fas fa-times-circle\"></i></button></span></div></form>"
28
+ actual = UiBibz::Ui::Ux::Tables::TableSearchField.new({ store: @users }).render
29
+ expected = '<form class="form-table-search-field" action="/users?direction=asc&amp;page=1&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /><div class="input-group input-group-sm table-search-field"><span class="input-group-addon"><i class="glyph fas fa-search"></i></span><input type="hidden" name="sort" value="users.name_fr" /><input type="hidden" name="direction" value="asc" /><input type="hidden" name="per_page" value="2" /><input type="hidden" name="page" value="1" /><input type="hidden" name="only_path" value="true" /><input type="hidden" name="link_type" value="search" /><input type="search" value="Name fr" name="search" class="form-control" placeholder="Search by Name fr and Name en..." /><span class="input-group-btn clear-search-btn"><button type="button" class="btn btn-secondary"><i class="glyph fas fa-times-circle"></i></button></span></div></form>'
29
30
 
30
31
  assert_equal expected, actual
31
32
  end
32
33
 
33
34
  test 'table pagination' do
34
35
  actual = UiBibz::Ui::Ux::Tables::TablePagination.new({ store: @users }).render
35
- expected = "<nav class=\"pagination\"><ul class=\"pagination\" role=\"group\"><li class=\"previous page-item disabled\"><span class=\"page-link\">&laquo;</span></li> <li class=\"page-item active\"><span class=\"page-link\">1</span></li> <li class=\"page-item\"><a class=\"page-link\" rel=\"next\" href=\"/users?direction=asc&amp;page=2&amp;search=Name+fr&amp;sort=users.name_fr\">2</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=3&amp;search=Name+fr&amp;sort=users.name_fr\">3</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=4&amp;search=Name+fr&amp;sort=users.name_fr\">4</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=5&amp;search=Name+fr&amp;sort=users.name_fr\">5</a></li> <li class=\"page-item disabled\"><i class=\"page-link\">&hellip;</i></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=12&amp;search=Name+fr&amp;sort=users.name_fr\">12</a></li> <li class=\"page-item\"><a class=\"page-link\" href=\"/users?direction=asc&amp;page=13&amp;search=Name+fr&amp;sort=users.name_fr\">13</a></li> <li class=\"next page-item\"><a class=\"page-link\" rel=\"next\" href=\"/users?direction=asc&amp;page=2&amp;search=Name+fr&amp;sort=users.name_fr\">&raquo;</a></li></ul></nav>"
36
+ expected = '<nav class="pagination"><ul class="pagination" role="group"><li class="previous page-item disabled"><span class="page-link">&laquo;</span></li> <li class="page-item active"><span class="page-link">1</span></li> <li class="page-item"><a class="page-link" rel="next" href="/users?direction=asc&amp;page=2&amp;search=Name+fr&amp;sort=users.name_fr">2</a></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&amp;page=3&amp;search=Name+fr&amp;sort=users.name_fr">3</a></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&amp;page=4&amp;search=Name+fr&amp;sort=users.name_fr">4</a></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&amp;page=5&amp;search=Name+fr&amp;sort=users.name_fr">5</a></li> <li class="page-item disabled"><i class="page-link">&hellip;</i></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&amp;page=12&amp;search=Name+fr&amp;sort=users.name_fr">12</a></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&amp;page=13&amp;search=Name+fr&amp;sort=users.name_fr">13</a></li> <li class="next page-item"><a class="page-link" rel="next" href="/users?direction=asc&amp;page=2&amp;search=Name+fr&amp;sort=users.name_fr">&raquo;</a></li></ul></nav>'
36
37
 
37
38
  assert_equal expected, actual
38
39
  end
@@ -40,7 +41,7 @@ class TableTest < ActionView::TestCase
40
41
  test 'table non sortable' do
41
42
  options = { sortable: false }
42
43
  actual = UiBibz::Ui::Ux::Tables::Sortable.new(@store, options).header(@store.columns.list.first)
43
- expected = "Id"
44
+ expected = 'Id'
44
45
 
45
46
  assert_equal expected, actual
46
47
  end
@@ -48,7 +49,7 @@ class TableTest < ActionView::TestCase
48
49
  test 'table sortable' do
49
50
  options = { sortable: true }
50
51
  actual = UiBibz::Ui::Ux::Tables::Sortable.new(@store, options).header(@store.columns.list.first)
51
- expected = "<a class=\"dropup\" href=\"/users?column_id=id&amp;direction=asc&amp;link_type=column&amp;search=Name+fr&amp;sort=users.id\">Id</a>"
52
+ expected = '<a class="dropup" href="/users?column_id=id&amp;direction=asc&amp;link_type=column&amp;search=Name+fr&amp;sort=users.id">Id</a>'
52
53
 
53
54
  assert_equal expected, actual
54
55
  end
@@ -57,7 +58,6 @@ class TableTest < ActionView::TestCase
57
58
  options = { paginable: false }
58
59
  pagination = UiBibz::Ui::Ux::Tables::Paginable.new(@store, options)
59
60
  actual = pagination.render if pagination.paginable?
60
- expected = nil
61
61
 
62
62
  assert_nil actual
63
63
  end
@@ -81,7 +81,7 @@ class TableTest < ActionView::TestCase
81
81
  test 'table non searchable' do
82
82
  options = { searchable: false }
83
83
  actual = UiBibz::Ui::Ux::Tables::Searchable.new(@store, options).render
84
- expected = "<div><div class=\"title\">Users list</div><br class=\"ui-bibz-clear\" /></div>"
84
+ expected = '<div><div class="title">Users list</div><br class="ui-bibz-clear" /></div>'
85
85
 
86
86
  assert_equal expected, actual
87
87
  end
@@ -89,7 +89,7 @@ class TableTest < ActionView::TestCase
89
89
  test 'table non searchable with a title and glyph' do
90
90
  options = { searchable: false, glyph: 'state', title: 'Title list' }
91
91
  actual = UiBibz::Ui::Ux::Tables::Searchable.new(@store, options).render
92
- expected = "<div><div class=\"title\"><i class=\"glyph fas fa-state\"></i>Title list</div><br class=\"ui-bibz-clear\" /></div>"
92
+ expected = '<div><div class="title"><i class="glyph fas fa-state"></i>Title list</div><br class="ui-bibz-clear" /></div>'
93
93
 
94
94
  assert_equal expected, actual
95
95
  end
@@ -97,7 +97,7 @@ class TableTest < ActionView::TestCase
97
97
  test 'table searchable' do
98
98
  options = { searchable: true }
99
99
  actual = UiBibz::Ui::Ux::Tables::Searchable.new(@store, options).render
100
- expected = "<div><div class=\"title\">Users list</div><form class=\"form-table-search-field\" action=\"/users?direction=asc&amp;page=1&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr\" accept-charset=\"UTF-8\" method=\"get\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><div class=\"input-group input-group-sm table-search-field\"><span class=\"input-group-addon\"><i class=\"glyph fas fa-search\"></i></span><input type=\"hidden\" name=\"sort\" value=\"users.name_fr\" /><input type=\"hidden\" name=\"direction\" value=\"asc\" /><input type=\"hidden\" name=\"per_page\" value=\"2\" /><input type=\"hidden\" name=\"page\" value=\"1\" /><input type=\"hidden\" name=\"only_path\" value=\"true\" /><input type=\"hidden\" name=\"link_type\" value=\"search\" /><input type=\"search\" value=\"Name fr\" name=\"search\" class=\"form-control\" placeholder=\"Search by Name fr and Name en...\" /><span class=\"input-group-btn clear-search-btn\"><button type=\"button\" class=\"btn btn-secondary\"><i class=\"glyph fas fa-times-circle\"></i></button></span></div></form><br class=\"ui-bibz-clear\" /></div>"
100
+ expected = '<div><div class="title">Users list</div><form class="form-table-search-field" action="/users?direction=asc&amp;page=1&amp;per_page=2&amp;search=Name+fr&amp;sort=users.name_fr" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /><div class="input-group input-group-sm table-search-field"><span class="input-group-addon"><i class="glyph fas fa-search"></i></span><input type="hidden" name="sort" value="users.name_fr" /><input type="hidden" name="direction" value="asc" /><input type="hidden" name="per_page" value="2" /><input type="hidden" name="page" value="1" /><input type="hidden" name="only_path" value="true" /><input type="hidden" name="link_type" value="search" /><input type="search" value="Name fr" name="search" class="form-control" placeholder="Search by Name fr and Name en..." /><span class="input-group-btn clear-search-btn"><button type="button" class="btn btn-secondary"><i class="glyph fas fa-times-circle"></i></button></span></div></form><br class="ui-bibz-clear" /></div>'
101
101
 
102
102
  assert_equal expected, actual
103
103
  end
@@ -106,7 +106,7 @@ class TableTest < ActionView::TestCase
106
106
  options = { actionable: true }
107
107
  action = UiBibz::Ui::Ux::Tables::Actionable.new(@store, options)
108
108
  actual = action.header []
109
- expected = ["<th class=\"action\"></th>"]
109
+ expected = ['<th class="action"></th>']
110
110
 
111
111
  assert_equal expected, actual
112
112
  end
@@ -115,7 +115,7 @@ class TableTest < ActionView::TestCase
115
115
  options = { actionable: true }
116
116
  action = UiBibz::Ui::Ux::Tables::Actionable.new(@store, options)
117
117
  actual = action.body @store.records.first, []
118
- expected = ["<td></td>"]
118
+ expected = ['<td></td>']
119
119
 
120
120
  assert_equal expected, actual
121
121
  end
@@ -124,7 +124,7 @@ class TableTest < ActionView::TestCase
124
124
  options = { actionable: true }
125
125
  action = UiBibz::Ui::Ux::Tables::Actionable.new(@store, options)
126
126
  actual = action.inject_url 'http://localhost/users/id/test', @store.records.first
127
- expected = "http://localhost/users/1/test"
127
+ expected = 'http://localhost/users/1/test'
128
128
 
129
129
  assert_equal expected, actual
130
130
  end
@@ -161,7 +161,7 @@ class TableTest < ActionView::TestCase
161
161
  end
162
162
 
163
163
  test 'complex table_card with custom actions' do
164
- actual = UiBibz::Ui::Ux::Tables::TableCard.new({ store: @users, tap: true }, { class: 'state'}).tap do |pane|
164
+ actual = UiBibz::Ui::Ux::Tables::TableCard.new({ store: @users, tap: true }, { class: 'state' }).tap do |pane|
165
165
  pane.header 'Test header'
166
166
  pane.body cls: 'ui' do
167
167
  'Test body'
@@ -170,7 +170,7 @@ class TableTest < ActionView::TestCase
170
170
  c.column(:id, { name: '#' })
171
171
  c.column(:name_fr, { name: 'Name fr', link: edit_user_path(:id), order: 2 })
172
172
  c.column(:name_en, { name: 'Name en', order: 1 })
173
- c.column(:name_en, { name: 'Name en', format: lambda{ |records, record| "name #{ record.id}"}})
173
+ c.column(:name_en, { name: 'Name en', format: ->(_records, record) { "name #{record.id}" } })
174
174
  end
175
175
  pane.actions do |a|
176
176
  a.link 'state', url: users_path(:id), glyph: 'eye'
@@ -196,16 +196,16 @@ class TableTest < ActionView::TestCase
196
196
 
197
197
  test 'table visual options' do
198
198
  table = UiBibz::Ui::Ux::Tables::Table.new(store: @users, striped: true, status: :inverse, responsive: true, bordered: true, size: :sm, hoverable: true, reflow: true).render
199
- actual = Nokogiri::HTML(table).xpath("//table")[0].attributes["class"].value
200
- expected = "table-inverse table table-striped table-bordered table-hoverable table-sm table-responsive table-reflow"
199
+ actual = Nokogiri::HTML(table).xpath('//table')[0].attributes['class'].value
200
+ expected = 'table-inverse table table-striped table-bordered table-hoverable table-sm table-responsive table-reflow'
201
201
 
202
202
  assert_equal expected, actual
203
203
  end
204
204
 
205
205
  test 'table thead visual options' do
206
206
  table = UiBibz::Ui::Ux::Tables::Table.new(store: @users, thead: { status: :default }).render
207
- actual = Nokogiri::HTML(table).xpath("//thead")[0].attributes["class"].value
208
- expected = "thead-default"
207
+ actual = Nokogiri::HTML(table).xpath('//thead')[0].attributes['class'].value
208
+ expected = 'thead-default'
209
209
 
210
210
  assert_equal expected, actual
211
211
  end