lix/tests/functional/lang/eval-okay-strings-as-attrs-names.nix
John Ericson 30dcc19d1f Put functional tests in tests/functional
I think it is bad for these reasons when `tests/` contains a mix of
functional and integration tests

 - Concepts is harder to understand, the documentation makes a good
   unit vs functional vs integration distinction, but when the
   integration tests are just two subdirs within `tests/` this is not
   clear.

 - Source filtering in the `flake.nix` is more complex. We need to
   filter out some of the dirs from `tests/`, rather than simply pick
   the dirs we want and take all of them. This is a good sign the
   structure of what we are trying to do is not matching the structure
   of the files.

With this change we have a clean:
```shell-session
$ git show 'HEAD:tests'
tree HEAD:tests

functional/
installer/
nixos/
```

(cherry picked from commit 68c81c737571794f7246db53fb4774e94fcf4b7e)
2023-12-01 12:06:43 -05:00

21 lines
385 B
Nix

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"]