From b7219ac489e47091f17091a08d7ef50980d68972 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Sat, 13 Feb 2021 20:26:43 +0000 Subject: support `import` statements (#4646) --- test/compress/imports.js | 123 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 test/compress/imports.js (limited to 'test/compress') diff --git a/test/compress/imports.js b/test/compress/imports.js new file mode 100644 index 00000000..cdc239cd --- /dev/null +++ b/test/compress/imports.js @@ -0,0 +1,123 @@ +nought: { + input: { + import "foo"; + } + expect_exact: 'import"foo";' +} + +default_only: { + input: { + import foo from "bar"; + } + expect_exact: 'import foo from"bar";' +} + +all_only: { + input: { + import * as foo from "bar"; + } + expect_exact: 'import*as foo from"bar";' +} + +keys_only: { + input: { + import { as as foo, bar, delete as baz } from "moo"; + } + expect_exact: 'import{as as foo,bar as bar,delete as baz}from"moo";' +} + +default_all: { + input: { + import foo, * as bar from "baz"; + } + expect_exact: 'import foo,*as bar from"baz";' +} + +default_keys: { + input: { + import foo, { bar } from "baz"; + } + expect_exact: 'import foo,{bar as bar}from"baz";' +} + +dynamic: { + input: { + (async a => await import(a))("foo").then(bar); + } + expect_exact: '(async a=>await import(a))("foo").then(bar);' +} + +import_meta: { + input: { + console.log(import.meta, import.meta.url); + } + expect_exact: "console.log(import.meta,import.meta.url);" +} + +same_quotes: { + beautify = { + beautify: true, + quote_style: 3, + } + input: { + import 'foo'; + import "bar"; + } + expect_exact: [ + "import 'foo';", + "", + 'import "bar";', + ] +} + +drop_unused: { + options = { + imports: true, + toplevel: true, + unused: true, + } + input: { + import a, * as b from "foo"; + import { c, bar as d } from "baz"; + console.log(c); + } + expect: { + import "foo"; + import { c as c } from "baz"; + console.log(c); + } +} + +mangle: { + rename = false + mangle = { + toplevel: true, + } + input: { + import foo, { bar } from "baz"; + consoe.log(moo); + import * as moo from "moz"; + } + expect: { + import o, { bar as m } from "baz"; + consoe.log(r); + import * as r from "moz"; + } +} + +rename_mangle: { + rename = true + mangle = { + toplevel: true, + } + input: { + import foo, { bar } from "baz"; + consoe.log(moo); + import * as moo from "moz"; + } + expect: { + import o, { bar as m } from "baz"; + consoe.log(r); + import * as r from "moz"; + } +} -- cgit v1.2.3