From 14777c0edf3ab1cc340d417bbea330aa27844ec3 Mon Sep 17 00:00:00 2001 From: Matthew Robb Date: Thu, 14 Aug 2014 00:52:40 -0400 Subject: [PATCH] Added an additional test case for checking non top level scopes reassigning to imported binding identifiers --- test/examples/reassign-import-fails/importer.js | 4 ++-- .../exporter.js | 3 +++ .../importer.js | 11 +++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 test/examples/reassign-import-not-at-top-level-fails/exporter.js create mode 100644 test/examples/reassign-import-not-at-top-level-fails/importer.js diff --git a/test/examples/reassign-import-fails/importer.js b/test/examples/reassign-import-fails/importer.js index be399c3..35ce0f1 100644 --- a/test/examples/reassign-import-fails/importer.js +++ b/test/examples/reassign-import-fails/importer.js @@ -2,10 +2,10 @@ import { x } from './exporter'; -function $() { +(function() { for(var x = 0; x < 1; x++){} for(var x = 0; x < 1; x++){} -} +}); /* error: type=SyntaxError message="Cannot reassign imported binding `x` at importer.js:11:1" */ x = 10; diff --git a/test/examples/reassign-import-not-at-top-level-fails/exporter.js b/test/examples/reassign-import-not-at-top-level-fails/exporter.js new file mode 100644 index 0000000..a56f2ec --- /dev/null +++ b/test/examples/reassign-import-not-at-top-level-fails/exporter.js @@ -0,0 +1,3 @@ +/* jshint esnext:true */ + +export var x = 1; diff --git a/test/examples/reassign-import-not-at-top-level-fails/importer.js b/test/examples/reassign-import-not-at-top-level-fails/importer.js new file mode 100644 index 0000000..8b5bbf9 --- /dev/null +++ b/test/examples/reassign-import-not-at-top-level-fails/importer.js @@ -0,0 +1,11 @@ +/* jshint esnext:true */ + +import { x } from './exporter'; + +export function foo () { + var x = 1; +} +export function bar () { + /* error: type=SyntaxError message="Cannot reassign imported binding `x` at importer.js:10:3" */ + x = 1; +}