From 0b1ea143b8825a03c7e78f4ca77992cb59b04779 Mon Sep 17 00:00:00 2001 From: xzyfer Date: Wed, 4 May 2016 21:46:39 +1000 Subject: [PATCH] Update for node-sass@3 This required updating the test suite. Many of the assertion were depending on node-sass bugs that are long fixed. --- package.json | 2 +- test/compileSpec.js | 13 ++++++------- test/css3/borderRadiusSpec.js | 2 +- test/css3/boxShadowSpec.js | 2 +- test/css3/imagesSpec.js | 6 +++--- test/css3/transitionSpec.js | 2 +- test/functionsSpec.js | 4 ++-- test/helper/render.js | 9 +++++---- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index b209879..f907eca 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,6 @@ "devDependencies": { "chalk": "^0.5.1", "jasmine-node": "^1.14.5", - "node-sass": "^2.0.0-beta" + "node-sass": "^3.4.2" } } diff --git a/test/compileSpec.js b/test/compileSpec.js index cf6915e..555a174 100644 --- a/test/compileSpec.js +++ b/test/compileSpec.js @@ -10,17 +10,16 @@ describe("Imports", function () { done(); } - ["imports", "imports_animation"].forEach(function(importFile) { + ["imports.scss", "imports_animation.scss"].forEach(function(importFile) { sass.render({ file: __dirname + "/" + importFile, - success: function(s){ - success(); - complete(); - }, - error: function(e){ + }, function(e, s) { + if (e) { console.log(chalk.red("Sass error:"), e); - complete(); + } else { + success(); } + complete(); }); }); diff --git a/test/css3/borderRadiusSpec.js b/test/css3/borderRadiusSpec.js index fa26504..882a6a3 100644 --- a/test/css3/borderRadiusSpec.js +++ b/test/css3/borderRadiusSpec.js @@ -4,7 +4,7 @@ var ruleset = require('../helper/ruleset'); describe("CSS3 Border Radius", function () { it("should generate a border radius", function (done) { - render(ruleset('$experimental-support-for-mozilla: false; $experimental-support-for-opera: false; @include border-radius(0, 0)'), function(output, err) { + render(ruleset('$experimental-support-for-mozilla: false !global; $experimental-support-for-opera: false !global; @include border-radius(0, 0)'), function(output, err) { expect(output).toBe(ruleset('-webkit-border-radius:0 0;border-radius:0 / 0')); done(); }, ['compass/css3/border-radius']); diff --git a/test/css3/boxShadowSpec.js b/test/css3/boxShadowSpec.js index 73e6afe..6b5bf9d 100644 --- a/test/css3/boxShadowSpec.js +++ b/test/css3/boxShadowSpec.js @@ -4,7 +4,7 @@ var ruleset = require('../helper/ruleset'); describe("CSS3 Box Shadow", function () { it("should generate a default box shadow", function (done) { - render(ruleset('$default-box-shadow-inset: inset; $default-box-shadow-h-offset: 23px; $default-box-shadow-v-offset: 24px; $default-box-shadow-blur: 17px; $default-box-shadow-spread: 15px; $default-box-shadow-color: #DEADBE; $experimental-support-for-mozilla: false; $experimental-support-for-opera: false; @include box-shadow'), function(output, err) { + render(ruleset('$default-box-shadow-inset: inset !global; $default-box-shadow-h-offset: 23px !global; $default-box-shadow-v-offset: 24px !global; $default-box-shadow-blur: 17px !global; $default-box-shadow-spread: 15px !global; $default-box-shadow-color: #DEADBE !global; $experimental-support-for-mozilla: false !global; $experimental-support-for-opera: false !global; @include box-shadow'), function(output, err) { expect(output).toBe(ruleset('-webkit-box-shadow:inset 23px 24px 17px 15px #DEADBE;box-shadow:inset 23px 24px 17px 15px #DEADBE')); done(); }, ['compass/css3/box-shadow']); diff --git a/test/css3/imagesSpec.js b/test/css3/imagesSpec.js index 99ebcb0..9434460 100644 --- a/test/css3/imagesSpec.js +++ b/test/css3/imagesSpec.js @@ -11,15 +11,15 @@ describe("CSS3 Images", function () { }); it("should generate multiple backgrounds", function (done) { - render(ruleset('$support-for-original-webkit-gradients: false; $experimental-support-for-mozilla: false; $experimental-support-for-opera: false; @include background(a, b, c)'), function(output, err) { + render(ruleset('$support-for-original-webkit-gradients: false !global; $experimental-support-for-mozilla: false !global; $experimental-support-for-opera: false !global; @include background(a, b, c)'), function(output, err) { expect(output).toBe(ruleset('background:-webkit-a,-webkit-b,-webkit-c;background:a,b,c')); done(); }, ['compass/css3/images']); }); it("should generate multiple backgrounds of different types", function (done) { - render(ruleset('$support-for-original-webkit-gradients: false; $experimental-support-for-mozilla: false; $experimental-support-for-opera: false; @include background(#fff, url(1.gif), linear-gradient(white, black))'), function(output, err) { - expect(output).toBe(ruleset('background:#fff,url(1.gif),-webkit-linear-gradient(white, black);background:#fff,url(1.gif),linear-gradient(white, black)')); + render(ruleset('$support-for-original-webkit-gradients: false !global; $experimental-support-for-mozilla: false !global; $experimental-support-for-opera: false !global; @include background(#fff, url(1.gif), linear-gradient(white, black))'), function(output, err) { + expect(output).toBe(ruleset('background:#fff,url(1.gif),-webkit-linear-gradient(#fff, #000);background:#fff,url(1.gif),linear-gradient(#fff, #000)')); done(); }, ['compass/css3/images']); }); diff --git a/test/css3/transitionSpec.js b/test/css3/transitionSpec.js index 1cef644..28a2c6d 100644 --- a/test/css3/transitionSpec.js +++ b/test/css3/transitionSpec.js @@ -4,7 +4,7 @@ var ruleset = require('../helper/ruleset'); describe("CSS3 Transition", function () { it("should generate a transition", function (done) { - render(ruleset('$experimental-support-for-mozilla: false; $experimental-support-for-opera: false; @include transition(ok 0s);'), function(output, err) { + render(ruleset('$experimental-support-for-mozilla: false !global; $experimental-support-for-opera: false !global; @include transition(ok 0s);'), function(output, err) { expect(output).toBe(ruleset('-webkit-transition:ok 0s;transition:ok 0s')); done(); }, ['compass/css3/transition']); diff --git a/test/functionsSpec.js b/test/functionsSpec.js index 9e12c92..6bb4622 100644 --- a/test/functionsSpec.js +++ b/test/functionsSpec.js @@ -80,7 +80,7 @@ describe("Cross Browser Functions", function () { it("should prefix a list of complex properties", function(done) { render(property('prefix(-webkit, linear-gradient(-45deg, rgb(0,0,0) 25%, transparent 75%, transparent), linear-gradient(-45deg, #000 25%, transparent 75%, transparent))'), function(output, err) { - expect(output).toBe(property('-webkit-linear-gradient(-45deg, #000000 25%, transparent 75%, transparent),-webkit-linear-gradient(-45deg, #000 25%, transparent 75%, transparent)')); + expect(output).toBe(property('-webkit-linear-gradient(-45deg, #000 25%, transparent 75%, transparent),-webkit-linear-gradient(-45deg, #000 25%, transparent 75%, transparent)')); done(); }); }); @@ -126,7 +126,7 @@ describe("Gradient Functions", function () { it("should prefix a list with color stops", function(done) { render(property('prefix(-webkit, linear-gradient(-45deg, color-stops(rgb(0,0,0) 25%, transparent 75%, transparent)), linear-gradient(-45deg, color-stops(#000 25%, transparent 75%, transparent)))'), function(output, err) { - expect(output).toBe(property('-webkit-linear-gradient(-45deg, #000000 25%, transparent 75%, transparent),-webkit-linear-gradient(-45deg, #000 25%, transparent 75%, transparent)')); + expect(output).toBe(property('-webkit-linear-gradient(-45deg, #000 25%,transparent 75%,transparent),-webkit-linear-gradient(-45deg, #000 25%,transparent 75%,transparent)')); done(); }); }); diff --git a/test/helper/render.js b/test/helper/render.js index 4bff2f9..66e3ae0 100644 --- a/test/helper/render.js +++ b/test/helper/render.js @@ -8,12 +8,13 @@ module.exports = function(data, callback, imports) { sass.render({ data: '@import "'+libDir+'/compass/functions";' + imports.join('') + data, outputStyle: 'compressed', - success: function(output){ - callback(output.css); - }, - error: function(err){ + includePaths: [__dirname], + }, function(err, output) { + if (err) { console.log(chalk.red("Sass error:"), err); callback('', err); + } else { + callback(output.css.toString().trim()); } }); }