aboutsummaryrefslogtreecommitdiffstats
path: root/test/testdata/eval-okay-intersectAttrs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'test/testdata/eval-okay-intersectAttrs.nix')
-rw-r--r--test/testdata/eval-okay-intersectAttrs.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/testdata/eval-okay-intersectAttrs.nix b/test/testdata/eval-okay-intersectAttrs.nix
new file mode 100644
index 0000000..39d4993
--- /dev/null
+++ b/test/testdata/eval-okay-intersectAttrs.nix
@@ -0,0 +1,50 @@
1let
2 alphabet =
3 { a = "a";
4 b = "b";
5 c = "c";
6 d = "d";
7 e = "e";
8 f = "f";
9 g = "g";
10 h = "h";
11 i = "i";
12 j = "j";
13 k = "k";
14 l = "l";
15 m = "m";
16 n = "n";
17 o = "o";
18 p = "p";
19 q = "q";
20 r = "r";
21 s = "s";
22 t = "t";
23 u = "u";
24 v = "v";
25 w = "w";
26 x = "x";
27 y = "y";
28 z = "z";
29 };
30 foo = {
31 inherit (alphabet) f o b a r z q u x;
32 aa = throw "aa";
33 };
34 alphabetFail = builtins.mapAttrs throw alphabet;
35in
36[ (builtins.intersectAttrs { a = abort "l1"; } { b = abort "r1"; })
37 (builtins.intersectAttrs { a = abort "l2"; } { a = 1; })
38 (builtins.intersectAttrs alphabetFail { a = 1; })
39 (builtins.intersectAttrs { a = abort "laa"; } alphabet)
40 (builtins.intersectAttrs alphabetFail { m = 1; })
41 (builtins.intersectAttrs { m = abort "lam"; } alphabet)
42 (builtins.intersectAttrs alphabetFail { n = 1; })
43 (builtins.intersectAttrs { n = abort "lan"; } alphabet)
44 (builtins.intersectAttrs alphabetFail { n = 1; p = 2; })
45 (builtins.intersectAttrs { n = abort "lan2"; p = abort "lap"; } alphabet)
46 (builtins.intersectAttrs alphabetFail { n = 1; p = 2; })
47 (builtins.intersectAttrs { n = abort "lan2"; p = abort "lap"; } alphabet)
48 (builtins.intersectAttrs alphabetFail alphabet)
49 (builtins.intersectAttrs alphabet foo == builtins.intersectAttrs foo alphabet)
50]