@import "true"; @import '../../scss/util/unit'; @import '../../scss/util/value'; @include test-module('Value') { @include test('Value (Not Falsey) [function]') { $boolean: has-value(true); $number: has-value(1px); $color: has-value(#000); $list: has-value(1px solid black); $description: 'Returns true if the value is not falsey'; @include assert-equal($boolean, true, $description); @include assert-equal($number, true, $description); @include assert-equal($color, true, $description); @include assert-equal($list, true, $description); } @include test('Value (Falsey) [function]') { $zero: has-value(0px); $null: has-value(null); $none: has-value(none); $empty: has-value(()); $description: 'Returns false if the value is falsey'; @include assert-equal($zero, false, $description); @include assert-equal($null, false, $description); @include assert-equal($none, false, $description); @include assert-equal($empty, false, $description); } @include test('Get Side [function]') { $valueOne: 1rem; $testOne: ( get-side($valueOne, top), get-side($valueOne, right), get-side($valueOne, bottom), get-side($valueOne, left), ); $expectOne: (1rem, 1rem, 1rem, 1rem,); @include assert-equal($testOne, $expectOne, 'Returns correct sides when given one side value'); $valueTwo: 1rem 2rem; $testTwo: ( get-side($valueTwo, top), get-side($valueTwo, right), get-side($valueTwo, bottom), get-side($valueTwo, left), ); $expectTwo: (1rem, 2rem, 1rem, 2rem,); @include assert-equal($testTwo, $expectTwo, 'Returns correct sides when given two side values'); $valueThree: 1rem 2rem 3rem; $testThree: ( get-side($valueThree, top), get-side($valueThree, right), get-side($valueThree, bottom), get-side($valueThree, left), ); $expectThree: (1rem, 2rem, 3rem, 2rem,); @include assert-equal($testThree, $expectThree, 'Returns correct sides when given three side values'); $valueFour: 1rem 2rem 3rem 4rem; $testFour: ( get-side($valueFour, top), get-side($valueFour, right), get-side($valueFour, bottom), get-side($valueFour, left), ); $expectFour: (1rem, 2rem, 3rem, 4rem,); @include assert-equal($testFour, $expectFour, 'Returns correct sides when given four side values'); } @include test('Get Border Value [function]') { $value: 10px dashed green; $width: get-border-value($value, width); $style: get-border-value($value, style); $color: get-border-value($value, color); $description: 'Returns the right value of a border property'; @include assert-equal($width, 10px, $description); @include assert-equal($style, dashed, $description); @include assert-equal($color, green, $description); $defaultWidth: get-border-value(solid black, width); $defaultStyle: get-border-value(10px black, style); $defaultColor: get-border-value(10px solid, color); $defaultDescription: 'Returns a default value if a property is missing'; @include assert-equal($defaultWidth, 0, $defaultDescription); @include assert-equal($defaultStyle, solid, $defaultDescription); @include assert-equal($defaultColor, black, $defaultDescription); } @include test('Map Deep Get [function]') { $map: ( one: ( two: 'three', ), ); $expect: 'three'; @include assert-equal(map-deep-get($map, one, two), $expect, 'Gets a value from a nested map'); } @include test('Map Safe Get [function]') { $map: ( one: 'two' ); $expect: 'two'; @include assert-equal(map-safe-get($map, one), $expect, 'Safely return a value from a map'); } // TODO: Add spec for pow() }