From d07f664450ddaaebb44127a4bd057763d13d3f82 Mon Sep 17 00:00:00 2001 From: Feuerfuchs Date: Sun, 1 Nov 2020 20:55:14 +0100 Subject: Init --- test/bem/_iro-bem-composed-of.scss | 149 +++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 test/bem/_iro-bem-composed-of.scss (limited to 'test/bem/_iro-bem-composed-of.scss') diff --git a/test/bem/_iro-bem-composed-of.scss b/test/bem/_iro-bem-composed-of.scss new file mode 100644 index 0000000..e724eb8 --- /dev/null +++ b/test/bem/_iro-bem-composed-of.scss @@ -0,0 +1,149 @@ +// sass-lint:disable class-name-format force-element-nesting force-pseudo-nesting mixins-before-declarations + +// +// Included test cases: +// - /// 1 /// - without namespace, single +// - /// 2 /// - with namespace, single +// - /// 3 /// - without namespace, multiple +// - /// 4 /// - with namespace, multiple +// + +@include it('iro-bem-composed-of') { + @include assert('without namespace, single') { /// 1 /// + @include output(false) { + @include iro-bem-block('something') { + font-size: 1em; + } + + @include iro-bem-block('another') { + @include iro-bem-composed-of('something'); + + font-size: 2em; + } + } + + @include expect(false) { + .something { + font-size: 1em; + } + + .another { + font-size: 2em; + } + } + } + + @each $ns in map-keys($iro-bem-namespaces) { + @include assert('with namespace "#{$ns}", single') { /// 2 /// + @include output(false) { + @include iro-bem-block('something', $ns) { + font-size: 1em; + } + + @include iro-bem-block('another') { + @include iro-bem-composed-of('something' $ns); + + font-size: 2em; + } + } + + @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; + } + } + + .another { + font-size: 2em; + } + } + } + } + + @include assert('without namespace, multiple') { /// 3 /// + @include output(false) { + @include iro-bem-block('something') { + font-size: 1em; + } + + @include iro-bem-block('somethingElse') { + font-size: 1em; + } + + @include iro-bem-block('another') { + @include iro-bem-composed-of('something', 'somethingElse'); + + font-size: 2em; + } + } + + @include expect(false) { + .something { + font-size: 1em; + } + + .somethingElse { + font-size: 1em; + } + + .another { + font-size: 2em; + } + } + } + + @each $ns in map-keys($iro-bem-namespaces) { + @include assert('with namespace "#{$ns}", multiple') { /// 4 /// + @include output(false) { + @include iro-bem-block('something', $ns) { + font-size: 1em; + } + + @include iro-bem-block('somethingElse', $ns) { + font-size: 1em; + } + + @include iro-bem-block('another') { + @include iro-bem-composed-of('something' $ns, 'somethingElse' $ns); + + font-size: 2em; + } + } + + @include expect(false) { + @if $ns != 'theme' { + .#{map-get($iro-bem-namespaces, $ns)}-something { + font-size: 1em; + } + + .#{map-get($iro-bem-namespaces, $ns)}-somethingElse { + font-size: 1em; + } + } @else { + .t-something, + [class*=' t-'] .t-something, + [class^='t-'] .t-something { + font-size: 1em; + } + + .t-somethingElse, + [class*=' t-'] .t-somethingElse, + [class^='t-'] .t-somethingElse { + font-size: 1em; + } + } + + .another { + font-size: 2em; + } + } + } + } +} -- cgit v1.2.3-54-g00ecf