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.