Skip to content

Commit

Permalink
test(es): Add a test for a wrong issue (#7542)
Browse files Browse the repository at this point in the history
**Related issue:**

 - Closes #7513.
  • Loading branch information
kdy1 authored Jun 19, 2023
1 parent 0129ad0 commit 70bc605
Showing 1 changed file with 60 additions and 5 deletions.
65 changes: 60 additions & 5 deletions crates/swc/tests/projects.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@ use std::{
use rayon::prelude::*;
use swc::{
config::{
BuiltInput, Config, FileMatcher, JscConfig, ModuleConfig, Options, SourceMapsConfig,
TransformConfig,
BuiltInput, Config, FileMatcher, JsMinifyOptions, JscConfig, ModuleConfig, Options,
SourceMapsConfig, TransformConfig,
},
Compiler, TransformOutput,
BoolOrDataConfig, Compiler, TransformOutput,
};
use swc_common::{
chain,
comments::{Comment, SingleThreadedComments},
errors::HANDLER,
BytePos, FileName,
errors::{EmitterWriter, Handler, HANDLER},
sync::Lrc,
BytePos, FileName, Globals, SourceMap, GLOBALS,
};
use swc_ecma_ast::{EsVersion, *};
use swc_ecma_parser::{EsConfig, Syntax, TsConfig};
Expand Down Expand Up @@ -1034,3 +1035,57 @@ fn issue_6009() {
})
.unwrap()
}

#[test]
fn issue_7513_1() {
static TEST_CODE: &str = r#"
function test() {
return {
a: 1,
b: 2,
c: 3,
}
}
"#;

let globals = Globals::default();
let cm: Lrc<SourceMap> = Default::default();
let compiler = Compiler::new(cm.clone());
let handler = Handler::with_emitter(
true,
false,
Box::new(EmitterWriter::new(
Box::new(std::io::stderr()),
None,
false,
false,
)),
);

GLOBALS.set(&globals, || {
let fm = cm.new_source_file(
FileName::Custom(String::from("Test")),
TEST_CODE.to_string(),
);
let options = Options {
config: Config {
jsc: JscConfig {
target: Some(EsVersion::Es2022),
minify: Some(JsMinifyOptions {
compress: BoolOrDataConfig::from_bool(false),
mangle: BoolOrDataConfig::from_bool(true),
..Default::default()
}),
..Default::default()
},
minify: true.into(),
..Default::default()
},
..Default::default()
};
let program = compiler.process_js_file(fm, &handler, &options).unwrap();

eprintln!("{}", program.code);
assert_eq!(program.code, "function n(){return{a:1,b:2,c:3}}");
})
}

