just/bin/ref-type/tests/integration.rs

43 lines
906 B
Rust
Raw Normal View History

2021-06-01 16:37:40 -07:00
use executable_path::executable_path;
use std::{process::Command, str};
fn stdout(reference: &str) -> String {
let output = Command::new(executable_path("ref-type"))
2022-11-22 16:36:23 -08:00
.args(["--reference", reference])
2021-06-01 16:37:40 -07:00
.output()
.unwrap();
assert!(output.status.success());
String::from_utf8(output.stdout).unwrap()
}
#[test]
fn junk_is_other() {
assert_eq!(stdout("refs/tags/asdf"), "::set-output name=value::other\n");
2021-06-01 16:37:40 -07:00
}
#[test]
fn valid_version_is_release() {
2021-06-01 16:37:40 -07:00
assert_eq!(
stdout("refs/tags/0.0.0"),
"::set-output name=value::release\n"
2021-06-01 16:37:40 -07:00
);
}
#[test]
fn valid_version_with_trailing_characters_is_other() {
2021-06-01 16:37:40 -07:00
assert_eq!(
stdout("refs/tags/0.0.0-rc1"),
"::set-output name=value::other\n"
2021-06-01 16:37:40 -07:00
);
}
#[test]
fn valid_version_with_lots_of_digits_is_release() {
2021-06-01 16:37:40 -07:00
assert_eq!(
stdout("refs/tags/01232132.098327498374.43268473849734"),
"::set-output name=value::release\n"
2021-06-01 16:37:40 -07:00
);
}