1 | "use strict";
|
2 |
|
3 | var 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 |
|
10 | chai.use(require('chai-fs'));
|
11 |
|
12 | describe("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 | });
|