// sass-lint:disable class-name-format force-element-nesting force-pseudo-nesting mixins-before-declarations // // Included test cases: // - /// 1 /// - without namespace // - /// 2 /// - with namespace // - /// 3 /// - nested // - /// 4 /// - within selector // @include it('iro-bem-block') { @include assert('without namespace') { /// 1 /// @include output(false) { @include iro-bem-block('something') { font-size: 1em; } } @include expect(false) { .something { font-size: 1em; } } } @each $ns in map-keys($iro-bem-namespaces) { @include assert('with namespace "#{$ns}"') { /// 2 /// @include output(false) { @include iro-bem-block('something', $ns) { font-size: 1em; } } @include expect(false) { @if $ns != 'theme' { .#{map-get($iro-bem-namespaces, $ns)}-something { font-size: 1em; } } @else { .t-something, [class*=' t-'] .t-something, [class^='t-'] .t-something { font-size: 1em; } } } } } @include assert('nested') { /// 3 /// @include output(false) { @include iro-bem-theme('theme') { @include iro-bem-theme('subtheme') { @include iro-bem-block('something') { font-size: 2em; } } } } @include expect(false) { .t-theme .t-subtheme .something, [class*=' t-'] .t-theme .t-subtheme .something, [class^='t-'] .t-theme .t-subtheme .something { font-size: 2em; } } } @include assert('within selector') { /// 4 /// @include output(false) { .sel { @include iro-bem-block('something') { font-size: 2em; } } } @include expect(false) { .sel .something { font-size: 2em; } } } }