mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
35 lines
1.3 KiB
Rust
35 lines
1.3 KiB
Rust
use oxc_allocator::Allocator;
|
|
use oxc_codegen::{CodeGenerator, CodegenOptions};
|
|
use oxc_parser::Parser;
|
|
use oxc_span::SourceType;
|
|
|
|
pub fn test(source_text: &str, expected: &str) {
|
|
let source_type = SourceType::jsx();
|
|
let allocator = Allocator::default();
|
|
let ret = Parser::new(&allocator, source_text, source_type).parse();
|
|
let result = CodeGenerator::new().build(&ret.program).code;
|
|
assert_eq!(result, expected, "\nfor source: {source_text:?}");
|
|
}
|
|
|
|
pub fn test_without_source(source_text: &str, expected: &str) {
|
|
let source_type = SourceType::jsx();
|
|
let allocator = Allocator::default();
|
|
let ret = Parser::new(&allocator, source_text, source_type).parse();
|
|
let result = CodeGenerator::new().build(&ret.program).code;
|
|
assert_eq!(result, expected, "\nfor source: {source_text:?}");
|
|
}
|
|
|
|
pub fn test_minify(source_text: &str, expected: &str) {
|
|
let source_type = SourceType::jsx();
|
|
let allocator = Allocator::default();
|
|
let ret = Parser::new(&allocator, source_text, source_type).parse();
|
|
let result = CodeGenerator::new()
|
|
.with_options(CodegenOptions { minify: true, ..CodegenOptions::default() })
|
|
.build(&ret.program)
|
|
.code;
|
|
assert_eq!(result, expected, "\nfor minify source: {source_text}");
|
|
}
|
|
|
|
pub fn test_minify_same(source_text: &str) {
|
|
test_minify(source_text, source_text);
|
|
}
|