summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/bin/node-scripts/test.ini.js
blob: 07bd15d1fde50c8548e71e232798abd954759fe9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";

var fs = require("fs");
var path = require("path");
var Promise = require("promise");
var chai = require("chai");
var expect = chai.expect;
var ini = require("./update-ini");

var addonINI = path.resolve("./test/addons/jetpack-addon.ini");
var packageINI = path.resolve("./test/jetpack-package.ini");

describe("Checking ini files", function () {

  it("Check test/addons/jetpack-addon.ini", function (done) {

    fs.readFile(addonINI, function (err, data) {
      if (err) {
        throw err;
      }
      // filter comments
      var text = data.toString().split("\n").filter(function(line) {
        return !/^\s*#/.test(line);
      }).join("\n");
      var expected = "";

      ini.makeAddonIniContent()
      .then(function(contents) {
        expected = contents;

        setTimeout(function end() {
          expect(text.trim()).to.be.equal(expected.trim());
          done();
        });
      });
    });

  });

  it("Check test/jetpack-package.ini", function (done) {

    fs.readFile(packageINI, function (err, data) {
      if (err) {
        throw err;
      }
      // filter comments
      var text = data.toString().split("\n").filter(function(line) {
        return !/^\s*#/.test(line);
      }).join("\n");
      var expected = "";

      ini.makePackageIniContent()
      .then(function(contents) {
        expected = contents;

        setTimeout(function end() {
          expect(text.trim()).to.be.equal(expected.trim());
          done();
        });
      });
    });

  });

});