#[cfg(test)]
mod test {
use speedy_sourcemap::{merge_map, SourceMap, VlqMap};
#[test]
fn should_work_with_fn() {
let babel_transformed = VlqMap {
mappings: ";;AAAA,IAAIA,GAAG,GAAG,SAANA,GAAM;AAAA,SAAM,KAAN;AAAA,CAAV".as_bytes(),
sources: vec!["unknown"],
sources_content: vec![r#"let foo = () => "foo";"#],
names: vec!["foo"],
line_offset: None,
column_offset: None,
};
let minified = VlqMap {
mappings: "AAAA,aAEA,IAAIA,IAAM,WACR,MAAO".as_bytes(),
sources: vec!["0"],
sources_content: vec![r#""use strict";\n\nvar foo = function foo() {\n return "foo";\n};"#],
names: vec!["foo"],
line_offset: None,
column_offset: None,
};
let mut result = SourceMap::merge_maps(&[&minified, &babel_transformed]);
assert!(result.is_ok());
let mut vlq_output: Vec<u8> = vec![];
assert!(result
.as_mut()
.unwrap()
.inner
.write_vlq(&mut vlq_output)
.is_ok());
let mappings = result.as_ref().unwrap().inner.get_mappings();
assert_eq!(mappings[0].generated_column, 0);
assert_eq!(mappings[0].generated_line, 0);
assert_eq!(mappings[1].generated_column, 13);
assert_eq!(mappings[1].original.unwrap().original_line, 0);
assert_eq!(mappings[1].original.unwrap().original_column, 0);
assert_eq!(mappings[1].original.unwrap().source, 1);
}
#[test]
fn should_merge_maps_with_macros() {
let babel_transformed = VlqMap {
mappings: ";;AAAA,IAAIA,GAAG,GAAG,SAANA,GAAM;AAAA,SAAM,KAAN;AAAA,CAAV".as_bytes(),
sources: vec!["unknown"],
sources_content: vec![r#"let foo = () => "foo";"#],
names: vec!["foo"],
line_offset: None,
column_offset: None,
};
let minified = VlqMap {
mappings: "AAAA,aAEA,IAAIA,IAAM,WACR,MAAO".as_bytes(),
sources: vec!["0"],
sources_content: vec![r#""use strict";\n\nvar foo = function foo() {\n return "foo";\n};"#],
names: vec!["foo"],
line_offset: None,
column_offset: None,
};
let mut result = merge_map!(&minified, &babel_transformed);
assert!(result.is_ok());
let mut vlq_output: Vec<u8> = vec![];
assert!(result
.as_mut()
.unwrap()
.inner
.write_vlq(&mut vlq_output)
.is_ok());
let mappings = result.as_ref().unwrap().inner.get_mappings();
assert_eq!(mappings[0].generated_column, 0);
assert_eq!(mappings[0].generated_line, 0);
assert_eq!(mappings[1].generated_column, 13);
assert_eq!(mappings[1].original.unwrap().original_line, 0);
assert_eq!(mappings[1].original.unwrap().original_column, 0);
assert_eq!(mappings[1].original.unwrap().source, 1);
}
}