From 7f3e6983e552bc789b7d0331335b760e6d42e51a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Wed, 14 Dec 2022 18:19:51 +0900 Subject: [PATCH] test(es/minifier): Enable size tests created from `creduce` (#6646) --- crates/swc/tests/exec.rs | 38 +++---------------- crates/swc_ecma_minifier/tests/compress.rs | 7 ++-- .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + .../{.input.js => input.js} | 0 .../output.js | 1 + crates/testing/src/lib.rs | 31 ++++++++++++++- 61 files changed, 67 insertions(+), 38 deletions(-) rename crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/output.js rename crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/output.js rename crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/output.js rename crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/output.js rename crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/output.js rename crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/output.js rename crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/output.js rename crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/output.js rename crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/output.js rename crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/output.js rename crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/output.js rename crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/output.js rename crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/output.js rename crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/output.js rename crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/output.js rename crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/output.js rename crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/output.js rename crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/output.js rename crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/output.js rename crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/output.js rename crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/output.js rename crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/output.js rename crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/output.js rename crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/output.js rename crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/output.js rename crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/output.js rename crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/output.js rename crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/output.js rename crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/{.input.js => input.js} (100%) create mode 100644 crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/output.js diff --git a/crates/swc/tests/exec.rs b/crates/swc/tests/exec.rs index 44713de26d9a..69abaf916516 100644 --- a/crates/swc/tests/exec.rs +++ b/crates/swc/tests/exec.rs @@ -1,7 +1,6 @@ use std::{ - env, - fs::{self, create_dir_all, rename}, - path::{Component, Path, PathBuf}, + env, fs, + path::{Path, PathBuf}, process::Command, sync::Arc, }; @@ -16,7 +15,7 @@ use swc_common::{errors::ColorConfig, SourceMap, GLOBALS}; use swc_ecma_ast::EsVersion; use swc_ecma_parser::{EsConfig, Syntax, TsConfig}; use swc_ecma_testing::{exec_node_js, JsExecOptions}; -use testing::{assert_eq, find_executable}; +use testing::{assert_eq, find_executable, unignore_fixture}; use tracing::{span, Level}; trait IterExt: Sized + IntoIterator @@ -220,7 +219,7 @@ fn run_fixture_test(entry: PathBuf) { // Test was successful. - unignore(&entry); + unignore_fixture(&entry); } #[testing::fixture("tests/babel-exec/**/exec.js")] @@ -249,7 +248,7 @@ fn run_babel_fixture_exec_test(entry: PathBuf) { // Test was successful. - unignore(&entry); + unignore_fixture(&entry); } fn get_expected_stdout(input: &Path) -> Result { @@ -315,33 +314,6 @@ fn get_expected_stdout(input: &Path) -> Result { }) } -/// Rename `foo/.bar/exec.js` => `foo/bar/exec.js` -fn unignore(path: &Path) { - if path.components().all(|c| { - !matches!(c, Component::Normal(..)) || !c.as_os_str().to_string_lossy().starts_with('.') - }) { - return; - } - // - - let mut new_path = PathBuf::new(); - - for c in path.components() { - if let Component::Normal(s) = c { - if let Some(s) = s.to_string_lossy().strip_prefix('.') { - new_path.push(s); - - continue; - } - } - new_path.push(c); - } - - create_dir_all(new_path.parent().unwrap()).expect("failed to create parent dir"); - - rename(path, &new_path).expect("failed to rename"); -} - fn test_file_with_opts( entry: &Path, opts: &Options, diff --git a/crates/swc_ecma_minifier/tests/compress.rs b/crates/swc_ecma_minifier/tests/compress.rs index 9912e704de23..e6d8fb2e3ae9 100644 --- a/crates/swc_ecma_minifier/tests/compress.rs +++ b/crates/swc_ecma_minifier/tests/compress.rs @@ -42,7 +42,7 @@ use swc_ecma_testing::{exec_node_js, JsExecOptions}; use swc_ecma_transforms_base::{fixer::fixer, hygiene::hygiene, resolver}; use swc_ecma_utils::drop_span; use swc_ecma_visit::{FoldWith, Visit, VisitMut, VisitMutWith, VisitWith}; -use testing::{assert_eq, DebugUsingDisplay, NormalizedOutput}; +use testing::{assert_eq, unignore_fixture, DebugUsingDisplay, NormalizedOutput}; fn load_txt(filename: &str) -> Vec { let lines = read_to_string(filename).unwrap(); @@ -431,7 +431,7 @@ fn projects_bench(input: PathBuf) { Ok(()) }) - .unwrap() + .unwrap(); } /// Tests ported from terser. @@ -1712,7 +1712,8 @@ fn full(input: PathBuf) { Ok(()) }) - .unwrap() + .unwrap(); + unignore_fixture(&input); } struct DropParens; diff --git a/crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/.input.js b/crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/.input.js rename to crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/output.js b/crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/output.js new file mode 100644 index 000000000000..31c653125f80 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/05f3b568bfaa8ece7f1eb857ea288eb8c696fb04/output.js @@ -0,0 +1 @@ +[]({c(){a({c:()=>b})}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/.input.js b/crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/.input.js rename to crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/output.js b/crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/output.js new file mode 100644 index 000000000000..86ca8e0c2d6c --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/07135b51c260c4d625d923239df66176ae42be80/output.js @@ -0,0 +1 @@ +[](function(){}); diff --git a/crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/.input.js b/crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/.input.js rename to crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/output.js b/crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/output.js new file mode 100644 index 000000000000..d79edc2cfb07 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/1307ecae57445459527af71fb229e8ed8213bad9/output.js @@ -0,0 +1 @@ +[](function(){a={b:{c:{"":{d:"Az̧ Z̧a‘āyin"}}}}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/.input.js b/crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/.input.js rename to crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/output.js b/crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/output.js new file mode 100644 index 000000000000..fcb4c1c8455f --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/183435826ca7dac36bdd1f6e603ba738fc710a1b/output.js @@ -0,0 +1 @@ +[](function(){a}); diff --git a/crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/.input.js b/crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/.input.js rename to crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/output.js b/crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/output.js new file mode 100644 index 000000000000..75e58407d257 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/34c8af5de1b84b8283dbd651a03571c7f243e8b2/output.js @@ -0,0 +1 @@ +[]({d(){b(b)}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/.input.js b/crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/.input.js rename to crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/output.js b/crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/output.js new file mode 100644 index 000000000000..1dfeab8e86b8 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/36260571a27136b062437bddc1782e84b71055f6/output.js @@ -0,0 +1 @@ +[]({a(){b({c:{c:d?{c:{e:". We’re working to bring this to a frameworks soon."}}:0}})}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/.input.js b/crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/.input.js rename to crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/output.js b/crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/output.js new file mode 100644 index 000000000000..c75cabaf5f21 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/37f0ab9950257024a9116d933f4ad3c72b88471e/output.js @@ -0,0 +1 @@ +[](function(){var n=function(){n[b]}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/.input.js b/crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/.input.js rename to crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/output.js b/crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/output.js new file mode 100644 index 000000000000..5a0792ca82da --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/39ee86af2a2157bccd42915ff69b6d3abff2b725/output.js @@ -0,0 +1 @@ +c(function(){b}); diff --git a/crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/.input.js b/crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/.input.js rename to crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/output.js b/crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/output.js new file mode 100644 index 000000000000..86ca8e0c2d6c --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/3a405a6fe7e6e52e8e46ad447ea34ed3bb2c89a8/output.js @@ -0,0 +1 @@ +[](function(){}); diff --git a/crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/.input.js b/crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/.input.js rename to crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/output.js b/crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/output.js new file mode 100644 index 000000000000..bab158c84852 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/3b335e237f275bec488d72f8934589b74346a0c1/output.js @@ -0,0 +1 @@ +[](function(){var n=function(){0(function(){return n})}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/.input.js b/crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/.input.js rename to crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/output.js b/crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/output.js new file mode 100644 index 000000000000..cabba43cc25b --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/3f1b1f240dbfc9585d82094d944515c068eac6dc/output.js @@ -0,0 +1 @@ +[](function(){var n=function(){b(function(){b(n)})}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/.input.js b/crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/.input.js rename to crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/output.js b/crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/output.js new file mode 100644 index 000000000000..111b399f379b --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/40a586d8ac72ba5686c4b250184acfa11620d814/output.js @@ -0,0 +1 @@ +({function:()=>({})})(); diff --git a/crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/.input.js b/crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/.input.js rename to crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/output.js b/crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/output.js new file mode 100644 index 000000000000..b3cace2f3c87 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/4dfc0f7ca994bdaddd4ac283d2bb75a232047f70/output.js @@ -0,0 +1 @@ +[](function(){var n=function(){n.b}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/.input.js b/crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/.input.js rename to crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/output.js b/crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/output.js new file mode 100644 index 000000000000..f7b53fbd3414 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/54531ba076299b43c00a0d234240369f93371a41/output.js @@ -0,0 +1 @@ +[](function(){var a=b;d.e(a);var r=b;d.e(r);var v=e(v)}); diff --git a/crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/.input.js b/crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/.input.js rename to crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/output.js b/crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/output.js new file mode 100644 index 000000000000..86ca8e0c2d6c --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/5cf31de5417c846f70f5ce592351197f764d753b/output.js @@ -0,0 +1 @@ +[](function(){}); diff --git a/crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/.input.js b/crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/.input.js rename to crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/output.js b/crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/output.js new file mode 100644 index 000000000000..86ca8e0c2d6c --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/6d4d9a62f2b2a45ed97871a54c3871f6535d66e1/output.js @@ -0,0 +1 @@ +[](function(){}); diff --git a/crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/.input.js b/crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/.input.js rename to crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/output.js b/crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/output.js new file mode 100644 index 000000000000..a5b53fe76fff --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/6d52ebcc72a64f1f1ef2594baecb5dcab49b1a32/output.js @@ -0,0 +1 @@ +[]({d(){if(a)try{for(c;;);}catch{}}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/.input.js b/crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/.input.js rename to crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/output.js b/crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/output.js new file mode 100644 index 000000000000..86ca8e0c2d6c --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/80eb9c2dd2f825dd3583cd0f1ffbd56b8c6191bb/output.js @@ -0,0 +1 @@ +[](function(){}); diff --git a/crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/.input.js b/crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/.input.js rename to crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/output.js b/crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/output.js new file mode 100644 index 000000000000..86ca8e0c2d6c --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/827a2682618668d02cb6e4ad6e17bd62cdba0dd2/output.js @@ -0,0 +1 @@ +[](function(){}); diff --git a/crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/.input.js b/crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/.input.js rename to crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/output.js b/crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/output.js new file mode 100644 index 000000000000..f75363ee6932 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/991835278eecab695ad3515447b5747adcdfe1b4/output.js @@ -0,0 +1 @@ +[](function(){a(function(){})}); diff --git a/crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/.input.js b/crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/.input.js rename to crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/output.js b/crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/output.js new file mode 100644 index 000000000000..63eeffc3047d --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/a83cc6221479cbf2ab203169588b1e39b76a4a61/output.js @@ -0,0 +1 @@ +[]({function(){a(function(){b(function(){for(var f;;)if(void 0==d)for(var f=e;;f);})})}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/.input.js b/crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/.input.js rename to crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/output.js b/crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/output.js new file mode 100644 index 000000000000..584545f1bf20 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/b44e25a2b8c64cd1d2a448bc214c8f9a589b1245/output.js @@ -0,0 +1 @@ +self=self||[].push[{8:function(){0()}}]; diff --git a/crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/.input.js b/crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/.input.js rename to crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/output.js b/crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/output.js new file mode 100644 index 000000000000..55e9fdeeb7da --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/b57e4ca6d118a9480312f6f3ac809245bbed8115/output.js @@ -0,0 +1 @@ +[](function(){var n;n=function(){b(n)}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/.input.js b/crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/.input.js rename to crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/output.js b/crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/output.js new file mode 100644 index 000000000000..fe07ac389f23 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/bfb48fed563e5fb468b88b6a6670972c3ca7ee38/output.js @@ -0,0 +1 @@ +a=b?function(){}:function(){}; diff --git a/crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/.input.js b/crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/.input.js rename to crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/output.js b/crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/output.js new file mode 100644 index 000000000000..526d4fa44e32 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/c284f333b99f5a7b22676723103375bc8a307869/output.js @@ -0,0 +1 @@ +0(function(){}); diff --git a/crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/.input.js b/crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/.input.js rename to crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/output.js b/crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/output.js new file mode 100644 index 000000000000..f2b11a148016 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/cb3806c635e59c15d84ee6c6cae3db9c9fce06cc/output.js @@ -0,0 +1 @@ +[](function(){var n=function(){b(n)}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/.input.js b/crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/.input.js rename to crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/output.js b/crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/output.js new file mode 100644 index 000000000000..7b6e35f3216f --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/de4c599f0856587c5478f4f8d3cce9d91f9c8937/output.js @@ -0,0 +1 @@ +self=self||[].push[{4:function(){0()},80288:0}]; diff --git a/crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/.input.js b/crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/.input.js rename to crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/output.js b/crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/output.js new file mode 100644 index 000000000000..91bdb072f148 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/e4dd4373c192c6fe2fc929bc55d1ed625b974338/output.js @@ -0,0 +1 @@ +[]({c(){a=({}).b}}); diff --git a/crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/.input.js b/crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/input.js similarity index 100% rename from crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/.input.js rename to crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/input.js diff --git a/crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/output.js b/crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/output.js new file mode 100644 index 000000000000..c9d98caafa18 --- /dev/null +++ b/crates/swc_ecma_minifier/tests/full/size/ecbeb82a70cef8575c7f48355f383c6c4cc1bca4/output.js @@ -0,0 +1 @@ +[]({b(){a;"use strict"}}); diff --git a/crates/testing/src/lib.rs b/crates/testing/src/lib.rs index 467f1181d50d..d2e5e4ada3c9 100644 --- a/crates/testing/src/lib.rs +++ b/crates/testing/src/lib.rs @@ -1,9 +1,9 @@ use std::{ env, fmt, fmt::{Debug, Display, Formatter}, - fs::{create_dir_all, File}, + fs::{create_dir_all, rename, File}, io::Write, - path::{Path, PathBuf}, + path::{Component, Path, PathBuf}, str::FromStr, sync::RwLock, thread, @@ -282,3 +282,30 @@ impl<'a> Debug for DebugUsingDisplay<'a> { Display::fmt(self.0, f) } } + +/// Rename `foo/.bar/exec.js` => `foo/bar/exec.js` +pub fn unignore_fixture(fixture_path: &Path) { + if fixture_path.components().all(|c| { + !matches!(c, Component::Normal(..)) || !c.as_os_str().to_string_lossy().starts_with('.') + }) { + return; + } + // + + let mut new_path = PathBuf::new(); + + for c in fixture_path.components() { + if let Component::Normal(s) = c { + if let Some(s) = s.to_string_lossy().strip_prefix('.') { + new_path.push(s); + + continue; + } + } + new_path.push(c); + } + + create_dir_all(new_path.parent().unwrap()).expect("failed to create parent dir"); + + rename(fixture_path, &new_path).expect("failed to rename"); +}