diff --git a/src/validate/js/index.js b/src/validate/js/index.js index 257c913301..bc3ab784f1 100644 --- a/src/validate/js/index.js +++ b/src/validate/js/index.js @@ -16,10 +16,6 @@ export default function validateJs ( validator, js ) { } if ( node.type === 'ExportDefaultDeclaration' ) { - if ( validator.defaultExport ) { - return validator.error( `Duplicate default export`, node.start ); - } - if ( node.declaration.type !== 'ObjectExpression' ) { return validator.error( `Default export must be an object literal`, node.declaration.start ); } diff --git a/test/validate.js b/test/validate.js index 597c9d7526..00f93c9c72 100644 --- a/test/validate.js +++ b/test/validate.js @@ -46,9 +46,9 @@ describe( 'validate', () => { if ( err.name !== 'ParseError' ) throw err; try { - const expected = require( `./validator/${dir}/error.json` ); + const expected = require( `./validator/${dir}/errors.json` )[0]; - assert.equal( err.shortMessage, expected.message ); + assert.equal( err.message, expected.message ); assert.deepEqual( err.loc, expected.loc ); assert.equal( err.pos, expected.pos ); } catch ( err2 ) { diff --git a/test/validator/export-default-duplicated/errors.json b/test/validator/export-default-duplicated/errors.json new file mode 100644 index 0000000000..3b8b22ff88 --- /dev/null +++ b/test/validator/export-default-duplicated/errors.json @@ -0,0 +1,8 @@ +[{ + "message": "Duplicate export 'default'", + "pos": 37, + "loc": { + "line": 3, + "column": 8 + } +}] diff --git a/test/validator/export-default-duplicated/input.html b/test/validator/export-default-duplicated/input.html new file mode 100644 index 0000000000..adceb3dce5 --- /dev/null +++ b/test/validator/export-default-duplicated/input.html @@ -0,0 +1,4 @@ +