« index

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

66 lines | 66 run | 0 missing | 0 partial | 9 blocks | 9 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

  "use strict";
  
  require("../../lib/jasmine-promise");
  var Q = require("q");
  var FS = require("../../../fs");
  var Mock = require("../../../fs-mock");
  var normalize = FS.normal;
  
  describe("makeTree", function () {
      it("should make a branch of a tree", function () {
  
          var merged = FS.merge([
              Mock({
                  "a": 10,
                  "b": 20,
                  "1/2/3": "123"
              }),
              Mock({
                  "a": 20,
                  "c": 30
              }),
              Mock({
                  "a": 30,
                  "d": 40
              }),
          ])
  
          return merged.then(function (merged) {
  
              return Q.fcall(function () {
                  return merged.listTree();
              })
              .then(function (list) {
                  expect(list.sort()).toEqual([
                      ".",
                      "1",
                      normalize("1/2"),
                      normalize("1/2/3"),
                      "a",
                      "b",
                      "c",
                      "d",
                  ]);
              })
  
              // overridden by a previous tree
              .then(function () {
                  return merged.read("a");
              })
              .then(function (a) {
                  expect(a).toBe("30");
              })
  
              // not overridden
              .then(function () {
                  return merged.read("b");
              })
              .then(function (a) {
                  expect(a).toBe("20");
              })
  
          })
  
      });
  
  });
« index | cover.io