Skip to content

Commit f49667b

Browse files
committed
write more tests for the bsconfig aliases
1 parent 19b8e37 commit f49667b

File tree

1 file changed

+128
-0
lines changed

1 file changed

+128
-0
lines changed

src/config.rs

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,134 @@ mod tests {
607607
);
608608
}
609609

610+
#[test]
611+
fn test_get_suffix() {
612+
let json = r#"
613+
{
614+
"name": "testrepo",
615+
"sources": {
616+
"dir": "src",
617+
"subdirs": true
618+
},
619+
"package-specs": [
620+
{
621+
"module": "es6",
622+
"in-source": true
623+
}
624+
],
625+
"suffix": ".mjs"
626+
}
627+
"#;
628+
629+
let config = serde_json::from_str::<Config>(json).unwrap();
630+
assert_eq!(
631+
config.get_suffix(&config.get_package_specs().first().unwrap()),
632+
".mjs"
633+
);
634+
}
635+
636+
#[test]
637+
fn test_dependencies() {
638+
let json = r#"
639+
{
640+
"name": "testrepo",
641+
"sources": {
642+
"dir": "src",
643+
"subdirs": true
644+
},
645+
"package-specs": [
646+
{
647+
"module": "es6",
648+
"in-source": true
649+
}
650+
],
651+
"suffix": ".mjs",
652+
"bs-dependencies": [ "@testrepo/main" ]
653+
}
654+
"#;
655+
656+
let config = serde_json::from_str::<Config>(json).unwrap();
657+
assert_eq!(config.bs_dependencies, Some(vec!["@testrepo/main".to_string()]));
658+
}
659+
660+
#[test]
661+
fn test_dependencies_alias() {
662+
let json = r#"
663+
{
664+
"name": "testrepo",
665+
"sources": {
666+
"dir": "src",
667+
"subdirs": true
668+
},
669+
"package-specs": [
670+
{
671+
"module": "es6",
672+
"in-source": true
673+
}
674+
],
675+
"suffix": ".mjs",
676+
"dependencies": [ "@testrepo/main" ]
677+
}
678+
"#;
679+
680+
let config = serde_json::from_str::<Config>(json).unwrap();
681+
assert_eq!(config.bs_dependencies, Some(vec!["@testrepo/main".to_string()]));
682+
}
683+
684+
#[test]
685+
fn test_dev_dependencies() {
686+
let json = r#"
687+
{
688+
"name": "testrepo",
689+
"sources": {
690+
"dir": "src",
691+
"subdirs": true
692+
},
693+
"package-specs": [
694+
{
695+
"module": "es6",
696+
"in-source": true
697+
}
698+
],
699+
"suffix": ".mjs",
700+
"bs-dev-dependencies": [ "@testrepo/main" ]
701+
}
702+
"#;
703+
704+
let config = serde_json::from_str::<Config>(json).unwrap();
705+
assert_eq!(
706+
config.bs_dev_dependencies,
707+
Some(vec!["@testrepo/main".to_string()])
708+
);
709+
}
710+
711+
#[test]
712+
fn test_dev_dependencies_alias() {
713+
let json = r#"
714+
{
715+
"name": "testrepo",
716+
"sources": {
717+
"dir": "src",
718+
"subdirs": true
719+
},
720+
"package-specs": [
721+
{
722+
"module": "es6",
723+
"in-source": true
724+
}
725+
],
726+
"suffix": ".mjs",
727+
"dev-dependencies": [ "@testrepo/main" ]
728+
}
729+
"#;
730+
731+
let config = serde_json::from_str::<Config>(json).unwrap();
732+
assert_eq!(
733+
config.bs_dev_dependencies,
734+
Some(vec!["@testrepo/main".to_string()])
735+
);
736+
}
737+
610738
#[test]
611739
fn test_check_if_rescript11_or_higher() {
612740
assert_eq!(check_if_rescript11_or_higher("11.0.0"), Ok(true));

0 commit comments

Comments
 (0)