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.