]> git.lizzy.rs Git - rust.git/blobdiff - src/librustdoc/theme/tests.rs
Auto merge of #101890 - rust-lang:pa-bump-version, r=pietroalbini
[rust.git] / src / librustdoc / theme / tests.rs
index 54226c6cf3b155bcad28190d436bcbf7036f43d2..08a174d27d35740f6e1aa6de553dc28d3957162b 100644 (file)
@@ -63,26 +63,26 @@ fn test_text() {
 
 #[test]
 fn test_comparison() {
-    let x = r#"
+    let origin = r#"
 @a {
     b {}
+    c {}
 }
 "#;
 
-    let y = r#"
+    let against = r#"
 @a {
     b {}
-    c {}
 }
 "#;
 
-    let against = load_css_paths(y).unwrap();
-    let other = load_css_paths(x).unwrap();
+    let origin = load_css_paths(origin).unwrap();
+    let against = load_css_paths(against).unwrap();
 
     let mut ret = Vec::new();
-    get_differences(&against, &other, &mut ret);
+    get_differences(&against, &origin, &mut ret);
     assert!(ret.is_empty());
-    get_differences(&other, &against, &mut ret);
+    get_differences(&origin, &against, &mut ret);
     assert_eq!(ret, vec!["  Missing rule `c`".to_owned()]);
 }
 
@@ -123,13 +123,65 @@ fn test_media() {
         x: y;
     }
 }
+
+@media (max-width: 1001px) {
+    b {
+        x: y;
+    }
+}
 "#;
 
     let paths = load_css_paths(text).unwrap();
-    eprintln!("{:?}", paths);
     let p = paths.get("@media (min-width:701px)");
     assert!(p.is_some());
     let p = p.unwrap();
     assert!(p.children.get("a:hover").is_some());
     assert!(p.children.get("b").is_some());
+
+    let p = paths.get("@media (max-width:1001px)");
+    assert!(p.is_some());
+    let p = p.unwrap();
+    assert!(p.children.get("b").is_some());
+}
+
+#[test]
+fn test_css_variables() {
+    let x = r#"
+:root {
+    --a: #fff;
+}
+"#;
+
+    let y = r#"
+:root {
+    --a: #fff;
+    --b: #fff;
+}
+"#;
+
+    let against = load_css_paths(x).unwrap();
+    let other = load_css_paths(y).unwrap();
+
+    let mut ret = Vec::new();
+    get_differences(&against, &other, &mut ret);
+    assert!(ret.is_empty());
+    get_differences(&other, &against, &mut ret);
+    assert_eq!(ret, vec!["  Missing CSS variable `--b` in `:root`".to_owned()]);
+}
+
+#[test]
+fn test_weird_rule_value() {
+    let x = r#"
+a[text=("a")] {
+    b: url({;}.png);
+    c: #fff
+}
+"#;
+
+    let paths = load_css_paths(&x).unwrap();
+    let p = paths.get("a[text=(\"a\")]");
+    assert!(p.is_some());
+    let p = p.unwrap();
+    assert_eq!(p.rules.get("b"), Some(&"url({;}.png)".to_owned()));
+    assert_eq!(p.rules.get("c"), Some(&"#fff".to_owned()));
 }