summary refs log tree commit diff
path: root/lib/tests/misc.nix
diff options
context:
space:
mode:
authorEmil "AngryAnt" Johansen <git@eej.dk>2023-03-27 16:27:07 +0200
committerEmil "AngryAnt" Johansen <git@eej.dk>2023-03-27 19:25:38 +0200
commit63a8c43d0954cf290aa18ae92738a76f8758d463 (patch)
tree55707446d78166d3fa89c1e09bac8adba23fcd3a /lib/tests/misc.nix
parent03ceb367b77c88d99d31af840b15b06b1ee44428 (diff)
downloadnixpkgs-63a8c43d0954cf290aa18ae92738a76f8758d463.tar
nixpkgs-63a8c43d0954cf290aa18ae92738a76f8758d463.tar.gz
nixpkgs-63a8c43d0954cf290aa18ae92738a76f8758d463.tar.bz2
nixpkgs-63a8c43d0954cf290aa18ae92738a76f8758d463.tar.lz
nixpkgs-63a8c43d0954cf290aa18ae92738a76f8758d463.tar.xz
nixpkgs-63a8c43d0954cf290aa18ae92738a76f8758d463.tar.zst
nixpkgs-63a8c43d0954cf290aa18ae92738a76f8758d463.zip
lib.toPlist: basic test coverage
Diffstat (limited to 'lib/tests/misc.nix')
-rw-r--r--lib/tests/misc.nix69
1 files changed, 69 insertions, 0 deletions
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index baa382f3e58..d7173bbf3a3 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -914,6 +914,75 @@ runTests {
     expected  = "«foo»";
   };
 
+  testToPlist =
+    let
+      deriv = derivation { name = "test"; builder = "/bin/sh"; system = "aarch64-linux"; };
+    in {
+    expr = mapAttrs (const (generators.toPlist { })) {
+      value = {
+        nested.values = rec {
+          int = 42;
+          float = 0.1337;
+          bool = true;
+          emptystring = "";
+          string = "fn\${o}\"r\\d";
+          newlinestring = "\n";
+          path = /. + "/foo";
+          null_ = null;
+          list = [ 3 4 "test" ];
+          emptylist = [];
+          attrs = { foo = null; "foo b/ar" = "baz"; };
+          emptyattrs = {};
+        };
+      };
+    };
+    expected = { value = ''<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>nested</key>
+	<dict>
+		<key>values</key>
+		<dict>
+			<key>attrs</key>
+			<dict>
+				<key>foo b/ar</key>
+				<string>baz</string>
+			</dict>
+			<key>bool</key>
+			<true/>
+			<key>emptyattrs</key>
+			<dict>
+
+			</dict>
+			<key>emptylist</key>
+			<array>
+
+			</array>
+			<key>emptystring</key>
+			<string></string>
+			<key>float</key>
+			<real>0.133700</real>
+			<key>int</key>
+			<integer>42</integer>
+			<key>list</key>
+			<array>
+				<integer>3</integer>
+				<integer>4</integer>
+				<string>test</string>
+			</array>
+			<key>newlinestring</key>
+			<string>
+</string>
+			<key>path</key>
+			<string>/foo</string>
+			<key>string</key>
+			<string>fn''${o}"r\d</string>
+		</dict>
+	</dict>
+</dict>
+</plist>''; };
+  };
 
 # CLI