use media_query_parse::parse_media_query;
#[test]
fn wpt_query_should_be_parseable_orientation() {
assert!(parse_media_query("(orientation)").is_ok());
}
#[test]
fn wpt_query_should_be_parseable_not_orientation() {
assert!(parse_media_query("not (orientation)").is_ok());
}
#[test]
fn wpt_query_should_be_parseable_all_and_orientation() {
assert!(parse_media_query("all and (orientation)").is_ok());
}
#[test]
fn wpt_query_should_be_parseable_not_all_and_orientation() {
assert!(parse_media_query("not all and (orientation)").is_ok());
}
#[test]
fn wpt_query_should_be_parseable_only_all_and_orientation() {
assert!(parse_media_query("only all and (orientation)").is_ok());
}
#[test]
fn wpt_query_should_be_parseable_orientation_and_orientation() {
assert!(parse_media_query("(orientation) and (orientation)").is_ok());
}
#[test]
fn wpt_query_should_be_parseable_orientation_or_orientation() {
assert!(parse_media_query("(orientation) or (orientation)").is_ok());
}
#[test]
fn wpt_query_should_be_parseable_nested_or_and_or_not() {
assert!(
parse_media_query(
"(orientation) or ((orientation) and ((orientation) or (orientation) or (not (orientation))))"
)
.is_ok()
);
}
#[test]
fn wpt_query_should_be_parseable_all_and_orientation_and_orientation() {
assert!(parse_media_query("all and (orientation) and (orientation)").is_ok());
}
#[test]
fn wpt_query_should_be_parseable_not_unknown_function() {
assert!(parse_media_query("not unknown(width) ").is_ok());
}
#[test]
fn wpt_query_should_not_be_parseable_only_orientation() {
assert!(parse_media_query("only (orientation)").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_not_not_orientation() {
assert!(parse_media_query("not not (orientation)").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_all_and_orientation_or_orientation() {
assert!(parse_media_query("all and (orientation) or (orientation)").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_orientation_and_orientation_or_orientation() {
assert!(parse_media_query("(orientation) and (orientation) or (orientation)").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_orientation_and_not_orientation() {
assert!(parse_media_query("(orientation) and not (orientation)").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_all_and_color_colon() {
assert!(parse_media_query("all and color :").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_all_and_color_colon_1() {
assert!(parse_media_query("all and color : 1").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_screen_or_width() {
assert!(parse_media_query("screen or (width)").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_screen_and_width_or_height() {
assert!(parse_media_query("screen and (width) or (height)").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_not_width_and_not_height() {
assert!(parse_media_query("not (width) and not (height)").is_err());
}
#[test]
fn wpt_query_should_not_be_parseable_not_not_width() {
assert!(parse_media_query("not not (width)").is_err());
}
#[test]
fn wpt_invalid_media_type_not_and() {
assert!(parse_media_query("not and").is_err());
}
#[test]
fn wpt_invalid_media_type_and() {
assert!(parse_media_query("and").is_err());
}
#[test]
fn wpt_invalid_media_type_not_or() {
assert!(parse_media_query("not or").is_err());
}
#[test]
fn wpt_invalid_media_type_or() {
assert!(parse_media_query("or").is_err());
}
#[test]
fn wpt_invalid_media_type_not_not() {
assert!(parse_media_query("not not").is_err());
}
#[test]
fn wpt_invalid_media_type_not() {
assert!(parse_media_query("not").is_err());
}
#[test]
fn wpt_invalid_media_type_not_only() {
assert!(parse_media_query("not only").is_err());
}
#[test]
fn wpt_invalid_media_type_only() {
assert!(parse_media_query("only").is_err());
}