1 comment on commit 70bc605

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 70bc605 Previous: 990e48e Ratio
es/full/bugs-1 304199 ns/iter (± 6581) 355878 ns/iter (± 6340) 0.85
es/full/minify/libraries/antd 1439814531 ns/iter (± 7262457) 1846815370 ns/iter (± 27143843) 0.78
es/full/minify/libraries/d3 313150469 ns/iter (± 3752562) 370202996 ns/iter (± 9708209) 0.85
es/full/minify/libraries/echarts 1173063382 ns/iter (± 3341247) 1421567379 ns/iter (± 19185235) 0.83
es/full/minify/libraries/jquery 94547919 ns/iter (± 135886) 108091306 ns/iter (± 817049) 0.87
es/full/minify/libraries/lodash 111966766 ns/iter (± 162436) 132435701 ns/iter (± 1397646) 0.85
es/full/minify/libraries/moment 55658535 ns/iter (± 71732) 63601561 ns/iter (± 346423) 0.88
es/full/minify/libraries/react 19985574 ns/iter (± 73783) 22734270 ns/iter (± 110565) 0.88
es/full/minify/libraries/terser 244572228 ns/iter (± 761159) 288628240 ns/iter (± 2884921) 0.85
es/full/minify/libraries/three 426653001 ns/iter (± 1646735) 534384851 ns/iter (± 12007094) 0.80
es/full/minify/libraries/typescript 2958527994 ns/iter (± 12193246) 3563329823 ns/iter (± 35058121) 0.83
es/full/minify/libraries/victory 623712851 ns/iter (± 2536883) 760017492 ns/iter (± 19160614) 0.82
es/full/minify/libraries/vue 135370111 ns/iter (± 875137) 158966868 ns/iter (± 1737687) 0.85
es/full/codegen/es3 36847 ns/iter (± 123) 40642 ns/iter (± 91) 0.91
es/full/codegen/es5 36724 ns/iter (± 74) 40356 ns/iter (± 125) 0.91
es/full/codegen/es2015 36898 ns/iter (± 79) 40428 ns/iter (± 85) 0.91
es/full/codegen/es2016 36791 ns/iter (± 135) 40371 ns/iter (± 192) 0.91
es/full/codegen/es2017 36747 ns/iter (± 149) 40417 ns/iter (± 159) 0.91
es/full/codegen/es2018 36800 ns/iter (± 81) 39959 ns/iter (± 412) 0.92
es/full/codegen/es2019 36743 ns/iter (± 103) 39890 ns/iter (± 297) 0.92
es/full/codegen/es2020 36825 ns/iter (± 104) 39971 ns/iter (± 310) 0.92
es/full/all/es3 179891074 ns/iter (± 1106912) 208207448 ns/iter (± 3089454) 0.86
es/full/all/es5 170692695 ns/iter (± 963417) 198232478 ns/iter (± 2403720) 0.86
es/full/all/es2015 126160643 ns/iter (± 622825) 155713499 ns/iter (± 2365254) 0.81
es/full/all/es2016 125187741 ns/iter (± 1359043) 154499737 ns/iter (± 1524366) 0.81
es/full/all/es2017 125989472 ns/iter (± 868363) 154335066 ns/iter (± 2202976) 0.82
es/full/all/es2018 122991589 ns/iter (± 694641) 152045204 ns/iter (± 1577277) 0.81
es/full/all/es2019 121076518 ns/iter (± 771812) 149387992 ns/iter (± 1742691) 0.81
es/full/all/es2020 118055843 ns/iter (± 451379) 147085025 ns/iter (± 1856909) 0.80
es/full/parser 525377 ns/iter (± 5867) 599865 ns/iter (± 8940) 0.88
es/full/base/fixer 18454 ns/iter (± 36) 24145 ns/iter (± 216) 0.76
es/full/base/resolver_and_hygiene 92874 ns/iter (± 166) 104942 ns/iter (± 1125) 0.89
serialization of serde 332 ns/iter (± 0) 290 ns/iter (± 7) 1.14
css/minify/libraries/bootstrap 31368297 ns/iter (± 61876) 35080463 ns/iter (± 426345) 0.89
css/visitor/compare/clone 2046151 ns/iter (± 35701) 2342851 ns/iter (± 14211) 0.87
css/visitor/compare/visit_mut_span 2148790 ns/iter (± 16768) 2525932 ns/iter (± 9049) 0.85
css/visitor/compare/visit_mut_span_panic 2216437 ns/iter (± 12582) 2576954 ns/iter (± 13321) 0.86
css/visitor/compare/fold_span 2903453 ns/iter (± 15344) 3290608 ns/iter (± 19270) 0.88
css/visitor/compare/fold_span_panic 3110942 ns/iter (± 25571) 3450405 ns/iter (± 27267) 0.90
css/lexer/bootstrap_5_1_3 4826438 ns/iter (± 957) 5418129 ns/iter (± 62632) 0.89
css/lexer/foundation_6_7_4 4068584 ns/iter (± 1991) 4607298 ns/iter (± 22549) 0.88
css/lexer/tailwind_3_1_1 770317 ns/iter (± 640) 873026 ns/iter (± 5504) 0.88
css/parser/bootstrap_5_1_3 20517038 ns/iter (± 12057) 23550182 ns/iter (± 226378) 0.87
css/parser/foundation_6_7_4 16512165 ns/iter (± 36908) 18949804 ns/iter (± 187593) 0.87
css/parser/tailwind_3_1_1 3197016 ns/iter (± 2680) 3660693 ns/iter (± 15016) 0.87
es/codegen/colors 732127 ns/iter (± 398157) 726519 ns/iter (± 396489) 1.01
es/codegen/large 3207523 ns/iter (± 1688124) 3022447 ns/iter (± 1586931) 1.06
es/codegen/with-parser/colors 48523 ns/iter (± 252) 56671 ns/iter (± 560) 0.86
es/codegen/with-parser/large 527009 ns/iter (± 1086) 569654 ns/iter (± 4482) 0.93
es/minify/libraries/antd 1281012067 ns/iter (± 8660010) 1616763501 ns/iter (± 24080280) 0.79
es/minify/libraries/d3 276618934 ns/iter (± 2751696) 322986182 ns/iter (± 4389971) 0.86
es/minify/libraries/echarts 1017399499 ns/iter (± 2746771) 1240662531 ns/iter (± 21400973) 0.82
es/minify/libraries/jquery 83153585 ns/iter (± 1035512) 95628935 ns/iter (± 1308859) 0.87
es/minify/libraries/lodash 102292774 ns/iter (± 235018) 119454398 ns/iter (± 1094081) 0.86
es/minify/libraries/moment 49177168 ns/iter (± 69547) 55679636 ns/iter (± 652220) 0.88
es/minify/libraries/react 18026397 ns/iter (± 60099) 20260404 ns/iter (± 78833) 0.89
es/minify/libraries/terser 210248733 ns/iter (± 257980) 242908634 ns/iter (± 2164553) 0.87
es/minify/libraries/three 361359277 ns/iter (± 904799) 432083719 ns/iter (± 5043166) 0.84
es/minify/libraries/typescript 2555846414 ns/iter (± 6449740) 3072812022 ns/iter (± 11918273) 0.83
es/minify/libraries/victory 529937945 ns/iter (± 1587428) 658290263 ns/iter (± 10340781) 0.81
es/minify/libraries/vue 122919073 ns/iter (± 212128) 142425926 ns/iter (± 2071489) 0.86
es/visitor/compare/clone 2081091 ns/iter (± 6998) 2443981 ns/iter (± 61975) 0.85
es/visitor/compare/visit_mut_span 2426024 ns/iter (± 4885) 2794294 ns/iter (± 5140) 0.87
es/visitor/compare/visit_mut_span_panic 2465664 ns/iter (± 5510) 2833752 ns/iter (± 2895) 0.87
es/visitor/compare/fold_span 3471720 ns/iter (± 6078) 3934546 ns/iter (± 5407) 0.88
es/visitor/compare/fold_span_panic 3602446 ns/iter (± 4438) 4027221 ns/iter (± 5229) 0.89
es/lexer/colors 13335 ns/iter (± 70) 14681 ns/iter (± 68) 0.91
es/lexer/angular 6217144 ns/iter (± 33533) 6916748 ns/iter (± 18107) 0.90
es/lexer/backbone 829141 ns/iter (± 3795) 839945 ns/iter (± 3817) 0.99
es/lexer/jquery 4626709 ns/iter (± 5643) 4751212 ns/iter (± 5517) 0.97
es/lexer/jquery mobile 7083694 ns/iter (± 7307) 7311638 ns/iter (± 19274) 0.97
es/lexer/mootools 3666738 ns/iter (± 3666) 3721072 ns/iter (± 8861) 0.99
es/lexer/underscore 687503 ns/iter (± 653) 696143 ns/iter (± 2383) 0.99
es/lexer/three 21799294 ns/iter (± 51997) 22218136 ns/iter (± 73200) 0.98
es/lexer/yui 4117968 ns/iter (± 2367) 4259871 ns/iter (± 16450) 0.97
es/parser/colors 28749 ns/iter (± 99) 34011 ns/iter (± 97) 0.85
es/parser/angular 14304820 ns/iter (± 149984) 16654512 ns/iter (± 204525) 0.86
es/parser/backbone 2129184 ns/iter (± 8642) 2379703 ns/iter (± 26179) 0.89
es/parser/jquery 11649953 ns/iter (± 44324) 12984002 ns/iter (± 153327) 0.90
es/parser/jquery mobile 17601473 ns/iter (± 53110) 20155306 ns/iter (± 266232) 0.87
es/parser/mootools 8885116 ns/iter (± 16379) 9858943 ns/iter (± 90393) 0.90
es/parser/underscore 1856039 ns/iter (± 5237) 2064050 ns/iter (± 13080) 0.90
es/parser/three 49426461 ns/iter (± 185180) 56875564 ns/iter (± 681465) 0.87
es/parser/yui 8933952 ns/iter (± 61828) 9978078 ns/iter (± 75563) 0.90
es/preset-env/usage/builtin_type 147995 ns/iter (± 32493) 150764 ns/iter (± 34131) 0.98
es/preset-env/usage/property 19963 ns/iter (± 30) 29110 ns/iter (± 272) 0.69
es/resolver/typescript 95790495 ns/iter (± 952757) 125722668 ns/iter (± 1572989) 0.76
es/fixer/typescript 67281567 ns/iter (± 320083) 88657018 ns/iter (± 1824549) 0.76
es/hygiene/typescript 145355419 ns/iter (± 1431268) 201308054 ns/iter (± 2656521) 0.72
es/resolver_with_hygiene/typescript 300884216 ns/iter (± 1595618) 395433996 ns/iter (± 2326562) 0.76
es/visitor/base-perf/module_clone 64336 ns/iter (± 254) 83543 ns/iter (± 604) 0.77
es/visitor/base-perf/fold_empty 67581 ns/iter (± 231) 93729 ns/iter (± 503) 0.72
es/visitor/base-perf/fold_noop_impl_all 67353 ns/iter (± 587) 94145 ns/iter (± 1099) 0.72
es/visitor/base-perf/fold_noop_impl_vec 67243 ns/iter (± 266) 94317 ns/iter (± 742) 0.71
es/visitor/base-perf/boxing_boxed_clone 55 ns/iter (± 0) 58 ns/iter (± 0) 0.95
es/visitor/base-perf/boxing_unboxed_clone 41 ns/iter (± 0) 43 ns/iter (± 0) 0.95
es/visitor/base-perf/boxing_boxed 107 ns/iter (± 0) 107 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed 78 ns/iter (± 0) 81 ns/iter (± 0) 0.96
es/visitor/base-perf/visit_empty 0 ns/iter (± 0)
es/visitor/base-perf/visit_contains_this 2571 ns/iter (± 7) 3413 ns/iter (± 44) 0.75
es/base/parallel/resolver/typescript 4601497273 ns/iter (± 288806650) 6990210510 ns/iter (± 408536394) 0.66
es/base/parallel/hygiene/typescript 1599938382 ns/iter (± 9927258) 2353095860 ns/iter (± 13918904) 0.68
misc/visitors/time-complexity/time 5 106 ns/iter (± 0) 105 ns/iter (± 0) 1.01
misc/visitors/time-complexity/time 10 280 ns/iter (± 0) 342 ns/iter (± 6) 0.82
misc/visitors/time-complexity/time 15 550 ns/iter (± 30) 669 ns/iter (± 3) 0.82
misc/visitors/time-complexity/time 20 986 ns/iter (± 19) 1249 ns/iter (± 6) 0.79
misc/visitors/time-complexity/time 40 3763 ns/iter (± 149) 6671 ns/iter (± 46) 0.56
misc/visitors/time-complexity/time 60 7939 ns/iter (± 33) 17240 ns/iter (± 173) 0.46
es/full-target/es2016 240865 ns/iter (± 1137) 268546 ns/iter (± 2838) 0.90
es/full-target/es2017 228696 ns/iter (± 520) 254192 ns/iter (± 1181) 0.90
es/full-target/es2018 216097 ns/iter (± 864) 242678 ns/iter (± 1558) 0.89
es2020_nullish_coalescing 73463 ns/iter (± 438) 97023 ns/iter (± 937) 0.76
es2020_optional_chaining 65465 ns/iter (± 338) 86805 ns/iter (± 556) 0.75
es2022_class_properties 121240 ns/iter (± 374) 153368 ns/iter (± 1361) 0.79
es2018_object_rest_spread 77739 ns/iter (± 288) 98158 ns/iter (± 811) 0.79
es2019_optional_catch_binding 66565 ns/iter (± 172) 87304 ns/iter (± 499) 0.76
es2017_async_to_generator 65612 ns/iter (± 142) 88025 ns/iter (± 521) 0.75
es2016_exponentiation 72434 ns/iter (± 405) 94539 ns/iter (± 942) 0.77
es2015_arrow 74462 ns/iter (± 174) 97524 ns/iter (± 637) 0.76
es2015_block_scoped_fn 71607 ns/iter (± 172) 95313 ns/iter (± 893) 0.75
es2015_block_scoping 132228 ns/iter (± 484) 181519 ns/iter (± 1332) 0.73

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.