mirror of https://github.com/tc39/test262.git
Exports can be Arbitrary Strings
This commit is contained in:
parent
2fade3db47
commit
c43c9d8448
|
@ -0,0 +1,24 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
Ill formed unicode cannot be an exported name
|
||||||
|
esid: sec-module-semantics
|
||||||
|
info: |
|
||||||
|
ModuleExportName : StringLiteral
|
||||||
|
|
||||||
|
It is a Syntax Error if IsStringWellFormedUnicode of the StringValue of StringLiteral is *false*.
|
||||||
|
negative:
|
||||||
|
flags: module
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
$DONOTEVALUATE();
|
||||||
|
|
||||||
|
// 🌙 is '\uD83C\uDF19'
|
||||||
|
export {Moon as "\uD83C",} from "./early-export-ill-formed-string.js";
|
||||||
|
export {"\uD83C"} from "./early-export-ill-formed-string.js";
|
||||||
|
import {'\uD83C' as Usagi} from "./early-export-ill-formed-string.js";
|
||||||
|
|
||||||
|
function Moon() {}
|
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: Module Namespace Objects can have non-Identifier properties
|
||||||
|
esid: prod-ExportSpecifier
|
||||||
|
info:
|
||||||
|
ExportSpecifier[From] :
|
||||||
|
IdentifierName `as` ModuleExportName
|
||||||
|
|
||||||
|
ModuleExportName : StringLiteral
|
||||||
|
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
import * as Scouts from "./export-expname_FIXTURE.js";
|
||||||
|
|
||||||
|
assert.sameValue(Scouts.Mercury, undefined);
|
||||||
|
assert.sameValue(Scouts["☿"], globalThis.Mercury);
|
|
@ -0,0 +1,22 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
ExportSpecifier : ModuleExportName
|
||||||
|
esid: prod-ExportSpecifier
|
||||||
|
info: |
|
||||||
|
ExportFromClause :
|
||||||
|
NamedExports[+From]
|
||||||
|
|
||||||
|
ExportSpecifier[From] :
|
||||||
|
IdentifierName `as` ModuleExportName
|
||||||
|
|
||||||
|
ModuleExportName : StringLiteral
|
||||||
|
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
import * as Scouts from "./export-expname-from-binding-string.js";
|
||||||
|
export { Mercury as "☿" } from "./export-expname_FIXTURE.js";
|
||||||
|
|
||||||
|
assert.sameValue(Scouts.Mercury, undefined);
|
||||||
|
assert.sameValue(Scouts["☿"], globalThis.Mercury);
|
|
@ -0,0 +1,19 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
ExportFromClause : `*` `as` ModuleExportName
|
||||||
|
esid: prod-ExportFromClause
|
||||||
|
info: |
|
||||||
|
ExportFromClause :
|
||||||
|
`*` `as` ModuleExportName
|
||||||
|
|
||||||
|
ModuleExportName : StringLiteral
|
||||||
|
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
import * as Scouts from "./export-expname-from-star-string.js";
|
||||||
|
export * as "All" from "./export-expname_FIXTURE.js";
|
||||||
|
|
||||||
|
assert.sameValue(Scouts["☿"], undefined);
|
||||||
|
assert.sameValue(Scouts.All["☿"], globalThis.Mercury);
|
|
@ -0,0 +1,16 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
ExportFromClause : `*`
|
||||||
|
esid: prod-ExportFromClause
|
||||||
|
info: |
|
||||||
|
ExportFromClause :
|
||||||
|
`*`
|
||||||
|
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
import * as Scouts from "./export-expname-from-star.js";
|
||||||
|
export * from "./export-expname_FIXTURE.js";
|
||||||
|
|
||||||
|
assert.sameValue(Scouts["☿"], globalThis.Mercury);
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
ExportFromClause : NamedExports
|
||||||
|
esid: prod-ExportFromClause
|
||||||
|
info: |
|
||||||
|
ExportFromClause :
|
||||||
|
NamedExports[+From]
|
||||||
|
|
||||||
|
NamedExports[From] :
|
||||||
|
[+From] ModuleExportName as IdentifierName
|
||||||
|
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
import * as Scouts from "./export-expname-from-string-binding.js";
|
||||||
|
export { "☿" as Ami } from "./export-expname_FIXTURE.js";
|
||||||
|
|
||||||
|
assert.sameValue(Scouts["☿"], undefined);
|
||||||
|
assert.sameValue(Scouts.Ami, globalThis.Mercury);
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
ExportFromClause : NamedExports
|
||||||
|
esid: prod-ExportFromClause
|
||||||
|
info: |
|
||||||
|
ExportFromClause :
|
||||||
|
NamedExports[+From]
|
||||||
|
|
||||||
|
NamedExports[From] :
|
||||||
|
[+From] ModuleExportName as ModuleExportName
|
||||||
|
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
import * as Scouts from "./export-expname-from-string-string.js";
|
||||||
|
export { "☿" as "Ami" } from "./export-expname_FIXTURE.js";
|
||||||
|
|
||||||
|
assert.sameValue(Scouts["☿"], undefined);
|
||||||
|
assert.sameValue(Scouts.Ami, globalThis.Mercury);
|
|
@ -0,0 +1,21 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
ExportFromClause : NamedExports
|
||||||
|
esid: prod-ExportFromClause
|
||||||
|
info: |
|
||||||
|
ExportFromClause :
|
||||||
|
NamedExports[+From]
|
||||||
|
|
||||||
|
NamedExports[From] :
|
||||||
|
[+From] ModuleExportName
|
||||||
|
|
||||||
|
ModuleExportName : StringLiteral
|
||||||
|
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
import * as Scouts from "./export-expname-from-string.js";
|
||||||
|
export { "☿" } from "./export-expname_FIXTURE.js";
|
||||||
|
|
||||||
|
assert.sameValue(typeof Scouts["☿"], "function");
|
|
@ -0,0 +1,16 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
ImportSpecifier :
|
||||||
|
ModuleExportName `as` IdentifierName
|
||||||
|
esid: prod-ImportSpecifier
|
||||||
|
info: |
|
||||||
|
ImportSpecifier :
|
||||||
|
ModuleExportName `as` IdentifierName
|
||||||
|
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
import { "☿" as Ami } from "./export-expname_FIXTURE.js";
|
||||||
|
|
||||||
|
assert.sameValue(Ami, globalThis.Mercury);
|
|
@ -0,0 +1,9 @@
|
||||||
|
// Copyright (C) 2020 Bradley Farias. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
flags: [module]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
export { Mercury as "☿" };
|
||||||
|
function Mercury() {}
|
||||||
|
globalThis.Mercury = Mercury;
|
Loading…
Reference in New Issue