about summary refs log tree commit diff
path: root/src/librustdoc/theme
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-08-02 00:18:56 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-08-02 01:59:01 +0300
commita332e224a3bc2925fea584337d2d30e1186672be (patch)
treeee502bfc63ef9eddab144e2fca949c44ab486a20 /src/librustdoc/theme
parente118eb6c7970385fbcdd688d03975f65d88e642e (diff)
downloadrust-a332e224a3bc2925fea584337d2d30e1186672be.tar.gz
rust-a332e224a3bc2925fea584337d2d30e1186672be.zip
librustdoc: Unconfigure tests during normal build
Diffstat (limited to 'src/librustdoc/theme')
-rw-r--r--src/librustdoc/theme/tests.rs102
1 files changed, 102 insertions, 0 deletions
diff --git a/src/librustdoc/theme/tests.rs b/src/librustdoc/theme/tests.rs
new file mode 100644
index 00000000000..ab0935bc494
--- /dev/null
+++ b/src/librustdoc/theme/tests.rs
@@ -0,0 +1,102 @@
+use super::*;
+
+#[test]
+fn test_comments_in_rules() {
+    let text = r#"
+rule a {}
+
+rule b, c
+// a line comment
+{}
+
+rule d
+// another line comment
+e {}
+
+rule f/* a multine
+
+comment*/{}
+
+rule g/* another multine
+
+comment*/h
+
+i {}
+
+rule j/*commeeeeent
+
+you like things like "{}" in there? :)
+*/
+end {}"#;
+
+    let against = r#"
+rule a {}
+
+rule b, c {}
+
+rule d e {}
+
+rule f {}
+
+rule gh i {}
+
+rule j end {}
+"#;
+
+    let mut ret = Vec::new();
+    get_differences(&load_css_paths(against.as_bytes()),
+                    &load_css_paths(text.as_bytes()),
+                    &mut ret);
+    assert!(ret.is_empty());
+}
+
+#[test]
+fn test_text() {
+    let text = r#"
+a
+/* sdfs
+*/ b
+c // sdf
+d {}
+"#;
+    let paths = load_css_paths(text.as_bytes());
+    assert!(paths.children.contains(&CssPath::new("a b c d".to_owned())));
+}
+
+#[test]
+fn test_comparison() {
+    let x = r#"
+a {
+    b {
+        c {}
+    }
+}
+"#;
+
+    let y = r#"
+a {
+    b {}
+}
+"#;
+
+    let against = load_css_paths(y.as_bytes());
+    let other = load_css_paths(x.as_bytes());
+
+    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 \"c\" rule".to_owned()]);
+}
+
+#[test]
+fn check_empty_css() {
+    let events = load_css_events(&[]);
+    assert_eq!(events.len(), 0);
+}
+
+#[test]
+fn check_invalid_css() {
+    let events = load_css_events(b"*");
+    assert_eq!(events.len(), 0);
+}