about summary refs log tree commit diff
path: root/pkgs/pkgs-lib/tests
diff options
context:
space:
mode:
authorFrancesco Gazzetta <fgaz@fgaz.me>2022-05-25 17:07:42 +0200
committerFrancesco Gazzetta <fgaz@fgaz.me>2022-06-20 22:36:29 +0200
commit0d2842a4353f55eb2fc79ec7ad6490c1f5a2b88e (patch)
treefbc1f66913f79582831f964b8bf87cea7aab9aa9 /pkgs/pkgs-lib/tests
parent3ff9245301a38b3e2cd344e3296e724b9dc95e40 (diff)
formats.keyValue: add tests
Diffstat (limited to 'pkgs/pkgs-lib/tests')
-rw-r--r--pkgs/pkgs-lib/tests/formats.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix
index dba7f981cbd9a..80df247f7b6af 100644
--- a/pkgs/pkgs-lib/tests/formats.nix
+++ b/pkgs/pkgs-lib/tests/formats.nix
@@ -147,6 +147,51 @@ in runBuildTests {
     '';
   };
 
+  testKeyValueAtoms = {
+    drv = evalFormat formats.keyValue {} {
+      bool = true;
+      int = 10;
+      float = 3.141;
+      str = "string";
+    };
+    expected = ''
+      bool=true
+      float=3.141000
+      int=10
+      str=string
+    '';
+  };
+
+  testKeyValueDuplicateKeys = {
+    drv = evalFormat formats.keyValue { listsAsDuplicateKeys = true; } {
+      bar = [ null true "test" 1.2 10 ];
+      baz = false;
+      qux = "qux";
+    };
+    expected = ''
+      bar=null
+      bar=true
+      bar=test
+      bar=1.200000
+      bar=10
+      baz=false
+      qux=qux
+    '';
+  };
+
+  testKeyValueListToValue = {
+    drv = evalFormat formats.keyValue { listToValue = concatMapStringsSep ", " (generators.mkValueStringDefault {}); } {
+      bar = [ null true "test" 1.2 10 ];
+      baz = false;
+      qux = "qux";
+    };
+    expected = ''
+      bar=null, true, test, 1.200000, 10
+      baz=false
+      qux=qux
+    '';
+  };
+
   testTomlAtoms = {
     drv = evalFormat formats.toml {} {
       false = false;