encre_css/plugins/table/
mod.rs

1//! Table utilities
2pub mod border_collapse;
3pub mod border_spacing;
4pub mod table_layout;
5pub mod caption_side;
6
7#[cfg(test)]
8mod tests {
9    use crate::{generate, utils::testing::base_config};
10
11    use pretty_assertions::assert_eq;
12
13    #[test]
14    fn border_collapse() {
15        assert_eq!(
16            generate(["border-separate"], &base_config()),
17            ".border-separate {
18  border-collapse: separate;
19}"
20        );
21    }
22
23    #[test]
24    fn border_spacing() {
25        assert_eq!(
26            generate(["border-spacing-32"], &base_config()),
27            ".border-spacing-32 {
28  --en-border-spacing-x: 8rem;
29  --en-border-spacing-y: 8rem;
30  border-spacing: var(--en-border-spacing-x) var(--en-border-spacing-y);
31}"
32        );
33        assert_eq!(
34            generate(["border-spacing-x-px"], &base_config()),
35            ".border-spacing-x-px {
36  --en-border-spacing-x: 1px;
37  border-spacing: var(--en-border-spacing-x) var(--en-border-spacing-y);
38}"
39        );
40        assert_eq!(
41            generate(["border-spacing-y-0"], &base_config()),
42            ".border-spacing-y-0 {
43  --en-border-spacing-y: 0px;
44  border-spacing: var(--en-border-spacing-x) var(--en-border-spacing-y);
45}"
46        );
47        assert_eq!(
48            generate(["border-spacing-[22px]"], &base_config()),
49            r".border-spacing-\[22px\] {
50  --en-border-spacing-x: 22px;
51  --en-border-spacing-y: 22px;
52  border-spacing: var(--en-border-spacing-x) var(--en-border-spacing-y);
53}"
54        );
55        assert_eq!(
56            generate(["border-spacing-x-[22px]"], &base_config()),
57            r".border-spacing-x-\[22px\] {
58  --en-border-spacing-x: 22px;
59  border-spacing: var(--en-border-spacing-x) var(--en-border-spacing-y);
60}"
61        );
62        assert_eq!(
63            generate(["border-spacing-y-[12px]"], &base_config()),
64            r".border-spacing-y-\[12px\] {
65  --en-border-spacing-y: 12px;
66  border-spacing: var(--en-border-spacing-x) var(--en-border-spacing-y);
67}"
68        );
69    }
70
71    #[test]
72    fn table_layout() {
73        assert_eq!(
74            generate(["table-fixed"], &base_config()),
75            ".table-fixed {
76  table-layout: fixed;
77}"
78        );
79    }
80
81    #[test]
82    fn caption_side() {
83        assert_eq!(
84            generate(["caption-top"], &base_config()),
85            ".caption-top {
86  caption-side: top;
87}"
88        );
89
90        assert_eq!(
91            generate(["caption-bottom"], &base_config()),
92            ".caption-bottom {
93  caption-side: bottom;
94}"
95        );
96    }
97}