aboutsummaryrefslogtreecommitdiffstats
path: root/test/bem/_block.scss
diff options
context:
space:
mode:
authorVolpeon <git@volpeon.ink>2022-02-05 07:52:13 +0100
committerVolpeon <git@volpeon.ink>2022-02-05 07:52:13 +0100
commitdd5f3c463fab336d694f426dcad11a1783590fc9 (patch)
treefaebf738a9556eaa393371852ed86550d4adf66a /test/bem/_block.scss
parentFix errors from transition from node-sass to sass (diff)
downloadiro-sass-dd5f3c463fab336d694f426dcad11a1783590fc9.tar.gz
iro-sass-dd5f3c463fab336d694f426dcad11a1783590fc9.tar.bz2
iro-sass-dd5f3c463fab336d694f426dcad11a1783590fc9.zip
Ported from import syntax to modules
Diffstat (limited to 'test/bem/_block.scss')
-rw-r--r--test/bem/_block.scss88
1 files changed, 88 insertions, 0 deletions
diff --git a/test/bem/_block.scss b/test/bem/_block.scss
new file mode 100644
index 0000000..fb3a545
--- /dev/null
+++ b/test/bem/_block.scss
@@ -0,0 +1,88 @@
1// sass-lint:disable class-name-format force-element-nesting force-pseudo-nesting mixins-before-declarations
2
3@use 'true' as *;
4@use '../../src/bem';
5
6//
7// Included test cases:
8// - /// 1 /// - without namespace
9// - /// 2 /// - with namespace
10// - /// 3 /// - nested
11// - /// 4 /// - within selector
12//
13
14@include it('block') {
15 @include assert('without namespace') { /// 1 ///
16 @include output(false) {
17 @include bem.block('something') {
18 font-size: 1em;
19 }
20 }
21
22 @include expect(false) {
23 .something {
24 font-size: 1em;
25 }
26 }
27 }
28
29 @each $ns in map-keys(bem.$namespaces) {
30 @include assert('with namespace "#{$ns}"') { /// 2 ///
31 @include output(false) {
32 @include bem.block('something', $ns) {
33 font-size: 1em;
34 }
35 }
36
37 @include expect(false) {
38 @if $ns != 'theme' {
39 .#{map-get(bem.$namespaces, $ns)}-something {
40 font-size: 1em;
41 }
42 } @else {
43 .t-something,
44 [class*=' t-'] .t-something,
45 [class^='t-'] .t-something {
46 font-size: 1em;
47 }
48 }
49 }
50 }
51 }
52
53 @include assert('nested') { /// 3 ///
54 @include output(false) {
55 @include bem.theme('theme') {
56 @include bem.theme('subtheme') {
57 @include bem.block('something') {
58 font-size: 2em;
59 }
60 }
61 }
62 }
63
64 @include expect(false) {
65 .t-theme .t-subtheme .something,
66 [class*=' t-'] .t-theme .t-subtheme .something,
67 [class^='t-'] .t-theme .t-subtheme .something {
68 font-size: 2em;
69 }
70 }
71 }
72
73 @include assert('within selector') { /// 4 ///
74 @include output(false) {
75 .sel {
76 @include bem.block('something') {
77 font-size: 2em;
78 }
79 }
80 }
81
82 @include expect(false) {
83 .sel .something {
84 font-size: 2em;
85 }
86 }
87 }
88}