aboutsummaryrefslogtreecommitdiff
path: root/test/compress/exports.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/compress/exports.js')
-rw-r--r--test/compress/exports.js144
1 files changed, 144 insertions, 0 deletions
diff --git a/test/compress/exports.js b/test/compress/exports.js
new file mode 100644
index 00000000..afa546ec
--- /dev/null
+++ b/test/compress/exports.js
@@ -0,0 +1,144 @@
+refs: {
+ input: {
+ export {};
+ export { a, b as B, c as case, d as default };
+ }
+ expect_exact: "export{};export{a as a,b as B,c as case,d as default};"
+}
+
+var_defs: {
+ input: {
+ export const a = 1;
+ export let b = 2, c = 3;
+ export var { d, e: [] } = f;
+ }
+ expect_exact: "export const a=1;export let b=2,c=3;export var{d:d,e:[]}=f;"
+}
+
+defuns: {
+ input: {
+ export function e() {}
+ export function* f(a) {}
+ export async function g(b, c) {}
+ export async function* h({}, ...[]) {}
+ }
+ expect_exact: "export function e(){}export function*f(a){}export async function g(b,c){}export async function*h({},...[]){}"
+}
+
+defaults: {
+ input: {
+ export default 42;
+ export default (x, y) => x * x;
+ export default function*(a, b) {};
+ export default async function f({ c }, ...[ d ]) {};
+ }
+ expect_exact: "export default 42;export default(x,y)=>x*x;export default function*(a,b){};export default async function f({c:c},...[d]){};"
+}
+
+foreign: {
+ input: {
+ export * from "foo";
+ export {} from "bar";
+ export * as a from "baz";
+ export { default } from "moo";
+ export { b, c as case, default as delete, d } from "moz";
+ }
+ expect_exact: 'export*from"foo";export{}from"bar";export*as a from"baz";export{default}from"moo";export{b,c as case,default as delete,d}from"moz";'
+}
+
+same_quotes: {
+ beautify = {
+ beautify: true,
+ quote_style: 3,
+ }
+ input: {
+ export * from 'foo';
+ export {} from "bar";
+ }
+ expect_exact: [
+ "export * from 'foo';",
+ "",
+ 'export {} from "bar";',
+ ]
+}
+
+drop_unused: {
+ options = {
+ toplevel: true,
+ unused: true,
+ }
+ input: {
+ export default 42;
+ export default (x, y) => x * x;
+ export default function*(a, b) {};
+ export default async function f({ c }, ...[ d ]) {};
+ export var e;
+ export function g(x, [ y ], ...z) {}
+ }
+ expect: {
+ export default 42;
+ export default (x, y) => x * x;
+ export default function*(a, b) {};
+ export default async function({}) {};
+ export var e;
+ export function g(x, []) {}
+ }
+}
+
+mangle: {
+ rename = false
+ mangle = {
+ toplevel: true,
+ }
+ input: {
+ const a = 42;
+ export let b, { foo: c } = a;
+ export function f(d, { [b]: e }) {
+ d(e, f);
+ }
+ export default a;
+ export default async function g(x, ...{ [c]: y }) {
+ (await x)(g, y);
+ }
+ }
+ expect: {
+ const t = 42;
+ export let b, { foo: c } = t;
+ export function f(t, { [b]: o }) {
+ t(o, f);
+ }
+ export default t;
+ export default async function t(o, ...{ [c]: e}) {
+ (await o)(t, e);
+ }
+ }
+}
+
+mangle_rename: {
+ rename = true
+ mangle = {
+ toplevel: true,
+ }
+ input: {
+ const a = 42;
+ export let b, { foo: c } = a;
+ export function f(d, { [b]: e }) {
+ d(e, f);
+ }
+ export default a;
+ export default async function g(x, ...{ [c]: y }) {
+ (await x)(g, y);
+ }
+ }
+ expect: {
+ const t = 42;
+ export let b, { foo: c } = t;
+ export function f(t, { [b]: o }) {
+ t(o, f);
+ }
+ export default t;
+ export default async function t(o, ...{ [c]: e}) {
+ (await o)(t, e);
+ }
+ }
+}