diff options
| author | Gildardo Adrian Maravilla Jacome <gilmrjc@gmail.com> | 2021-01-04 20:28:01 -0600 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-05-31 11:09:48 +0200 |
| commit | 91e21836f667c784a8a63ab1f18d81f553e679cb (patch) | |
| tree | cb781866791924e0003bf2151eb9dc7a04c89096 /tests/staticfiles_tests/test_storage.py | |
| parent | 781b44240a06f0c868254f40f36ce46c927f56d1 (diff) | |
Fixed #32319 -- Added ES module support to ManifestStaticFilesStorage.
Diffstat (limited to 'tests/staticfiles_tests/test_storage.py')
| -rw-r--r-- | tests/staticfiles_tests/test_storage.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/staticfiles_tests/test_storage.py b/tests/staticfiles_tests/test_storage.py index 6c877a271a..db655f2453 100644 --- a/tests/staticfiles_tests/test_storage.py +++ b/tests/staticfiles_tests/test_storage.py @@ -159,6 +159,52 @@ class TestHashedFiles: self.assertIn(b"https://", relfile.read()) self.assertPostCondition() + def test_module_import(self): + relpath = self.hashed_file_path('cached/module.js') + self.assertEqual(relpath, 'cached/module.91b9cf9935da.js') + tests = [ + # Relative imports. + b'import testConst from "./module_test.d489af3cf882.js";', + b'import relativeModule from "../nested/js/nested.866475c46bb4.js";', + b'import { firstConst, secondConst } from "./module_test.d489af3cf882.js";', + # Absolute import. + b'import rootConst from "/static/absolute_root.5586327fe78c.js";', + # Dynamic import. + b'const dynamicModule = import("./module_test.d489af3cf882.js");', + # Creating a module object. + b'import * as NewModule from "./module_test.d489af3cf882.js";', + # Aliases. + b'import { testConst as alias } from "./module_test.d489af3cf882.js";', + b'import {\n' + b' firstVar as firstVarAlias,\n' + b' secondVar as secondVarAlias\n' + b'} from "./module_test.d489af3cf882.js";', + ] + with storage.staticfiles_storage.open(relpath) as relfile: + content = relfile.read() + for module_import in tests: + with self.subTest(module_import=module_import): + self.assertIn(module_import, content) + self.assertPostCondition() + + def test_aggregating_modules(self): + relpath = self.hashed_file_path('cached/module.js') + self.assertEqual(relpath, 'cached/module.91b9cf9935da.js') + tests = [ + b'export * from "./module_test.d489af3cf882.js";', + b'export { testConst } from "./module_test.d489af3cf882.js";', + b'export {\n' + b' firstVar as firstVarAlias,\n' + b' secondVar as secondVarAlias\n' + b'} from "./module_test.d489af3cf882.js";', + ] + with storage.staticfiles_storage.open(relpath) as relfile: + content = relfile.read() + for module_import in tests: + with self.subTest(module_import=module_import): + self.assertIn(module_import, content) + self.assertPostCondition() + @override_settings( STATICFILES_DIRS=[os.path.join(TEST_ROOT, 'project', 'loop')], STATICFILES_FINDERS=['django.contrib.staticfiles.finders.FileSystemFinder'], |
