// sass-lint:disable class-name-format force-element-nesting force-pseudo-nesting mixins-before-declarations @use 'true' as *; @use '../../src/bem'; // // Included test cases: // - /// 1 /// - block suffix // - /// 2 /// - element suffix // - /// 3 /// - modifier suffix // - /// 4 /// - multiple element suffix // @include it('suffix') { @include assert('block suffix') { /// 1 /// @include output { @include bem.block('something') { @include bem.suffix('sm') { font-size: 1.5em; } } } @include expect { .something\@sm { font-size: 1.5em; } } } @include assert('element suffix') { /// 2 /// @include output { @include bem.block('something') { @include bem.elem('child') { @include bem.suffix('sm') { font-size: 2.5em; } } } } @include expect { .something__child\@sm { font-size: 2.5em; } } } @include assert('modifier suffix') { /// 3 /// @include output { @include bem.block('something') { @include bem.modifier('mod1') { @include bem.suffix('sm') { font-size: 1.75em; } } @include bem.elem('child') { @include bem.modifier('mod2') { @include bem.suffix('sm') { font-size: 2.75em; } } } } } @include expect { .something--mod1\@sm { font-size: 1.75em; } .something__child--mod2\@sm { font-size: 2.75em; } } } @include assert('multiple element suffix') { /// 4 /// @include output { @include bem.block('something') { @include bem.elem('child1', 'child2') { @include bem.suffix('sm') { font-size: 2.5em; } } } } @include expect { .something__child1\@sm, .something__child2\@sm { font-size: 2.5em; } } } }