Files

33 lines
841 B
Go

// Copyright (c) 2026 Storm Dragon
// SPDX-License-Identifier: GPL-3.0-or-later
package config
import (
"path/filepath"
"reflect"
"testing"
)
func TestPromptSettingsValidationAndSave(t *testing.T) {
settings, err := Decode([]byte("version = 3\n[prompt]\nexact_matches = ['READY']\ncustom_patterns = ['^Device [0-9]+ ready:$']\n"))
if err != nil {
t.Fatal(err)
}
path := filepath.Join(t.TempDir(), "settings.toml")
doc, err := Open_document(path, settings)
if err != nil {
t.Fatal(err)
}
if err := doc.Save(settings); err != nil {
t.Fatal(err)
}
loaded, _, err := Load(path, nil)
if err != nil || !reflect.DeepEqual(loaded.Prompt, settings.Prompt) {
t.Fatal(loaded.Prompt, err)
}
if _, err := Decode([]byte("version = 3\n[prompt]\ncustom_patterns = ['[']\n")); err == nil {
t.Fatal("invalid regex accepted")
}
}