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