Skip to content

Commit d5409eb

Browse files
committed
clean up test runner
1 parent abad0ce commit d5409eb

File tree

6 files changed

+32
-46
lines changed

6 files changed

+32
-46
lines changed

src/case.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
use oxc::span::SourceType;
22

3-
use std::{
4-
fs,
5-
path::{Path, PathBuf},
6-
};
3+
use std::fs;
74

85
use crate::{Diagnostic, Driver, NodeModulesRunner, Source};
96

107
pub trait Case {
118
fn name(&self) -> &'static str;
129

13-
fn save_file(&self, path: &Path, source_type: SourceType) -> Option<PathBuf>;
10+
fn run_test(&self, _source_type: SourceType) -> bool {
11+
true
12+
}
1413

1514
fn test(&self, source: &Source) -> Result<(), Vec<Diagnostic>> {
16-
let source_text = self.idempotency_test(source)?;
17-
// Write js files for runtime test
18-
if let Some(path) = self.save_file(&source.path, source.source_type) {
19-
fs::write(path, source_text).unwrap();
15+
if self.run_test(source.source_type) {
16+
let source_text = self.idempotency_test(source)?;
17+
// Write js files for runtime test
18+
if source.source_type.is_javascript() {
19+
fs::write(&source.path, source_text).unwrap();
20+
}
2021
}
2122
Ok(())
2223
}

src/codegen.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
use std::path::{Path, PathBuf};
2-
3-
use oxc::span::SourceType;
4-
51
use crate::{Case, Driver};
62

73
pub struct CodegenRunner;
@@ -11,10 +7,6 @@ impl Case for CodegenRunner {
117
"Codegen"
128
}
139

14-
fn save_file(&self, path: &Path, source_type: SourceType) -> Option<PathBuf> {
15-
source_type.is_javascript().then(|| path.to_path_buf())
16-
}
17-
1810
fn driver(&self) -> Driver {
1911
Driver::default()
2012
}

src/compressor.rs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
use std::path::{Path, PathBuf};
2-
31
use oxc::span::SourceType;
42

5-
use crate::{driver::default_transformer_options, Case, Driver};
3+
use crate::{Case, Driver};
64

75
pub struct CompressorRunner;
86

@@ -11,16 +9,11 @@ impl Case for CompressorRunner {
119
"Compressor"
1210
}
1311

14-
fn save_file(&self, path: &Path, source_type: SourceType) -> Option<PathBuf> {
15-
source_type.is_javascript().then(|| path.to_path_buf())
12+
fn run_test(&self, source_type: SourceType) -> bool {
13+
source_type.is_javascript() && !source_type.is_jsx()
1614
}
1715

1816
fn driver(&self) -> Driver {
19-
// always compress js files
20-
Driver {
21-
transform: Some(default_transformer_options()),
22-
compress: true,
23-
..Driver::default()
24-
}
17+
Driver { compress: true, ..Driver::default() }
2518
}
2619
}

src/mangler.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
use std::path::{Path, PathBuf};
2-
31
use oxc::span::SourceType;
42

5-
use crate::{driver::default_transformer_options, Case, Driver};
3+
use crate::{Case, Driver};
64

75
pub struct ManglerRunner;
86

@@ -11,11 +9,11 @@ impl Case for ManglerRunner {
119
"Mangler"
1210
}
1311

14-
fn save_file(&self, path: &Path, source_type: SourceType) -> Option<PathBuf> {
15-
source_type.is_javascript().then(|| path.to_path_buf())
12+
fn run_test(&self, source_type: SourceType) -> bool {
13+
source_type.is_javascript() && !source_type.is_jsx()
1614
}
1715

1816
fn driver(&self) -> Driver {
19-
Driver { transform: Some(default_transformer_options()), mangle: true, ..Driver::default() }
17+
Driver { mangle: true, ..Driver::default() }
2018
}
2119
}

src/remove_whitespace.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::path::{Path, PathBuf};
2-
31
use oxc::span::SourceType;
42

53
use crate::{Case, Driver};
@@ -11,8 +9,8 @@ impl Case for RemoveWhitespaceRunner {
119
"RemoveWhitespace"
1210
}
1311

14-
fn save_file(&self, path: &Path, source_type: SourceType) -> Option<PathBuf> {
15-
source_type.is_javascript().then(|| path.to_path_buf())
12+
fn run_test(&self, source_type: SourceType) -> bool {
13+
source_type.is_javascript() && !source_type.is_jsx()
1614
}
1715

1816
fn driver(&self) -> Driver {

src/transformer.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
use std::path::{Path, PathBuf};
1+
use std::fs;
22

3-
use oxc::span::SourceType;
4-
5-
use crate::{driver::default_transformer_options, Case, Driver};
3+
use crate::{driver::default_transformer_options, Case, Diagnostic, Driver, Source};
64

75
pub struct TransformerRunner;
86

@@ -11,10 +9,16 @@ impl Case for TransformerRunner {
119
"Transformer"
1210
}
1311

14-
fn save_file(&self, path: &Path, _source_type: SourceType) -> Option<PathBuf> {
15-
let new_extension = path.extension().unwrap().to_string_lossy().replace('t', "j");
16-
let new_path = path.with_extension(new_extension);
17-
Some(new_path)
12+
fn test(&self, source: &Source) -> Result<(), Vec<Diagnostic>> {
13+
if self.run_test(source.source_type) {
14+
let path = &source.path;
15+
let source_text = self.idempotency_test(source)?;
16+
// Write js files for runtime test
17+
let new_extension = path.extension().unwrap().to_string_lossy().replace('t', "j");
18+
let new_path = path.with_extension(new_extension);
19+
fs::write(new_path, source_text).unwrap();
20+
}
21+
Ok(())
1822
}
1923

2024
fn driver(&self) -> Driver {

0 commit comments

Comments
 (0)