diff --git a/packages/@vue/cli-service/__tests__/css.spec.js b/packages/@vue/cli-service/__tests__/css.spec.js index ab405e1dee..e257beccfa 100644 --- a/packages/@vue/cli-service/__tests__/css.spec.js +++ b/packages/@vue/cli-service/__tests__/css.spec.js @@ -62,7 +62,7 @@ test('default loaders', () => { }) }) // sass indented syntax - expect(findOptions(config, 'sass', 'sass')).toEqual({ indentedSyntax: true, sourceMap: false }) + expect(findOptions(config, 'sass', 'sass')).toMatchObject({ indentedSyntax: true, sourceMap: false }) }) test('production defaults', () => { @@ -193,8 +193,14 @@ test('css.loaderOptions', () => { } }) - expect(findOptions(config, 'scss', 'sass')).toEqual({ data, sourceMap: false }) - expect(findOptions(config, 'sass', 'sass')).toEqual({ data, indentedSyntax: true, sourceMap: false }) + expect(findOptions(config, 'scss', 'sass')).toMatchObject({ data, sourceMap: false }) + expect(findOptions(config, 'sass', 'sass')).toMatchObject({ data, indentedSyntax: true, sourceMap: false }) +}) + +test('should use dart sass implementation whenever possible', () => { + const config = genConfig() + expect(findOptions(config, 'scss', 'sass')).toMatchObject({ fiber: require('fibers'), implementation: require('sass') }) + expect(findOptions(config, 'sass', 'sass')).toMatchObject({ fiber: require('fibers'), implementation: require('sass') }) }) test('skip postcss-loader if no postcss config found', () => { diff --git a/packages/@vue/cli-service/__tests__/generator.spec.js b/packages/@vue/cli-service/__tests__/generator.spec.js new file mode 100644 index 0000000000..c04283884a --- /dev/null +++ b/packages/@vue/cli-service/__tests__/generator.spec.js @@ -0,0 +1,47 @@ +const generateWithPlugin = require('@vue/cli-test-utils/generateWithPlugin') + +test('node sass (legacy)', async () => { + const { pkg, files } = await generateWithPlugin([ + { + id: '@vue/cli-service', + apply: require('../generator'), + options: { + cssPreprocessor: 'sass' + } + } + ]) + + expect(files['src/App.vue']).toMatch('