encre_css/plugins/flexbox/
mod.rs

1//! Flexbox utilities
2pub mod align_content;
3pub mod align_items;
4pub mod align_self;
5pub mod flex;
6pub mod flex_basis;
7pub mod flex_direction;
8pub mod flex_grow;
9pub mod flex_shrink;
10pub mod flex_wrap;
11pub mod justify_content;
12pub mod justify_items;
13pub mod justify_self;
14pub mod order;
15pub mod place_content;
16pub mod place_items;
17pub mod place_self;
18
19#[cfg(test)]
20mod tests {
21    use crate::{generate, utils::testing::base_config};
22
23    use pretty_assertions::assert_eq;
24
25    #[test]
26    fn align_content() {
27        assert_eq!(
28            generate(["content-center"], &base_config()),
29            ".content-center {
30  align-content: center;
31}"
32        );
33
34        assert_eq!(
35            generate(["content-evenly"], &base_config()),
36            ".content-evenly {
37  align-content: space-evenly;
38}"
39        );
40    }
41
42    #[test]
43    fn align_items() {
44        assert_eq!(
45            generate(["items-center"], &base_config()),
46            ".items-center {
47  align-items: center;
48}"
49        );
50
51        assert_eq!(
52            generate(["items-baseline"], &base_config()),
53            ".items-baseline {
54  align-items: baseline;
55}"
56        );
57    }
58
59    #[test]
60    fn align_self() {
61        assert_eq!(
62            generate(["self-center"], &base_config()),
63            ".self-center {
64  align-self: center;
65}"
66        );
67
68        assert_eq!(
69            generate(["self-stretch"], &base_config()),
70            ".self-stretch {
71  align-self: stretch;
72}"
73        );
74    }
75
76    #[test]
77    fn flex() {
78        assert_eq!(
79            generate(["flex-1"], &base_config()),
80            ".flex-1 {
81  flex: 1 1 0%;
82}"
83        );
84        assert_eq!(
85            generate(["flex-none"], &base_config()),
86            ".flex-none {
87  flex: none;
88}"
89        );
90        assert_eq!(
91            generate(["flex-[1_2_100px]"], &base_config()),
92            r".flex-\[1_2_100px\] {
93  flex: 1 2 100px;
94}"
95        );
96    }
97
98    #[test]
99    fn flex_basis() {
100        assert_eq!(
101            generate(["basis-4"], &base_config()),
102            ".basis-4 {
103  flex-basis: 1rem;
104}"
105        );
106        assert_eq!(
107            generate(["basis-auto"], &base_config()),
108            ".basis-auto {
109  flex-basis: auto;
110}"
111        );
112        assert_eq!(
113            generate(["-basis-full"], &base_config()),
114            ".-basis-full {
115  flex-basis: -100%;
116}"
117        );
118        assert_eq!(
119            generate(["-basis-4"], &base_config()),
120            ".-basis-4 {
121  flex-basis: -1rem;
122}"
123        );
124        assert_eq!(
125            generate(["basis-[10px]"], &base_config()),
126            r".basis-\[10px\] {
127  flex-basis: 10px;
128}"
129        );
130    }
131
132    #[test]
133    fn flex_direction() {
134        assert_eq!(
135            generate(["flex-row"], &base_config()),
136            ".flex-row {
137  flex-direction: row;
138}"
139        );
140
141        assert_eq!(
142            generate(["flex-col-reverse"], &base_config()),
143            ".flex-col-reverse {
144  flex-direction: column-reverse;
145}"
146        );
147    }
148
149    #[test]
150    fn flex_grow() {
151        assert_eq!(
152            generate(["grow"], &base_config()),
153            ".grow {
154  flex-grow: 1;
155}"
156        );
157        assert_eq!(
158            generate(["grow-12"], &base_config()),
159            ".grow-12 {
160  flex-grow: 12;
161}"
162        );
163    }
164
165    #[test]
166    fn flex_shrink() {
167        assert_eq!(
168            generate(["shrink"], &base_config()),
169            ".shrink {
170  flex-shrink: 1;
171}"
172        );
173        assert_eq!(
174            generate(["shrink-12"], &base_config()),
175            ".shrink-12 {
176  flex-shrink: 12;
177}"
178        );
179    }
180
181    #[test]
182    fn flex_wrap() {
183        assert_eq!(
184            generate(["flex-nowrap"], &base_config()),
185            ".flex-nowrap {
186  flex-wrap: nowrap;
187}"
188        );
189        assert_eq!(
190            generate(["flex-wrap-reverse"], &base_config()),
191            ".flex-wrap-reverse {
192  flex-wrap: wrap-reverse;
193}"
194        );
195    }
196
197    #[test]
198    fn justify_content() {
199        assert_eq!(
200            generate(["justify-center"], &base_config()),
201            ".justify-center {
202  justify-content: center;
203}"
204        );
205
206        assert_eq!(
207            generate(["justify-evenly"], &base_config()),
208            ".justify-evenly {
209  justify-content: space-evenly;
210}"
211        );
212    }
213
214    #[test]
215    fn justify_items() {
216        assert_eq!(
217            generate(["justify-items-center"], &base_config()),
218            ".justify-items-center {
219  justify-items: center;
220}"
221        );
222
223        assert_eq!(
224            generate(["justify-items-end"], &base_config()),
225            ".justify-items-end {
226  justify-items: end;
227}"
228        );
229    }
230
231    #[test]
232    fn justify_self() {
233        assert_eq!(
234            generate(["justify-self-center"], &base_config()),
235            ".justify-self-center {
236  justify-self: center;
237}"
238        );
239
240        assert_eq!(
241            generate(["justify-self-auto"], &base_config()),
242            ".justify-self-auto {
243  justify-self: auto;
244}"
245        );
246    }
247
248    #[test]
249    fn place_content() {
250        assert_eq!(
251            generate(["place-content-center"], &base_config()),
252            ".place-content-center {
253  place-content: center;
254}"
255        );
256
257        assert_eq!(
258            generate(["place-content-evenly"], &base_config()),
259            ".place-content-evenly {
260  place-content: space-evenly;
261}"
262        );
263    }
264
265    #[test]
266    fn place_items() {
267        assert_eq!(
268            generate(["place-items-center"], &base_config()),
269            ".place-items-center {
270  place-items: center;
271}"
272        );
273
274        assert_eq!(
275            generate(["place-items-end"], &base_config()),
276            ".place-items-end {
277  place-items: end;
278}"
279        );
280    }
281
282    #[test]
283    fn place_self() {
284        assert_eq!(
285            generate(["place-self-center"], &base_config()),
286            ".place-self-center {
287  place-self: center;
288}"
289        );
290
291        assert_eq!(
292            generate(["place-self-auto"], &base_config()),
293            ".place-self-auto {
294  place-self: auto;
295}"
296        );
297    }
298}