Merge pull request #257 from adamjmcgrath/esprima-2-aliased-imports

Fix Import variable binding for esprima 2
diff --git a/escodegen.js b/escodegen.js
index c695776..8f98fbc 100644
--- a/escodegen.js
+++ b/escodegen.js
@@ -2262,9 +2262,11 @@
         },
 
         ExportSpecifier: function (expr, precedence, flags) {
-            var result = [ (expr.id || expr.local).name ];
-            if (expr.name) {
-                result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(expr.name));
+            var exported = (expr.id || expr.imported).name;
+            var result = [ exported ];
+            var id = expr.name || expr.local;
+            if (id && id.name !== exported) {
+                result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(id));
             }
             return result;
         },
diff --git a/test/compare-esprima2/import-with-default.expected.js b/test/compare-esprima2/import-with-default.expected.js
index 75d9a1f..5e55c4f 100644
--- a/test/compare-esprima2/import-with-default.expected.js
+++ b/test/compare-esprima2/import-with-default.expected.js
@@ -2,7 +2,7 @@
 import foo, * as foo from 'foo';
 import * as foo from 'foo';
 import ok, {
-    foo,
-    test,
+    foo as bar,
+    test as testing,
     logging
 } from 'foo';
diff --git a/test/compare-esprima2/import-with-default.expected.min.js b/test/compare-esprima2/import-with-default.expected.min.js
index 9541f43..6b6105f 100644
--- a/test/compare-esprima2/import-with-default.expected.min.js
+++ b/test/compare-esprima2/import-with-default.expected.min.js
@@ -1 +1 @@
-import foo from'foo';import foo,*as foo from'foo';import*as foo from'foo';import ok,{foo,test,logging}from'foo'
+import foo from'foo';import foo,*as foo from'foo';import*as foo from'foo';import ok,{foo as bar,test as testing,logging}from'foo'
diff --git a/test/compare-esprima2/import-with-default.js b/test/compare-esprima2/import-with-default.js
index 75d9a1f..5e55c4f 100644
--- a/test/compare-esprima2/import-with-default.js
+++ b/test/compare-esprima2/import-with-default.js
@@ -2,7 +2,7 @@
 import foo, * as foo from 'foo';
 import * as foo from 'foo';
 import ok, {
-    foo,
-    test,
+    foo as bar,
+    test as testing,
     logging
 } from 'foo';