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