ui_bibz 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
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