comfortable_mexican_sofa 2.0.9 → 2.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/comfy/vendor/bootstrap.min.js +3 -3
  3. data/app/assets/stylesheets/comfy/admin/cms/application.sass +1 -2
  4. data/app/assets/stylesheets/comfy/admin/cms/base.sass +12 -13
  5. data/app/assets/stylesheets/comfy/vendor/bootstrap/_alert.scss +3 -1
  6. data/app/assets/stylesheets/comfy/vendor/bootstrap/_button-group.scss +31 -72
  7. data/app/assets/stylesheets/comfy/vendor/bootstrap/_buttons.scss +26 -19
  8. data/app/assets/stylesheets/comfy/vendor/bootstrap/_card.scss +23 -12
  9. data/app/assets/stylesheets/comfy/vendor/bootstrap/_carousel.scss +2 -2
  10. data/app/assets/stylesheets/comfy/vendor/bootstrap/_close.scss +6 -1
  11. data/app/assets/stylesheets/comfy/vendor/bootstrap/_code.scss +4 -12
  12. data/app/assets/stylesheets/comfy/vendor/bootstrap/_custom-forms.scss +124 -84
  13. data/app/assets/stylesheets/comfy/vendor/bootstrap/_dropdown.scss +30 -2
  14. data/app/assets/stylesheets/comfy/vendor/bootstrap/_forms.scss +46 -71
  15. data/app/assets/stylesheets/comfy/vendor/bootstrap/_functions.scss +4 -4
  16. data/app/assets/stylesheets/comfy/vendor/bootstrap/_images.scss +0 -1
  17. data/app/assets/stylesheets/comfy/vendor/bootstrap/_input-group.scss +99 -126
  18. data/app/assets/stylesheets/comfy/vendor/bootstrap/_list-group.scss +2 -1
  19. data/app/assets/stylesheets/comfy/vendor/bootstrap/_modal.scss +24 -9
  20. data/app/assets/stylesheets/comfy/vendor/bootstrap/_nav.scss +2 -2
  21. data/app/assets/stylesheets/comfy/vendor/bootstrap/_navbar.scss +8 -3
  22. data/app/assets/stylesheets/comfy/vendor/bootstrap/_pagination.scss +32 -19
  23. data/app/assets/stylesheets/comfy/vendor/bootstrap/_popover.scss +106 -117
  24. data/app/assets/stylesheets/comfy/vendor/bootstrap/_print.scss +17 -3
  25. data/app/assets/stylesheets/comfy/vendor/bootstrap/_progress.scss +4 -1
  26. data/app/assets/stylesheets/comfy/vendor/bootstrap/_reboot.scss +3 -25
  27. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tables.scss +1 -1
  28. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tooltip.scss +65 -57
  29. data/app/assets/stylesheets/comfy/vendor/bootstrap/_type.scss +2 -2
  30. data/app/assets/stylesheets/comfy/vendor/bootstrap/_variables.scss +174 -108
  31. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-grid.scss +32 -0
  32. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-reboot.scss +12 -0
  33. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap.scss +42 -0
  34. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_background-variant.scss +2 -1
  35. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_breakpoints.scss +11 -7
  36. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_buttons.scss +37 -22
  37. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_caret.scss +30 -0
  38. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_forms.scss +48 -19
  39. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid-framework.scss +5 -7
  40. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_hover.scss +24 -46
  41. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_list-group.scss +10 -13
  42. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_screen-reader.scss +1 -1
  43. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-hide.scss +1 -0
  44. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_borders.scss +6 -1
  45. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_display.scss +10 -28
  46. data/app/controllers/comfy/admin/cms/files_controller.rb +6 -7
  47. data/app/helpers/comfy/admin/cms_helper.rb +5 -4
  48. data/app/models/concerns/comfy/cms/with_categories.rb +20 -9
  49. data/app/views/comfy/admin/cms/categories/_edit.html.haml +3 -3
  50. data/app/views/comfy/admin/cms/categories/_form.html.haml +3 -9
  51. data/app/views/comfy/admin/cms/categories/_index.html.haml +2 -2
  52. data/app/views/comfy/admin/cms/categories/_show.html.haml +4 -3
  53. data/app/views/comfy/admin/cms/categories/create.js.erb +1 -1
  54. data/app/views/comfy/admin/cms/files/_form.html.haml +11 -12
  55. data/app/views/comfy/admin/cms/files/edit.html.haml +2 -2
  56. data/app/views/comfy/admin/cms/files/new.html.haml +2 -2
  57. data/app/views/comfy/admin/cms/fragments/_form_fragment_attachments.html.haml +7 -5
  58. data/app/views/comfy/admin/cms/fragments/_form_fragments.html.haml +1 -1
  59. data/app/views/comfy/admin/cms/layouts/_form.html.haml +3 -2
  60. data/app/views/comfy/admin/cms/layouts/edit.html.haml +1 -1
  61. data/app/views/comfy/admin/cms/layouts/new.html.haml +2 -2
  62. data/app/views/comfy/admin/cms/pages/_form.html.haml +3 -5
  63. data/app/views/comfy/admin/cms/pages/edit.html.haml +1 -1
  64. data/app/views/comfy/admin/cms/pages/new.html.haml +1 -1
  65. data/app/views/comfy/admin/cms/revisions/show.html.haml +2 -2
  66. data/app/views/comfy/admin/cms/sites/_form.html.haml +4 -4
  67. data/app/views/comfy/admin/cms/sites/edit.html.haml +1 -1
  68. data/app/views/comfy/admin/cms/sites/new.html.haml +2 -2
  69. data/app/views/comfy/admin/cms/snippets/_form.html.haml +2 -2
  70. data/app/views/comfy/admin/cms/snippets/edit.html.haml +1 -1
  71. data/app/views/comfy/admin/cms/snippets/new.html.haml +2 -2
  72. data/app/views/comfy/admin/cms/translations/_form.html.haml +5 -7
  73. data/app/views/comfy/admin/cms/translations/edit.html.haml +1 -1
  74. data/app/views/comfy/admin/cms/translations/new.html.haml +2 -2
  75. data/comfortable_mexican_sofa.gemspec +6 -3
  76. data/config/locales/fr.yml +33 -33
  77. data/lib/comfortable_mexican_sofa/content/tags/file.rb +1 -1
  78. data/lib/comfortable_mexican_sofa/content/tags/files.rb +1 -1
  79. data/lib/comfortable_mexican_sofa/form_builder.rb +10 -15
  80. data/lib/comfortable_mexican_sofa/seeds.rb +2 -5
  81. data/lib/comfortable_mexican_sofa/version.rb +1 -1
  82. metadata +9 -116
  83. data/app/assets/stylesheets/comfy/vendor/_bootstrap.scss +0 -42
  84. data/doc/preview.jpg +0 -0
  85. data/test/controllers/comfy/admin/cms/base_controller_test.rb +0 -18
  86. data/test/controllers/comfy/admin/cms/categories_controller_test.rb +0 -74
  87. data/test/controllers/comfy/admin/cms/files_controller_test.rb +0 -242
  88. data/test/controllers/comfy/admin/cms/layouts_controller_test.rb +0 -137
  89. data/test/controllers/comfy/admin/cms/pages_controller_test.rb +0 -580
  90. data/test/controllers/comfy/admin/cms/revisions/layout_controller_test.rb +0 -62
  91. data/test/controllers/comfy/admin/cms/revisions/page_controller_test.rb +0 -87
  92. data/test/controllers/comfy/admin/cms/revisions/snippet_controller_test.rb +0 -60
  93. data/test/controllers/comfy/admin/cms/revisions/translation_controller_test.rb +0 -68
  94. data/test/controllers/comfy/admin/cms/sites_controller_test.rb +0 -106
  95. data/test/controllers/comfy/admin/cms/snippets_controller_test.rb +0 -156
  96. data/test/controllers/comfy/admin/cms/translations_controller_test.rb +0 -182
  97. data/test/controllers/comfy/cms/assets_controller_test.rb +0 -61
  98. data/test/controllers/comfy/cms/content_controller_test.rb +0 -249
  99. data/test/fixtures/active_storage/attachments.yml +0 -9
  100. data/test/fixtures/active_storage/blobs.yml +0 -13
  101. data/test/fixtures/comfy/cms/categories.yml +0 -4
  102. data/test/fixtures/comfy/cms/categorizations.yml +0 -3
  103. data/test/fixtures/comfy/cms/files.yml +0 -5
  104. data/test/fixtures/comfy/cms/fragments.yml +0 -25
  105. data/test/fixtures/comfy/cms/layouts.yml +0 -34
  106. data/test/fixtures/comfy/cms/pages.yml +0 -24
  107. data/test/fixtures/comfy/cms/revisions.yml +0 -29
  108. data/test/fixtures/comfy/cms/sites.yml +0 -5
  109. data/test/fixtures/comfy/cms/snippets.yml +0 -6
  110. data/test/fixtures/comfy/cms/translations.yml +0 -7
  111. data/test/fixtures/files/data.zip +0 -0
  112. data/test/fixtures/files/document.pdf +0 -0
  113. data/test/fixtures/files/image.gif +0 -0
  114. data/test/fixtures/files/image.jpg +0 -0
  115. data/test/fixtures/generators/cms/application.rb +0 -7
  116. data/test/fixtures/generators/cms/routes.rb +0 -5
  117. data/test/fixtures/generators/scaffold/controller.rb +0 -62
  118. data/test/fixtures/generators/scaffold/migration.rb +0 -9
  119. data/test/fixtures/generators/scaffold/model.rb +0 -21
  120. data/test/fixtures/generators/scaffold/routes.rb +0 -6
  121. data/test/fixtures/generators/scaffold/tests/controller.rb +0 -111
  122. data/test/fixtures/generators/scaffold/tests/fixture +0 -2
  123. data/test/fixtures/generators/scaffold/tests/model.rb +0 -24
  124. data/test/fixtures/generators/scaffold/views/_form.haml +0 -5
  125. data/test/fixtures/generators/scaffold/views/edit.haml +0 -5
  126. data/test/fixtures/generators/scaffold/views/index.haml +0 -21
  127. data/test/fixtures/generators/scaffold/views/new.haml +0 -5
  128. data/test/fixtures/generators/scaffold/views/show.haml +0 -4
  129. data/test/fixtures/views/_nav_hook.html.erb +0 -1
  130. data/test/fixtures/views/_nav_hook_2.html.erb +0 -1
  131. data/test/fixtures/views/render_test/_test.html.erb +0 -1
  132. data/test/fixtures/views/render_test/new.html.erb +0 -1
  133. data/test/fixtures/views/render_test/render_layout.html.erb +0 -1
  134. data/test/gemfiles/5.2.gemfile +0 -19
  135. data/test/generators/cms_assets_generator_test.rb +0 -14
  136. data/test/generators/cms_controllers_generator_test.rb +0 -14
  137. data/test/generators/cms_generator_test.rb +0 -26
  138. data/test/generators/cms_models_generator_test.rb +0 -14
  139. data/test/generators/cms_views_generator_test.rb +0 -14
  140. data/test/generators/scaffold_generator_test.rb +0 -32
  141. data/test/helpers/cms_helper_test.rb +0 -106
  142. data/test/integration/access_control_test.rb +0 -179
  143. data/test/integration/i18n_test.rb +0 -38
  144. data/test/integration/meta_variables_test.rb +0 -27
  145. data/test/integration/render_cms_test.rb +0 -255
  146. data/test/integration/routing_test.rb +0 -19
  147. data/test/integration/seeds_test.rb +0 -75
  148. data/test/integration/sites_test.rb +0 -107
  149. data/test/integration/view_hooks_test.rb +0 -47
  150. data/test/lib/configuration_test.rb +0 -38
  151. data/test/lib/content/block_test.rb +0 -26
  152. data/test/lib/content/params_parser_test.rb +0 -126
  153. data/test/lib/content/renderer_test.rb +0 -276
  154. data/test/lib/content/tag_test.rb +0 -58
  155. data/test/lib/content/tags/asset_test.rb +0 -104
  156. data/test/lib/content/tags/checkbox_test.rb +0 -21
  157. data/test/lib/content/tags/date_test.rb +0 -21
  158. data/test/lib/content/tags/datetime_test.rb +0 -21
  159. data/test/lib/content/tags/file_link_test.rb +0 -91
  160. data/test/lib/content/tags/file_test.rb +0 -69
  161. data/test/lib/content/tags/files_test.rb +0 -52
  162. data/test/lib/content/tags/fragment_test.rb +0 -68
  163. data/test/lib/content/tags/helper_test.rb +0 -62
  164. data/test/lib/content/tags/markdown_test.rb +0 -37
  165. data/test/lib/content/tags/number_test.rb +0 -14
  166. data/test/lib/content/tags/partial_test.rb +0 -65
  167. data/test/lib/content/tags/snippet_test.rb +0 -37
  168. data/test/lib/content/tags/template_test.rb +0 -51
  169. data/test/lib/content/tags/text_test.rb +0 -14
  170. data/test/lib/content/tags/textarea_test.rb +0 -14
  171. data/test/lib/content/tags/wysiwyg_test.rb +0 -14
  172. data/test/lib/revisions_test.rb +0 -222
  173. data/test/lib/seeds/files_test.rb +0 -97
  174. data/test/lib/seeds/layouts_test.rb +0 -156
  175. data/test/lib/seeds/pages_test.rb +0 -230
  176. data/test/lib/seeds/snippets_test.rb +0 -99
  177. data/test/lib/seeds_test.rb +0 -51
  178. data/test/models/categorization_test.rb +0 -76
  179. data/test/models/category_test.rb +0 -39
  180. data/test/models/file_test.rb +0 -43
  181. data/test/models/fragment_test.rb +0 -132
  182. data/test/models/layout_test.rb +0 -194
  183. data/test/models/page_test.rb +0 -575
  184. data/test/models/site_test.rb +0 -190
  185. data/test/models/snippet_test.rb +0 -56
  186. data/test/models/translation_test.rb +0 -67
  187. data/test/system/layouts_frontend_test.rb +0 -15
  188. data/test/system/pages_frontend_test.rb +0 -15
  189. data/test/system/sites_frontend_test.rb +0 -11
  190. data/test/system/snippets_frontend_test.rb +0 -15
  191. data/test/tasks/cms_seeds_test.rb +0 -34
  192. data/test/test_helper.rb +0 -201
