From ae48cc1691433e588636543218c492cb6fc99265 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 16 Jun 2015 17:48:21 -0400 Subject: [PATCH] failing test for #26 --- test/function/statement-order/_config.js | 15 +++++++++++++++ test/function/statement-order/answer.js | 17 +++++++++++++++++ test/function/statement-order/main.js | 3 +++ 3 files changed, 35 insertions(+) create mode 100644 test/function/statement-order/_config.js create mode 100644 test/function/statement-order/answer.js create mode 100644 test/function/statement-order/main.js diff --git a/test/function/statement-order/_config.js b/test/function/statement-order/_config.js new file mode 100644 index 0000000..7831c04 --- /dev/null +++ b/test/function/statement-order/_config.js @@ -0,0 +1,15 @@ +var assert = require( 'assert' ); + +module.exports = { + description: 'correct statement order is preserved even in weird edge cases', + context: { + getAnswer: function ( obj ) { + return obj.answer; + } + }, + exports: function ( exports ) { + assert.equal( exports, 'right' ); + }, + solo: true, + show: true +}; diff --git a/test/function/statement-order/answer.js b/test/function/statement-order/answer.js new file mode 100644 index 0000000..d49dcae --- /dev/null +++ b/test/function/statement-order/answer.js @@ -0,0 +1,17 @@ +var prop, +answer; + +var foo = { answer: 'wrong' }; +var bar = { answer: 'right' }; + +if ( typeof bar === "object" ) { + for ( prop in bar ) { + if ( bar.hasOwnProperty(prop) ) { + foo[prop] = bar[prop]; + } + } +} + +answer = getAnswer( foo ); + +export default answer; diff --git a/test/function/statement-order/main.js b/test/function/statement-order/main.js new file mode 100644 index 0000000..808b675 --- /dev/null +++ b/test/function/statement-order/main.js @@ -0,0 +1,3 @@ +import answer from './answer'; +var answer2 = answer; +export default answer2;