1'use strict'; 2const common = require('../common'); 3const { rejects } = require('assert'); 4 5const jsModuleDataUrl = 'data:text/javascript,export{}'; 6const jsonModuleDataUrl = 'data:application/json,""'; 7 8async function test() { 9 await rejects( 10 import('data:text/css,', { with: { type: 'css' } }), 11 { code: 'ERR_UNKNOWN_MODULE_FORMAT' } 12 ); 13 14 await rejects( 15 import('data:text/css,', { with: { unsupportedAttribute: 'value' } }), 16 { code: 'ERR_IMPORT_ATTRIBUTE_UNSUPPORTED' } 17 ); 18 19 await rejects( 20 import(`data:text/javascript,import${JSON.stringify(jsModuleDataUrl)}with{type:"json"}`), 21 { code: 'ERR_IMPORT_ASSERTION_TYPE_FAILED' } 22 ); 23 24 await rejects( 25 import(jsModuleDataUrl, { with: { type: 'json' } }), 26 { code: 'ERR_IMPORT_ASSERTION_TYPE_FAILED' } 27 ); 28 29 await rejects( 30 import(jsModuleDataUrl, { with: { type: 'json', other: 'unsupported' } }), 31 { code: 'ERR_IMPORT_ASSERTION_TYPE_FAILED' } 32 ); 33 34 await rejects( 35 import(jsModuleDataUrl, { with: { type: 'unsupported' } }), 36 { code: 'ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED' } 37 ); 38 39 await rejects( 40 import(jsonModuleDataUrl), 41 { code: 'ERR_IMPORT_ASSERTION_TYPE_MISSING' } 42 ); 43 44 await rejects( 45 import(jsonModuleDataUrl, { with: {} }), 46 { code: 'ERR_IMPORT_ASSERTION_TYPE_MISSING' } 47 ); 48 49 await rejects( 50 import(jsonModuleDataUrl, { with: { foo: 'bar' } }), 51 { code: 'ERR_IMPORT_ASSERTION_TYPE_MISSING' } 52 ); 53 54 await rejects( 55 import(jsonModuleDataUrl, { with: { type: 'unsupported' } }), 56 { code: 'ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED' } 57 ); 58} 59 60test().then(common.mustCall()); 61