« index
Coverage for /Users/kris/q-io/spec/fs/mock/write-spec.js : 100%
68 lines |
68 run |
0 missing |
0 partial |
21 blocks |
21 blocks run |
0 blocks missing
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 | "use strict"; require("../../lib/jasmine-promise"); var Q = require("q"); var FS = require("../../../fs"); /*global describe,it,expect */ describe("write", function () { it("should write a file to a mock filesystem", function () { return FS.mock(FS.join(__dirname, "fixture")) .then(function (mock) { return Q.fcall(function () { return mock.write("hello.txt", "Goodbye!\n"); }) .then(function () { return mock.isFile("hello.txt"); }) .then(function (isFile) { expect(isFile).toBe(true); }); }); }); it("takes a flags argument", function () { return FS.mock(FS.join(__dirname, "fixture")) .then(function (mock) { return Q.fcall(function () { return mock.write("hello.txt", "Goodbye!\n", "a"); }) .then(function () { return mock.read("hello.txt"); }) .then(function (contents) { expect(contents).toBe("Hello, World!\nGoodbye!\n"); }); }); }); it("takes an options object with flags", function () { return FS.mock(FS.join(__dirname, "fixture")) .then(function (mock) { return Q.fcall(function () { return mock.write("hello.txt", "Goodbye!\n", { flags: "a" }); }) .then(function () { return mock.read("hello.txt"); }) .then(function (contents) { expect(contents).toBe("Hello, World!\nGoodbye!\n"); }); }); }); it("calls open correctly", function () { return FS.mock(FS.join(__dirname, "fixture")) .then(function (mock) { mock.open = function (path, options) { expect(path).toBe("hello.txt"); expect(options.flags).toBe("wa"); expect(options.charset).toBe("utf8"); return Q.resolve({write: function () {}, close: function () {}}); }; return mock.write("hello.txt", "Goodbye!\n", "a", "utf8"); }); }); }); |