« index

Coverage for /Users/kris/q-io/spec/fs/mock/append-spec.js : 100%

40 lines | 40 run | 0 missing | 0 partial | 11 blocks | 11 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

  "use strict";
  
  require("../../lib/jasmine-promise");
  var Q = require("q");
  var FS = require("../../../fs");
  /*global describe,it,expect */
  
  describe("append", function () {
  
      it("appends to a file on a mock filesystem", function () {
          return FS.mock(FS.join(__dirname, "fixture"))
          .then(function (mock) {
              return Q.fcall(function () {
                  return mock.append("hello.txt", "Goodbye!\n");
              })
              .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("w+a");
                  expect(options.charset).toBe("utf8");
  
                  return Q.resolve({write: function () {}, close: function () {}});
              };
  
              return mock.append("hello.txt", "Goodbye!\n", "a", "utf8");
          });
      });
  
  });
« index | cover.io