Initial working version of control-r search

This commit is contained in:
David Dworken
2022-10-16 12:43:16 -07:00
parent 3fb55eb192
commit 5a943c20f1
4 changed files with 90 additions and 21 deletions

View File

@ -144,6 +144,7 @@ func TestParameterized(t *testing.T) {
t.Run("testLocalRedaction/"+tester.ShellName(), func(t *testing.T) { testLocalRedaction(t, tester) })
t.Run("testRemoteRedaction/"+tester.ShellName(), func(t *testing.T) { testRemoteRedaction(t, tester) })
t.Run("testMultipleUsers/"+tester.ShellName(), func(t *testing.T) { testMultipleUsers(t, tester) })
t.Run("testConfigGetSet/"+tester.ShellName(), func(t *testing.T) { testConfigGetSet(t, tester) })
// TODO: Add a test for multi-line history entries
}
}
@ -1545,6 +1546,32 @@ ls /tmp`, randomCmdUuid, randomCmdUuid)
}
}
func testConfigGetSet(t *testing.T, tester shellTester) {
// Setup
defer shared.BackupAndRestore(t)()
installHishtory(t, tester, "")
// Initially is false
out := tester.RunInteractiveShell(t, `hishtory config-get enable-control-r`)
if out != "false" {
t.Fatalf("unexpected config-get output: %#v", out)
}
// Set to true and check
tester.RunInteractiveShell(t, `hishtory config-set enable-control-r true`)
out = tester.RunInteractiveShell(t, `hishtory config-get enable-control-r`)
if out != "true" {
t.Fatalf("unexpected config-get output: %#v", out)
}
// Set to false and check
tester.RunInteractiveShell(t, `hishtory config-set enable-control-r false`)
out = tester.RunInteractiveShell(t, `hishtory config-get enable-control-r`)
if out != "false" {
t.Fatalf("unexpected config-get output: %#v", out)
}
}
type deviceSet struct {
deviceMap *map[device]deviceOp
currentDevice *device