diff options
author | Emil "AngryAnt" Johansen <git@eej.dk> | 2023-03-27 16:27:07 +0200 |
---|---|---|
committer | Emil "AngryAnt" Johansen <git@eej.dk> | 2023-03-27 19:25:38 +0200 |
commit | 63a8c43d0954cf290aa18ae92738a76f8758d463 (patch) | |
tree | 55707446d78166d3fa89c1e09bac8adba23fcd3a | |
parent | 03ceb367b77c88d99d31af840b15b06b1ee44428 (diff) |
lib.toPlist: basic test coverage
-rw-r--r-- | lib/tests/misc.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index baa382f3e589c..d7173bbf3a3d2 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 |