use alloc::borrow::ToOwned;
use alloc::boxed::Box;
use alloc::format;
use alloc::string::{String, ToString};
use alloc::vec;
use alloc::vec::Vec;
use crate::rustc_span::{Symbol, create_default_session_globals_then};
use crate::rustc_lint::builtin::is_hexagon_register_span;
use crate::rustc_lint::levels::parse_lint_and_tool_name;
#[test]
fn parse_lint_no_tool() {
create_default_session_globals_then(|| {
assert_eq!(parse_lint_and_tool_name("foo"), (None, "foo"))
});
}
#[test]
fn parse_lint_with_tool() {
create_default_session_globals_then(|| {
assert_eq!(parse_lint_and_tool_name("clippy::foo"), (Some(Symbol::intern("clippy")), "foo"))
});
}
#[test]
fn parse_lint_multiple_path() {
create_default_session_globals_then(|| {
assert_eq!(
parse_lint_and_tool_name("clippy::foo::bar"),
(Some(Symbol::intern("clippy")), "foo::bar")
)
});
}
#[test]
fn test_hexagon_register_span_patterns() {
assert!(is_hexagon_register_span("r1:0"));
assert!(is_hexagon_register_span("r15:14"));
assert!(is_hexagon_register_span("V5:4"));
assert!(is_hexagon_register_span("V3:2"));
assert!(is_hexagon_register_span("V5:4.w"));
assert!(is_hexagon_register_span("V3:2.h"));
assert!(is_hexagon_register_span("r99:98"));
assert!(is_hexagon_register_span("V123:122.whatever"));
assert!(!is_hexagon_register_span("label1"));
assert!(!is_hexagon_register_span("foo:"));
assert!(!is_hexagon_register_span(":0"));
assert!(!is_hexagon_register_span("r:0")); assert!(!is_hexagon_register_span("r1:")); assert!(!is_hexagon_register_span("r1:a")); assert!(!is_hexagon_register_span("1:0")); assert!(!is_hexagon_register_span("r1")); assert!(!is_hexagon_register_span("r")); assert!(!is_hexagon_register_span("")); assert!(!is_hexagon_register_span("ra:0")); }