@@ -1,58 +0,0 @@
1
- require_relative "../../test_helper"
2
-
3
- class ContentTagTest < ActiveSupport::TestCase
4
-
5
- class TestTag < ComfortableMexicanSofa::Content::Tag
6
-
7
- def content
8
- "test tag content"
9
- end
10
-
11
- end
12
-
13
- class TestNestedTag < ComfortableMexicanSofa::Content::Tag
14
-
15
- def content
16
- "test {{cms:test}} content"
17
- end
18
-
19
- end
20
-
21
- setup do
22
- ComfortableMexicanSofa::Content::Renderer.register_tag(:test, TestTag)
23
- ComfortableMexicanSofa::Content::Renderer.register_tag(:test_nested, TestNestedTag)
24
- end
25
-
26
- teardown do
27
- ComfortableMexicanSofa::Content::Renderer.tags.delete("test")
28
- ComfortableMexicanSofa::Content::Renderer.tags.delete("test_nested")
29
- end
30
-
31
- # -- Tests -------------------------------------------------------------------
32
-
33
- def test_init
34
- tag = TestTag.new(
35
- context: comfy_cms_pages(:default),
36
- params: ["param_a", { "key" => "value" }],
37
- source: "source"
38
- )
39
- assert_equal comfy_cms_pages(:default), tag.context
40
- assert_equal ["param_a", { "key" => "value" }], tag.params
41
- assert_equal "source", tag.source
42
- end
43
-
44
- def test_nodes
45
- tag = TestTag.new(context: nil, params: [], source: "")
46
- assert_equal ["test tag content"], tag.nodes
47
- end
48
-
49
- def test_tag_nodes_with_nested_tag
50
- tag = TestNestedTag.new(context: nil, params: [], source: "")
51
- nodes = tag.nodes
52
- assert_equal 3, nodes.count
53
- assert_equal "test ", nodes[0]
54
- assert nodes[1].is_a?(ContentTagTest::TestTag)
55
- assert_equal " content", nodes[2]
56
- end
57
-
58
- end
@@ -1,104 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class ContentTagsAssetTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- @page = comfy_cms_pages(:default)
7
- end
8
-
9
- def test_init
10
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(
11
- context: @page,
12
- params: ["default"]
13
- )
14
- assert_equal "default", tag.identifier
15
- assert_nil tag.type
16
- assert_equal "url", tag.as
17
- end
18
-
19
- def test_init_with_params
20
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(
21
- context: @page,
22
- params: ["default", { "type" => "css", "as" => "tag" }]
23
- )
24
- assert_equal "default", tag.identifier
25
- assert_equal "css", tag.type
26
- assert_equal "tag", tag.as
27
- end
28
-
29
- def test_init_without_identifier
30
- message = "Missing layout identifier for asset tag"
31
- assert_exception_raised ComfortableMexicanSofa::Content::Tag::Error, message do
32
- ComfortableMexicanSofa::Content::Tag::Asset.new(context: @page)
33
- end
34
- end
35
-
36
- def test_layout
37
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(context: @page, params: ["default"])
38
- assert tag.layout.is_a?(Comfy::Cms::Layout)
39
- end
40
-
41
- def test_content_for_invalid
42
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(context: @page, params: ["default"])
43
- assert_nil tag.content
44
- end
45
-
46
- def test_content_for_css
47
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(
48
- context: @page,
49
- params: ["default", { "type" => "css" }]
50
- )
51
- out = "/cms-css/#{@page.site_id}/#{@page.layout.identifier}/#{@page.layout.cache_buster}.css"
52
- assert_equal out, tag.content
53
- end
54
-
55
- def test_content_for_css_as_tag
56
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(
57
- context: @page,
58
- params: ["default", { "type" => "css", "as" => "tag" }]
59
- )
60
- out = "/cms-css/#{@page.site_id}/#{@page.layout.identifier}/#{@page.layout.cache_buster}.css"
61
- out = "<link href='#{out}' media='screen' rel='stylesheet' type='text/css' />"
62
- assert_equal out, tag.content
63
- end
64
-
65
- def test_content_for_css_with_public_cms_path
66
- ComfortableMexicanSofa.config.public_cms_path = "/custom"
67
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(
68
- context: @page,
69
- params: ["default", { "type" => "css" }]
70
- )
71
- out = "/custom/cms-css/#{@page.site_id}/#{@page.layout.identifier}/#{@page.layout.cache_buster}.css"
72
- assert_equal out, tag.content
73
- end
74
-
75
- def test_content_for_js
76
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(
77
- context: @page,
78
- params: ["default", { "type" => "js" }]
79
- )
80
- out = "/cms-js/#{@page.site_id}/#{@page.layout.identifier}/#{@page.layout.cache_buster}.js"
81
- assert_equal out, tag.content
82
- end
83
-
84
- def test_content_for_js_as_tag
85
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(
86
- context: @page,
87
- params: ["default", { "type" => "js", "as" => "tag" }]
88
- )
89
- out = "/cms-js/#{@page.site_id}/#{@page.layout.identifier}/#{@page.layout.cache_buster}.js"
90
- out = "<script src='#{out}' type='text/javascript'></script>"
91
- assert_equal out, tag.content
92
- end
93
-
94
- def test_content_for_js_with_public_cms_path
95
- ComfortableMexicanSofa.config.public_cms_path = "/custom"
96
- tag = ComfortableMexicanSofa::Content::Tag::Asset.new(
97
- context: @page,
98
- params: ["default", { "type" => "js" }]
99
- )
100
- out = "/custom/cms-js/#{@page.site_id}/#{@page.layout.identifier}/#{@page.layout.cache_buster}.js"
101
- assert_equal out, tag.content
102
- end
103
-
104
- end
@@ -1,21 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class ContentTagsCheckboxTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- @page = comfy_cms_pages(:default)
7
- end
8
-
9
- def test_init
10
- tag = ComfortableMexicanSofa::Content::Tag::Checkbox.new(context: @page, params: ["test"])
11
- assert_equal "test", tag.identifier
12
- end
13
-
14
- def test_content
15
- frag = comfy_cms_fragments(:boolean)
16
- tag = ComfortableMexicanSofa::Content::Tag::Checkbox.new(context: @page, params: [frag.identifier])
17
- assert_equal frag, tag.fragment
18
- assert_equal frag.boolean, tag.content
19
- end
20
-
21
- end
@@ -1,21 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class ContentTagsDateTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- @page = comfy_cms_pages(:default)
7
- end
8
-
9
- def test_init
10
- tag = ComfortableMexicanSofa::Content::Tag::Date.new(context: @page, params: ["test"])
11
- assert_equal "test", tag.identifier
12
- end
13
-
14
- def test_content
15
- frag = comfy_cms_fragments(:datetime)
16
- tag = ComfortableMexicanSofa::Content::Tag::Date.new(context: @page, params: [frag.identifier])
17
- assert_equal frag, tag.fragment
18
- assert_equal frag.datetime, tag.content
19
- end
20
-
21
- end
@@ -1,21 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class ContentTagsDatetimeTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- @page = comfy_cms_pages(:default)
7
- end
8
-
9
- def test_init
10
- tag = ComfortableMexicanSofa::Content::Tag::Datetime.new(context: @page, params: ["test"])
11
- assert_equal "test", tag.identifier
12
- end
13
-
14
- def test_content
15
- frag = comfy_cms_fragments(:datetime)
16
- tag = ComfortableMexicanSofa::Content::Tag::Datetime.new(context: @page, params: [frag.identifier])
17
- assert_equal frag, tag.fragment
18
- assert_equal frag.datetime, tag.content
19
- end
20
-
21
- end
@@ -1,91 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class ContentTagsFileLinkTest < ActiveSupport::TestCase
4
-
5
- delegate :rails_blob_path, to: "Rails.application.routes.url_helpers"
6
-
7
- setup do
8
- @page = comfy_cms_pages(:default)
9
- @file = comfy_cms_files(:default)
10
- end
11
-
12
- # -- Tests -------------------------------------------------------------------
13
-
14
- def test_init
15
- tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(context: @page, params: ["123"])
16
- assert_equal "123", tag.identifier
17
- assert_equal "url", tag.as
18
- end
19
-
20
- def test_init_with_params
21
- tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(
22
- context: @page,
23
- params: [
24
- "123", {
25
- "as" => "image",
26
- "resize" => "100x100",
27
- "gravity" => "center",
28
- "crop" => "100x100+0+0"
29
- }
30
- ]
31
- )
32
- assert_equal "123", tag.identifier
33
- assert_equal "image", tag.as
34
- assert_equal ({
35
- "resize" => "100x100",
36
- "gravity" => "center",
37
- "crop" => "100x100+0+0"
38
- }), tag.variant_attrs
39
- end
40
-
41
- def test_init_without_identifier
42
- message = "Missing identifier for file link tag"
43
- assert_exception_raised ComfortableMexicanSofa::Content::Tag::Error, message do
44
- ComfortableMexicanSofa::Content::Tag::FileLink.new(context: @page)
45
- end
46
- end
47
-
48
- def test_file
49
- tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(context: @page, params: [@file.id])
50
- assert tag.file.is_a?(Comfy::Cms::File)
51
-
52
- tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(context: @page, params: ["invalid"])
53
- assert_nil tag.file
54
- end
55
-
56
- def test_content
57
- tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(context: @page, params: [@file.id])
58
- out = rails_blob_path(tag.file.attachment, only_path: true)
59
- assert_equal out, tag.content
60
- assert_equal out, tag.render
61
- end
62
-
63
- def test_content_as_link
64
- tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(
65
- context: @page,
66
- params: [@file.id, { "as" => "link" }]
67
- )
68
- url = rails_blob_path(tag.file.attachment, only_path: true)
69
- out = "<a href='#{url}' target='_blank'>default file</a>"
70
- assert_equal out, tag.content
71
- assert_equal out, tag.render
72
- end
73
-
74
- def test_content_as_image
75
- tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(
76
- context: @page,
77
- params: [@file.id, { "as" => "image" }]
78
- )
79
- url = rails_blob_path(tag.file.attachment, only_path: true)
80
- out = "<img src='#{url}' alt='default file'/>"
81
- assert_equal out, tag.content
82
- assert_equal out, tag.render
83
- end
84
-
85
- def test_content_when_not_found
86
- tag = ComfortableMexicanSofa::Content::Tag::FileLink.new(context: @page, params: ["invalid"])
87
- assert_equal "", tag.content
88
- assert_equal "", tag.render
89
- end
90
-
91
- end
@@ -1,69 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class ContentTagsFileTest < ActiveSupport::TestCase
4
-
5
- delegate :rails_blob_path, to: "Rails.application.routes.url_helpers"
6
-
7
- setup do
8
- @page = comfy_cms_pages(:default)
9
- end
10
-
11
- # -- Tests -------------------------------------------------------------------
12
-
13
- def test_init
14
- tag = ComfortableMexicanSofa::Content::Tag::File.new(context: @page, params: ["test"])
15
- assert_equal "test", tag.identifier
16
- assert_equal "url", tag.as
17
- end
18
-
19
- def test_init_with_params
20
- tag = ComfortableMexicanSofa::Content::Tag::File.new(
21
- context: @page,
22
- params: ["test", {
23
- "as" => "image",
24
- "resize" => "100x100",
25
- "gravity" => "center",
26
- "crop" => "100x100+0+0"
27
- }]
28
- )
29
- assert_equal "test", tag.identifier
30
- assert_equal "image", tag.as
31
- assert_equal ({
32
- "resize" => "100x100",
33
- "gravity" => "center",
34
- "crop" => "100x100+0+0"
35
- }), tag.variant_attrs
36
- end
37
-
38
- def test_content
39
- frag = comfy_cms_fragments(:file)
40
- tag = ComfortableMexicanSofa::Content::Tag::File.new(context: @page, params: [frag.identifier])
41
- assert_equal rails_blob_path(frag.attachments.first, only_path: true), tag.content
42
- end
43
-
44
- def test_content_as_link
45
- frag = comfy_cms_fragments(:file)
46
- tag = ComfortableMexicanSofa::Content::Tag::File.new(
47
- context: @page,
48
- params: [frag.identifier, { "as" => "link" }]
49
- )
50
- out = "<a href='#{rails_blob_path(frag.attachments.first, only_path: true)}' target='_blank'>fragment.jpg</a>"
51
- assert_equal out, tag.content
52
- end
53
-
54
- def test_content_as_image
55
- frag = comfy_cms_fragments(:file)
56
- tag = ComfortableMexicanSofa::Content::Tag::File.new(
57
- context: @page,
58
- params: [frag.identifier, { "as" => "image" }]
59
- )
60
- out = "<img src='#{rails_blob_path(frag.attachments.first, only_path: true)}' alt='fragment.jpg'/>"
61
- assert_equal out, tag.content
62
- end
63
-
64
- def test_content_with_no_attachment
65
- tag = ComfortableMexicanSofa::Content::Tag::File.new(context: @page, params: ["test"])
66
- assert_equal "", tag.content
67
- end
68
-
69
- end
@@ -1,52 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class ContentTagsFilesTest < ActiveSupport::TestCase
4
-
5
- delegate :rails_blob_path, to: "Rails.application.routes.url_helpers"
6
-
7
- setup do
8
- @page = comfy_cms_pages(:default)
9
- end
10
-
11
- # -- Tests -------------------------------------------------------------------
12
-
13
- def test_init
14
- tag = ComfortableMexicanSofa::Content::Tag::Files.new(context: @page, params: ["test"])
15
- assert_equal "test", tag.identifier
16
- assert_equal "url", tag.as
17
- end
18
-
19
- def test_init_with_params
20
- tag = ComfortableMexicanSofa::Content::Tag::Files.new(
21
- context: @page,
22
- params: ["test", {
23
- "as" => "image",
24
- "resize" => "100x100",
25
- "gravity" => "center",
26
- "crop" => "100x100+0+0"
27
- }]
28
- )
29
- assert_equal "test", tag.identifier
30
- assert_equal "image", tag.as
31
- assert_equal ({
32
- "resize" => "100x100",
33
- "gravity" => "center",
34
- "crop" => "100x100+0+0"
35
- }), tag.variant_attrs
36
- end
37
-
38
- def test_content
39
- frag = comfy_cms_fragments(:file)
40
- frag.update_attribute(:tag, "files")
41
- frag.update_attribute(:files, fixture_file_upload("files/image.jpg", "image/jpeg"))
42
- tag = ComfortableMexicanSofa::Content::Tag::Files.new(context: @page, params: [frag.identifier])
43
- out = frag.attachments.map { |a| rails_blob_path(a, only_path: true) }.join(" ")
44
- assert_equal out, tag.content
45
- end
46
-
47
- def test_content_no_attachments
48
- tag = ComfortableMexicanSofa::Content::Tag::Files.new(context: @page, params: ["test"])
49
- assert_equal "", tag.content
50
- end
51
-
52
- end
@@ -1,68 +0,0 @@
1
- require_relative "../../../test_helper"
2
-
3
- class ContentTagsFragmentTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- @page = comfy_cms_pages(:default)
7
- end
8
-
9
- def test_init
10
- tag = ComfortableMexicanSofa::Content::Tag::Fragment.new(context: @page, params: ["content"])
11
- assert_equal @page, tag.context
12
- assert_equal "content", tag.identifier
13
- assert_equal true, tag.renderable
14
- assert_equal "default", tag.namespace
15
- end
16
-
17
- def test_init_with_params
18
- tag = ComfortableMexicanSofa::Content::Tag::Fragment.new(
19
- context: @page,
20
- params: ["content", { "render" => "false", "namespace" => "test" }]
21
- )
22
- assert_equal false, tag.renderable
23
- assert_equal "test", tag.namespace
24
- end
25
-
26
- def test_init_without_identifier
27
- message = "Missing identifier for fragment tag: {{cms:markdown}}"
28
- assert_exception_raised ComfortableMexicanSofa::Content::Tag::Error, message do
29
- ComfortableMexicanSofa::Content::Tag::Fragment.new(context: @page, source: "{{cms:markdown}}")
30
- end
31
- end
32
-
33
- def test_fragment
34
- tag = ComfortableMexicanSofa::Content::Tag::Fragment.new(context: @page, params: ["content"])
35
- assert_equal comfy_cms_fragments(:default), tag.fragment
36
- end
37
-
38
- def test_fragment_new_record
39
- tag = ComfortableMexicanSofa::Content::Tag::Fragment.new(context: @page, params: ["new"])
40
- fragment = tag.fragment
41
- assert fragment.is_a?(Comfy::Cms::Fragment)
42
- assert fragment.new_record?
43
- end
44
-
45
- def test_content
46
- tag = ComfortableMexicanSofa::Content::Tag::Fragment.new(context: @page, params: ["content"])
47
- assert_equal "content", tag.content
48
- end
49
-
50
- def test_content_new_record
51
- tag = ComfortableMexicanSofa::Content::Tag::Fragment.new(context: @page, params: ["new"])
52
- assert_nil tag.content
53
- end
54
-
55
- def test_render
56
- tag = ComfortableMexicanSofa::Content::Tag::Fragment.new(context: @page, params: ["content"])
57
- assert_equal "content", tag.render
58
- end
59
-
60
- def test_render_when_not_renderable
61
- tag = ComfortableMexicanSofa::Content::Tag::Fragment.new(
62
- context: @page,
63
- params: ["content", { "render" => "false" }]
64
- )
65
- assert_equal "", tag.render
66
- end
67
-
68
- end