UNPKG

3.09 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: Config file test", function() {
13 var mockTask;
14
15 beforeEach(function(done) {
16 grunt.file.mkdir("tmp/configFile");
17 ncp("test/fixtures/configFile", "tmp/configFile", 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/configFile/" + actualFile,
27 expected = grunt.file.read("tmp/configFile/" + 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 settings from config file", function(done) {
32 var task;
33 mockTask = createMockTask({
34 config: "tmp/configFile/jsbeautifyrc.json"
35 }, ["tmp/configFile/test.js", "tmp/configFile/test.css", "tmp/configFile/test.html"], function() {
36 assertBeautifiedFile("test.js", "expected/test_expected.js");
37 assertBeautifiedFile("test.css", "expected/test_expected.css");
38 assertBeautifiedFile("test.html", "expected/test_expected.html");
39 done();
40 });
41
42 task = new JsBeautifierTask(mockTask);
43 task.run();
44 });
45
46 it("beautification of js, css & html file using settings from flat config file", function(done) {
47 var task;
48 mockTask = createMockTask({
49 config: "tmp/configFile/jsbeautifyrc_flat.json"
50 }, ["tmp/configFile/test.js", "tmp/configFile/test.css", "tmp/configFile/test.html"], function() {
51 assertBeautifiedFile("test.js", "expected/test_expected.js");
52 assertBeautifiedFile("test.css", "expected/test_expected.css");
53 assertBeautifiedFile("test.html", "expected/test_expected.html");
54 done();
55 });
56
57 task = new JsBeautifierTask(mockTask);
58 task.run();
59 });
60
61 it("beautification of js, css & html file using settings from config file and gruntfile", function(done) {
62 var task;
63 mockTask = createMockTask({
64 config: "tmp/configFile/jsbeautifyrc_flat.json",
65 css: {
66 indentSize: 5
67 },
68 html: {
69 indentSize: 7
70 }
71 }, ["tmp/configFile/test.js", "tmp/configFile/test.css", "tmp/configFile/test.html"], function() {
72 assertBeautifiedFile("test.js", "expected/withGruntFileOptions/test_expected.js");
73 assertBeautifiedFile("test.css", "expected/withGruntFileOptions/test_expected.css");
74 assertBeautifiedFile("test.html", "expected/withGruntFileOptions/test_expected.html");
75 done();
76 });
77
78 task = new JsBeautifierTask(mockTask);
79 task.run();
80 });
81});