nix-helpers: c08b1bb82874feeed2935ae18b886998d31b32cd
1: {
2: collapseAttrs,
3: die,
4: hello,
5: }:
6:
7: with rec {
8: scalar = 42;
9: scalarResult = collapseAttrs scalar;
10: empty = collapseAttrs { };
11: scalars = {
12: x = null;
13: y = 42;
14: };
15: scalarsResult = collapseAttrs scalars;
16: single = {
17: x = {
18: y = null;
19: };
20: };
21: singleResult = collapseAttrs single;
22: singleWant = {
23: "x.y" = null;
24: };
25: multi = {
26: x = 42;
27: y = {
28: x = {
29: "a.b" = 123;
30: p = [ hello ];
31: };
32: };
33: };
34: multiResult = collapseAttrs multi;
35: multiWant = {
36: x = 42;
37: "y.x.a.b" = 123;
38: "y.x.p" = [ hello ];
39: };
40: };
41: assert
42: scalar == scalarResult
43: || die {
44: inherit scalar scalarResult;
45: error = "Collapsing non-set shouldn't change value";
46: };
47: assert
48: empty == { }
49: || die {
50: inherit empty;
51: error = "Collapsing empty set should give an empty set";
52: };
53: assert
54: scalarsResult == scalars
55: || die {
56: inherit scalars scalarsResult;
57: error = "Collapsing scalars shouldn't change them";
58: };
59: assert
60: singleResult == singleWant
61: || die {
62: inherit single singleResult singleWant;
63: error = "Didn't collapse single entries properly";
64: };
65: assert
66: multiWant == multiResult
67: || die {
68: inherit multi multiResult multiWant;
69: error = "Didn't collapse multiple entries properly";
70: };
71: { }
Generated by git2html.