about summary refs log tree commit diff
path: root/tests/lang/eval-okay-strings-as-attrs-names.nix
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2011-07-13T15·53+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2011-07-13T15·53+0000
commitd5d4dcd4c988363beb2bb408ac31750e4c027176 (patch)
treef178a6260ba4eb62f158b97f09e0615e547b67d8 /tests/lang/eval-okay-strings-as-attrs-names.nix
parente649f3168bb03053c8201489ca52f9077c0d8b17 (diff)
* Allow attribute names to be strings. Based on the
  allow-arbitrary-strinsg-in-names patch by Marc Weber.

Diffstat (limited to 'tests/lang/eval-okay-strings-as-attrs-names.nix')
-rw-r--r--tests/lang/eval-okay-strings-as-attrs-names.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/lang/eval-okay-strings-as-attrs-names.nix b/tests/lang/eval-okay-strings-as-attrs-names.nix
new file mode 100644
index 000000000000..5e40928dbe31
--- /dev/null
+++ b/tests/lang/eval-okay-strings-as-attrs-names.nix
@@ -0,0 +1,20 @@
+let
+
+  attr = {
+    "key 1" = "test";
+    "key 2" = "caseok";
+  };
+
+  t1 = builtins.getAttr "key 1" attr;
+  t2 = attr."key 2";
+  t3 = attr ? "key 1";
+  t4 = builtins.attrNames { inherit (attr) "key 1"; };
+
+  # This is permitted, but there is currently no way to reference this
+  # variable.
+  "foo bar" = 1;
+
+in t1 == "test"
+   && t2 == "caseok"
+   && t3 == true
+   && t4 == ["key 1"]