test/helper_test.rb in vite_rails-1.0.8 vs test/helper_test.rb in vite_rails-1.0.9
- old
+ new
@@ -1,10 +1,12 @@
# frozen_string_literal: true
require 'test_helper'
class HelperTest < ActionView::TestCase
+ include ViteRailsTestHelpers
+
tests ViteRails::Helper
attr_reader :request
def setup
@@ -15,124 +17,54 @@
'https://example.com'
end
end.new
end
- def test_asset_pack_path
- assert_equal '/packs/bootstrap-300631c4f0e0f9c865bc.js', asset_pack_path('bootstrap.js')
- assert_equal '/packs/bootstrap-c38deda30895059837cf.css', asset_pack_path('bootstrap.css')
+ def test_vite_client_tag
+ assert_nil vite_client_tag
+ with_dev_server_running {
+ assert_equal '<script src="/@vite/client" type="module"></script>', vite_client_tag
+ }
end
- def test_asset_pack_url
- assert_equal 'https://example.com/packs/bootstrap-300631c4f0e0f9c865bc.js', asset_pack_url('bootstrap.js')
- assert_equal 'https://example.com/packs/bootstrap-c38deda30895059837cf.css', asset_pack_url('bootstrap.css')
+ def test_vite_asset_path
+ assert_equal '/vite-production/assets/colored.1173bfe0.js', vite_asset_path('colored.js')
+ assert_equal '/vite-production/assets/colored.84277fd6.css', vite_asset_path('colored.css')
+ with_dev_server_running {
+ assert_equal '/vite-production/colored.js', vite_asset_path('colored.js')
+ assert_equal '/vite-production/colored.css', vite_asset_path('colored.css')
+ }
end
- def test_image_pack_path
- assert_equal '/packs/application-k344a6d59eef8632c9d1.png', image_pack_path('application.png')
- assert_equal '/packs/media/images/image-c38deda30895059837cf.jpg', image_pack_path('image.jpg')
- assert_equal '/packs/media/images/image-c38deda30895059837cf.jpg', image_pack_path('media/images/image.jpg')
- assert_equal '/packs/media/images/nested/image-c38deda30895059837cf.jpg', image_pack_path('nested/image.jpg')
- assert_equal '/packs/media/images/nested/image-c38deda30895059837cf.jpg', image_pack_path('media/images/nested/image.jpg')
- end
+ def test_vite_stylesheet_tag
+ assert_equal %(<link rel="stylesheet" media="screen" href="/vite-production/assets/colored.84277fd6.css" />),
+ vite_stylesheet_tag('colored')
- def test_image_pack_url
- assert_equal 'https://example.com/packs/application-k344a6d59eef8632c9d1.png', image_pack_url('application.png')
- assert_equal 'https://example.com/packs/media/images/image-c38deda30895059837cf.jpg', image_pack_url('image.jpg')
- assert_equal 'https://example.com/packs/media/images/image-c38deda30895059837cf.jpg', image_pack_url('media/images/image.jpg')
- assert_equal 'https://example.com/packs/media/images/nested/image-c38deda30895059837cf.jpg', image_pack_url('nested/image.jpg')
- assert_equal 'https://example.com/packs/media/images/nested/image-c38deda30895059837cf.jpg', image_pack_url('media/images/nested/image.jpg')
- end
+ assert_equal vite_stylesheet_tag('colored'), vite_stylesheet_tag('colored.css')
- def test_image_pack_tag
- assert_equal \
- '<img alt="Edit Entry" src="/packs/application-k344a6d59eef8632c9d1.png" width="16" height="10" />',
- image_pack_tag('application.png', size: '16x10', alt: 'Edit Entry')
- assert_equal \
- '<img alt="Edit Entry" src="/packs/media/images/image-c38deda30895059837cf.jpg" width="16" height="10" />',
- image_pack_tag('image.jpg', size: '16x10', alt: 'Edit Entry')
- assert_equal \
- '<img alt="Edit Entry" src="/packs/media/images/image-c38deda30895059837cf.jpg" width="16" height="10" />',
- image_pack_tag('media/images/image.jpg', size: '16x10', alt: 'Edit Entry')
- assert_equal \
- '<img alt="Edit Entry" src="/packs/media/images/nested/image-c38deda30895059837cf.jpg" width="16" height="10" />',
- image_pack_tag('nested/image.jpg', size: '16x10', alt: 'Edit Entry')
- assert_equal \
- '<img alt="Edit Entry" src="/packs/media/images/nested/image-c38deda30895059837cf.jpg" width="16" height="10" />',
- image_pack_tag('media/images/nested/image.jpg', size: '16x10', alt: 'Edit Entry')
- assert_equal \
- '<img srcset="/packs/media/images/image-2x-7cca48e6cae66ec07b8e.jpg 2x" src="/packs/media/images/image-c38deda30895059837cf.jpg" />',
- image_pack_tag('media/images/image.jpg', srcset: { 'media/images/image-2x.jpg' => '2x' })
- end
+ with_dev_server_running {
+ assert_equal %(<link rel="stylesheet" media="screen" href="/vite-production/colored.css" />),
+ vite_stylesheet_tag('colored')
- def test_favicon_pack_tag
- assert_equal \
- '<link rel="apple-touch-icon" type="image/png" href="/packs/application-k344a6d59eef8632c9d1.png" />',
- favicon_pack_tag('application.png', rel: 'apple-touch-icon', type: 'image/png')
- assert_equal \
- '<link rel="apple-touch-icon" type="image/png" href="/packs/media/images/mb-icon-c38deda30895059837cf.png" />',
- favicon_pack_tag('mb-icon.png', rel: 'apple-touch-icon', type: 'image/png')
- assert_equal \
- '<link rel="apple-touch-icon" type="image/png" href="/packs/media/images/mb-icon-c38deda30895059837cf.png" />',
- favicon_pack_tag('media/images/mb-icon.png', rel: 'apple-touch-icon', type: 'image/png')
- assert_equal \
- '<link rel="apple-touch-icon" type="image/png" href="/packs/media/images/nested/mb-icon-c38deda30895059837cf.png" />',
- favicon_pack_tag('nested/mb-icon.png', rel: 'apple-touch-icon', type: 'image/png')
- assert_equal \
- '<link rel="apple-touch-icon" type="image/png" href="/packs/media/images/nested/mb-icon-c38deda30895059837cf.png" />',
- favicon_pack_tag('media/images/nested/mb-icon.png', rel: 'apple-touch-icon', type: 'image/png')
+ assert_equal vite_stylesheet_tag('colored'), vite_stylesheet_tag('colored.css')
+ }
end
- def test_javascript_pack_tag
- assert_equal \
- %(<script src="/packs/bootstrap-300631c4f0e0f9c865bc.js"></script>),
- javascript_pack_tag('bootstrap.js')
- end
+ def test_vite_javascript_tag
+ assert_equal [
+ %(<script src="/vite-production/assets/application.a0ba047e.js" crossorigin="anonymous" type="module"></script>),
+ %(<link rel="preload" href="/vite-production/assets/example_import.8e1fddc0.js" as="script" type="text/javascript" crossorigin="anonymous">),
+ %(<link rel="stylesheet" media="screen" href="/vite-production/assets/application.cccfef34.css" />),
+ ].join, vite_javascript_tag('application')
- def test_javascript_pack_tag_symbol
- assert_equal \
- %(<script src="/packs/bootstrap-300631c4f0e0f9c865bc.js"></script>),
- javascript_pack_tag(:bootstrap)
- end
+ assert_equal vite_javascript_tag('application'), vite_javascript_tag('application.js')
+ assert_equal vite_javascript_tag('application'), vite_typescript_tag('application')
- def test_javascript_pack_tag_splat
- assert_equal \
- %(<script src="/packs/bootstrap-300631c4f0e0f9c865bc.js" defer="defer"></script>\n) +
- %(<script src="/packs/application-k344a6d59eef8632c9d1.js" defer="defer"></script>),
- javascript_pack_tag('bootstrap.js', 'application.js', defer: true)
- end
+ with_dev_server_running {
+ assert_equal %(<script src="/vite-production/application.js" crossorigin="anonymous" type="module"></script>),
+ vite_javascript_tag('application')
- def test_javascript_pack_tag_split_chunks
- assert_equal \
- %(<script src="/packs/vendors~application~bootstrap-c20632e7baf2c81200d3.chunk.js"></script>\n) +
- %(<script src="/packs/vendors~application-e55f2aae30c07fb6d82a.chunk.js"></script>\n) +
- %(<script src="/packs/application-k344a6d59eef8632c9d1.js"></script>),
- javascript_packs_with_chunks_tag('application')
- end
-
- def test_stylesheet_pack_tag_split_chunks
- assert_equal \
- %(<link rel="stylesheet" media="screen" href="/packs/1-c20632e7baf2c81200d3.chunk.css" />\n) +
- %(<link rel="stylesheet" media="screen" href="/packs/application-k344a6d59eef8632c9d1.chunk.css" />\n) +
- %(<link rel="stylesheet" media="screen" href="/packs/hello_stimulus-k344a6d59eef8632c9d1.chunk.css" />),
- stylesheet_packs_with_chunks_tag('application', 'hello_stimulus')
- end
-
- def test_stylesheet_pack_tag
- assert_equal \
- %(<link rel="stylesheet" media="screen" href="/packs/bootstrap-c38deda30895059837cf.css" />),
- stylesheet_pack_tag('bootstrap.css')
- end
-
- def test_stylesheet_pack_tag_symbol
- assert_equal \
- %(<link rel="stylesheet" media="screen" href="/packs/bootstrap-c38deda30895059837cf.css" />),
- stylesheet_pack_tag(:bootstrap)
- end
-
- def test_stylesheet_pack_tag_splat
- assert_equal \
- %(<link rel="stylesheet" media="all" href="/packs/bootstrap-c38deda30895059837cf.css" />\n) +
- %(<link rel="stylesheet" media="all" href="/packs/application-dd6b1cd38bfa093df600.css" />),
- stylesheet_pack_tag('bootstrap.css', 'application.css', media: 'all')
+ assert_equal %(<script src="/vite-production/application.ts.js" crossorigin="anonymous" type="module"></script>),
+ vite_typescript_tag('application')
+ }
end
end