node/test/es-module/test-esm-invalid-data-urls.js
André Alves 71391987f7
lib: fix MIME overmatch in data URLs
This commit adds the delimiters ^ and $ to the regex that matches the
MIME types for `data:` URLs.

PR-URL: https://github.com/nodejs/node/pull/49104
Fixes: https://github.com/nodejs/node/issues/48957
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-08-13 23:24:22 +02:00

25 lines
891 B
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
(async () => {
await assert.rejects(import('data:text/plain,export default0'), {
code: 'ERR_UNKNOWN_MODULE_FORMAT',
message:
'Unknown module format: text/plain for URL data:text/plain,' +
'export default0',
});
await assert.rejects(import('data:text/plain;base64,'), {
code: 'ERR_UNKNOWN_MODULE_FORMAT',
message:
'Unknown module format: text/plain for URL data:text/plain;base64,',
});
await assert.rejects(import('data:text/css,.error { color: red; }'), {
code: 'ERR_UNKNOWN_MODULE_FORMAT',
message: 'Unknown module format: text/css for URL data:text/css,.error { color: red; }',
});
await assert.rejects(import('data:WRONGtext/javascriptFORMAT,console.log("hello!");'), {
code: 'ERR_UNKNOWN_MODULE_FORMAT',
});
})().then(common.mustCall());