@sencha/cmd-linux-64
Version:
Productivity and performance optimization tool for building applications with Sencha Ext JS
101 lines (93 loc) • 2.62 kB
JavaScript
/*
* Copyright (c) 2012-2017. Sencha Inc.
*/
var Fashion = require('../../index.js');
var assert = require('assert');
var helpers = require('../helpers.js');
describe('nulls', function () {
helpers.test('should propagate', [
'$var1: 1 + null;',
'$var2: 1 * null;',
'$var3: 1 / null;',
'$var4: 1 - null;',
'$var5: (1 null 2 3 4);',
'$var6: -1 / null;',
'$theVar: null;',
'$var7: ($theVar / 2) ($theVar / 2);',
'$var8: -$theVar;',
'foo {',
' a: "nulls should propagate and be filtered";',
' a: $var1;',
' a: $var2;',
' a: $var3;',
' a: $var4;',
' a: $var5;',
' a: $var6;',
' a: $var7;',
' a: $var6;',
'}'
], [
'foo {',
' a: "nulls should propagate and be filtered";',
'}'
]);
helpers.test('should propagate through math functions', [
'$var1: ceil(null);',
'$var2: round(null);',
'$var3: abs(null);',
'$var4: min(1,2,null,5);',
'$var5: max(1,2,null,5);',
'foo {',
' a: "nulls should propagate and be filtered";',
' a: $var1;',
' a: $var2;',
' a: $var3;',
' a: $var4;',
' a: $var5;',
'}'
], [
'foo {',
' a: "nulls should propagate and be filtered";',
'}'
]);
helpers.test('should propagate through function calls', [
'$var1: mix(red, null, 25%);',
'$var2: darken(null, 30%);',
'$var3: lighten(null, 10%);',
'$nullVar: null;',
'$var4: rgba(null, .5);',
'$var5: (1 null 2 3 4);',
'$var6: parsebox(null, 2);',
'$var7: parsebox((1 null 2 3 4), 3);',
'$var8: parsebox((1 null 2 3 4), 2);',
'foo {',
' a: "nulls should propagate through function calls and be filtered";',
' a: $var1;',
' a: $var2;',
' a: $var3;',
' a: $var4;',
' a: $var5;',
' a: $var6;',
' a: $var7;',
' a: $var8;',
'}'
], [
'foo {',
' a: "nulls should propagate through function calls and be filtered";',
' a: 2;',
'}'
]);
helpers.test("should properly skip mixin parameters with mismatched names", [
'@mixin ui($ui: null, $margin: null) {',
' .x-#{$ui} {',
' margin: $margin;',
' }',
'}',
'@include ui(',
' $ui: foo,',
' $padding: 1px',
');'
], [
''
])
});