]> git.lizzy.rs Git - rust.git/blob - src/librustdoc/theme/tests.rs
Rollup merge of #97389 - m-ou-se:memory-ordering-diagnostics, r=estebank
[rust.git] / src / librustdoc / theme / tests.rs
1 use super::*;
2
3 #[test]
4 fn test_comments_in_rules() {
5     let text = r#"
6 rule a {}
7
8 rule b, c
9 // a line comment
10 {}
11
12 rule d
13 // another line comment
14 e {}
15
16 rule f/* a multine
17
18 comment*/{}
19
20 rule g/* another multine
21
22 comment*/h
23
24 i {}
25
26 rule j/*commeeeeent
27
28 you like things like "{}" in there? :)
29 */
30 end {}"#;
31
32     let against = r#"
33 rule a {}
34
35 rule b, c {}
36
37 rule d e {}
38
39 rule f {}
40
41 rule gh i {}
42
43 rule j end {}
44 "#;
45
46     let mut ret = Vec::new();
47     get_differences(
48         &load_css_paths(against.as_bytes()),
49         &load_css_paths(text.as_bytes()),
50         &mut ret,
51     );
52     assert!(ret.is_empty());
53 }
54
55 #[test]
56 fn test_text() {
57     let text = r#"
58 a
59 /* sdfs
60 */ b
61 c // sdf
62 d {}
63 "#;
64     let paths = load_css_paths(text.as_bytes());
65     assert!(paths.children.contains(&CssPath::new("a b c d".to_owned())));
66 }
67
68 #[test]
69 fn test_comparison() {
70     let x = r#"
71 a {
72     b {
73         c {}
74     }
75 }
76 "#;
77
78     let y = r#"
79 a {
80     b {}
81 }
82 "#;
83
84     let against = load_css_paths(y.as_bytes());
85     let other = load_css_paths(x.as_bytes());
86
87     let mut ret = Vec::new();
88     get_differences(&against, &other, &mut ret);
89     assert!(ret.is_empty());
90     get_differences(&other, &against, &mut ret);
91     assert_eq!(ret, vec!["  Missing \"c\" rule".to_owned()]);
92 }
93
94 #[test]
95 fn check_empty_css() {
96     let events = load_css_events(&[]);
97     assert_eq!(events.len(), 0);
98 }
99
100 #[test]
101 fn check_invalid_css() {
102     let events = load_css_events(b"*");
103     assert_eq!(events.len(), 0);
104 }
105
106 #[test]
107 fn test_with_minification() {
108     let text = include_str!("../html/static/css/themes/dark.css");
109     let minified = minifier::css::minify(&text).expect("CSS minification failed").to_string();
110
111     let against = load_css_paths(text.as_bytes());
112     let other = load_css_paths(minified.as_bytes());
113
114     let mut ret = Vec::new();
115     get_differences(&against, &other, &mut ret);
116     assert!(ret.is_empty());
117 }