aboutsummaryrefslogtreecommitdiff
path: root/tests/functional
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional')
-rw-r--r--tests/functional/repl_characterization/data/repl_printing.test92
-rw-r--r--tests/functional/repl_characterization/repl_characterization.cc1
2 files changed, 93 insertions, 0 deletions
diff --git a/tests/functional/repl_characterization/data/repl_printing.test b/tests/functional/repl_characterization/data/repl_printing.test
new file mode 100644
index 000000000..1206281e7
--- /dev/null
+++ b/tests/functional/repl_characterization/data/repl_printing.test
@@ -0,0 +1,92 @@
+Printing a string with escapes in it will render as a string normally.
+
+ nix-repl> "meow\n\nmeowmeowmeow"
+ "meow\n\nmeowmeowmeow"
+
+But with :p on the string itself it will print it literally to the output.
+
+ nix-repl> :p "meow\n\nmeowmeowmeow"
+ meow
+
+ meowmeowmeow
+
+ nix-repl> builtins.listToAttrs (builtins.genList (x: { name = "meow${toString x}"; value = { meow = { inherit x; s = "meowmeow\n\n${toString x}"; }; }; }) 10)
+ {
+ meow0 = { ... };
+ meow1 = { ... };
+ meow2 = { ... };
+ meow3 = { ... };
+ meow4 = { ... };
+ meow5 = { ... };
+ meow6 = { ... };
+ meow7 = { ... };
+ meow8 = { ... };
+ meow9 = { ... };
+ }
+
+Also, :p will expand attrs, but it will leave the strings escaped as normal if
+they aren't the top level item being printed.
+
+ nix-repl> :p builtins.listToAttrs (builtins.genList (x: { name = "meow${toString x}"; value = { meow = { inherit x; s = "meowmeow\n\n${toString x}"; }; }; }) 10)
+ {
+ meow0 = {
+ meow = {
+ s = "meowmeow\n\n0";
+ x = 0;
+ };
+ };
+ meow1 = {
+ meow = {
+ s = "meowmeow\n\n1";
+ x = 1;
+ };
+ };
+ meow2 = {
+ meow = {
+ s = "meowmeow\n\n2";
+ x = 2;
+ };
+ };
+ meow3 = {
+ meow = {
+ s = "meowmeow\n\n3";
+ x = 3;
+ };
+ };
+ meow4 = {
+ meow = {
+ s = "meowmeow\n\n4";
+ x = 4;
+ };
+ };
+ meow5 = {
+ meow = {
+ s = "meowmeow\n\n5";
+ x = 5;
+ };
+ };
+ meow6 = {
+ meow = {
+ s = "meowmeow\n\n6";
+ x = 6;
+ };
+ };
+ meow7 = {
+ meow = {
+ s = "meowmeow\n\n7";
+ x = 7;
+ };
+ };
+ meow8 = {
+ meow = {
+ s = "meowmeow\n\n8";
+ x = 8;
+ };
+ };
+ meow9 = {
+ meow = {
+ s = "meowmeow\n\n9";
+ x = 9;
+ };
+ };
+ }
diff --git a/tests/functional/repl_characterization/repl_characterization.cc b/tests/functional/repl_characterization/repl_characterization.cc
index fa5a7ba74..ae4d4030f 100644
--- a/tests/functional/repl_characterization/repl_characterization.cc
+++ b/tests/functional/repl_characterization/repl_characterization.cc
@@ -185,5 +185,6 @@ REPL_TEST(regression_9917);
REPL_TEST(regression_9918);
REPL_TEST(regression_l145);
REPL_TEST(stack_vars);
+REPL_TEST(repl_printing);
}; // namespace nix