diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2021-08-26 00:28:49 +0200 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2021-08-26 00:28:49 +0200 |
commit | 5773ae93f75cfd504d7971c1b26955fa50a00744 (patch) | |
tree | d5f19ba068e4efee4f711e1dad969cf3b3c61470 /lib/tests | |
parent | b6d3c9f821b704fbfb68d20a76520fa9e160df36 (diff) | |
download | nixpkgs-5773ae93f75cfd504d7971c1b26955fa50a00744.tar nixpkgs-5773ae93f75cfd504d7971c1b26955fa50a00744.tar.gz nixpkgs-5773ae93f75cfd504d7971c1b26955fa50a00744.tar.bz2 nixpkgs-5773ae93f75cfd504d7971c1b26955fa50a00744.tar.lz nixpkgs-5773ae93f75cfd504d7971c1b26955fa50a00744.tar.xz nixpkgs-5773ae93f75cfd504d7971c1b26955fa50a00744.tar.zst nixpkgs-5773ae93f75cfd504d7971c1b26955fa50a00744.zip |
lib/generators: move limit detection into `withRecursion`
As suggested in #131205. Now it's possible to pretty-print a value with `lib.generators` like this: with lib.generators; toPretty { } (withRecursion { depthLimit = 10; } /* arbitrarily complex value */) Also, this can be used for any other pretty-printer now if needed.
Diffstat (limited to 'lib/tests')
-rw-r--r-- | lib/tests/misc.nix | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index 110716ca691..00eeaa2a77d 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -534,8 +534,8 @@ runTests { a.b = 1; a.c = a; in { - expr = generators.toPretty { depthLimit = 2; } a; - expected = "{\n b = 1;\n c = {\n b = 1;\n c = {\n b = <unevaluated>;\n c = <unevaluated>;\n };\n };\n}"; + expr = generators.toPretty { } (generators.withRecursion { throwOnDepthLimit = false; depthLimit = 2; } a); + expected = "{\n b = 1;\n c = {\n b = \"<unevaluated>\";\n c = {\n b = \"<unevaluated>\";\n c = \"<unevaluated>\";\n };\n };\n}"; }; testToPrettyLimitThrow = @@ -543,7 +543,8 @@ runTests { a.b = 1; a.c = a; in { - expr = (builtins.tryEval (generators.toPretty { depthLimit = 2; throwOnDepthLimit = true; } a)).success; + expr = (builtins.tryEval + (generators.toPretty { } (generators.withRecursion { depthLimit = 2; } a))).success; expected = false; }; |