Files
jarl/internal/namedconf/printer_test.go
T
adamandClaude Opus 5.5 ad8eb3fc3d Show and edit option values laid out as in named.conf
Values with blocks (logging, controls, ...) are shown over several lines
with indentation, and edited that way: the editor grows with its content,
Tab indents, Enter keeps the indentation. With a draft open, option tables
show the draft's values.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 11:55:41 +00:00

19 lines
789 B
Go

package namedconf
import "testing"
func TestFormatValue(t *testing.T) {
for _, c := range []struct{ name, value, want string }{
{"logging", `{ channel c { file "/var/log/named/x.log" versions 3; print-time yes; }; category default { c; }; }`,
// A short inner block stays on one line, as in named.conf.
"{\n\tchannel c { file \"/var/log/named/x.log\" versions 3; print-time yes; };\n\tcategory default { c; };\n}"},
{"allow-query", `{ allowed_clients; }`, `{ allowed_clients; }`}, // short: unchanged
{"directory", `"/var/cache/bind"`, `"/var/cache/bind"`},
{"logging", `{ broken`, `{ broken`}, // unparsable: as it is
} {
if got := FormatValue(c.name, c.value); got != c.want {
t.Errorf("FormatValue(%s, %q) =\n%s\nwant\n%s", c.name, c.value, got, c.want)
}
}
}