UNPKG

1.94 kBJavaScriptView Raw
1"use strict";
2/*jshint -W079*/
3var chai = require("chai"),
4 expect = chai.expect,
5 ncp = require('ncp').ncp,
6 grunt = require("grunt"),
7 JsBeautifierTask = require("../lib/jsbeautifier"),
8 createMockTask = require("./mockTask");
9
10chai.use(require('chai-fs'));
11/*jshint -W030*/
12describe("JsBeautifier: FileMapping test", function() {
13 var mockTask;
14
15 beforeEach(function(done) {
16 grunt.file.mkdir("tmp/fileMapping");
17 ncp("test/fixtures/fileMapping", "tmp/fileMapping", done);
18 });
19
20 afterEach(function() {
21 mockTask = null;
22 grunt.file.delete("tmp");
23 });
24
25 function assertBeautifiedFile(actualFile, expectedFile) {
26 var actual = "tmp/fileMapping/" + actualFile,
27 expected = grunt.file.read("tmp/fileMapping/" + expectedFile);
28 expect(actual).to.have.content(expected, "should beautify js " + actualFile + " using config file");
29 }
30
31 it("beautification of js, css & html file using file mapping", function(done) {
32 var task;
33 mockTask = createMockTask({
34 js: {
35 fileTypes: [".js.erb"],
36 maxPreserveNewlines: 2
37 },
38 css: {
39 fileTypes: [".css.erb"]
40 },
41 html: {
42 fileTypes: [".html.erb"],
43 preserveNewLines: true,
44 maxPreserveNewlines: 1
45 }
46 }, ["tmp/fileMapping/not-beautified.js.erb", "tmp/fileMapping/not-beautified.css.erb", "tmp/fileMapping/not-beautified.html.erb"], function() {
47 assertBeautifiedFile("not-beautified.js.erb", "expected/beautified.js.erb");
48 assertBeautifiedFile("not-beautified.css.erb", "expected/beautified.css.erb");
49 assertBeautifiedFile("not-beautified.html.erb", "expected/beautified.html.erb");
50 done();
51 });
52
53 task = new JsBeautifierTask(mockTask);
54 task.run();
55 });
56});