diff --git a/test/form/unused-side-effect/_config.js b/test/form/unused-side-effect/_config.js new file mode 100644 index 0000000..0431077 --- /dev/null +++ b/test/form/unused-side-effect/_config.js @@ -0,0 +1,3 @@ +module.exports = { + description: 'side-effects to non-globals are not blindly included' +}; diff --git a/test/form/unused-side-effect/_expected/amd.js b/test/form/unused-side-effect/_expected/amd.js new file mode 100644 index 0000000..c82bf4f --- /dev/null +++ b/test/form/unused-side-effect/_expected/amd.js @@ -0,0 +1,7 @@ +define(function () { 'use strict'; + + var foo = 42; + + assert.equal( foo, 42 ); + +}); diff --git a/test/form/unused-side-effect/_expected/cjs.js b/test/form/unused-side-effect/_expected/cjs.js new file mode 100644 index 0000000..0d2573f --- /dev/null +++ b/test/form/unused-side-effect/_expected/cjs.js @@ -0,0 +1,5 @@ +'use strict'; + +var foo = 42; + +assert.equal( foo, 42 ); diff --git a/test/form/unused-side-effect/_expected/es6.js b/test/form/unused-side-effect/_expected/es6.js new file mode 100644 index 0000000..e50ecda --- /dev/null +++ b/test/form/unused-side-effect/_expected/es6.js @@ -0,0 +1,3 @@ +var foo = 42; + +assert.equal( foo, 42 ); diff --git a/test/form/unused-side-effect/_expected/iife.js b/test/form/unused-side-effect/_expected/iife.js new file mode 100644 index 0000000..a3f7fc8 --- /dev/null +++ b/test/form/unused-side-effect/_expected/iife.js @@ -0,0 +1,7 @@ +(function () { 'use strict'; + + var foo = 42; + + assert.equal( foo, 42 ); + +})(); diff --git a/test/form/unused-side-effect/_expected/umd.js b/test/form/unused-side-effect/_expected/umd.js new file mode 100644 index 0000000..f96fd30 --- /dev/null +++ b/test/form/unused-side-effect/_expected/umd.js @@ -0,0 +1,11 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory() : + typeof define === 'function' && define.amd ? define(factory) : + factory(); +}(this, function () { 'use strict'; + + var foo = 42; + + assert.equal( foo, 42 ); + +})); diff --git a/test/form/unused-side-effect/foo.js b/test/form/unused-side-effect/foo.js new file mode 100644 index 0000000..f5aa754 --- /dev/null +++ b/test/form/unused-side-effect/foo.js @@ -0,0 +1,6 @@ +var uid = 0; +uid = 1; +uid += 1; +uid++; + +export var foo = 42; diff --git a/test/form/unused-side-effect/main.js b/test/form/unused-side-effect/main.js new file mode 100644 index 0000000..ef12cae --- /dev/null +++ b/test/form/unused-side-effect/main.js @@ -0,0 +1,2 @@ +import { foo } from './foo'; +assert.equal( foo, 42 ); diff --git a/test/function/modify-assumed-global/_config.js b/test/function/modify-assumed-global/_config.js new file mode 100644 index 0000000..ee89a52 --- /dev/null +++ b/test/function/modify-assumed-global/_config.js @@ -0,0 +1,14 @@ +var assert = require( 'assert' ); + +var Math = {}; + +module.exports = { + description: 'side-effects to assumed globals are included', + context: { + Math: Math + }, + exports: function ( exports ) { + assert.equal( Math.square( 3 ), 9 ); + assert.equal( Math.cube( 3 ), 27 ); + } +}; diff --git a/test/function/modify-assumed-global/main.js b/test/function/modify-assumed-global/main.js new file mode 100644 index 0000000..cc4f217 --- /dev/null +++ b/test/function/modify-assumed-global/main.js @@ -0,0 +1,3 @@ +import { square } from './math'; + +assert.equal( square( 2 ), 4 ); diff --git a/test/function/modify-assumed-global/math.js b/test/function/modify-assumed-global/math.js new file mode 100644 index 0000000..469df59 --- /dev/null +++ b/test/function/modify-assumed-global/math.js @@ -0,0 +1,15 @@ +function square ( x ) { + return x * x; +} + +function cube ( x ) { + return x * x * x; +} + +Math.square = square; + +if ( true ) { + Math.cube = cube; +} + +export { square };