github.com/mutagen-io/mutagen@v0.18.0-rc1/pkg/prompting/response_mode_test.go (about) 1 package prompting 2 3 import ( 4 "testing" 5 ) 6 7 // TestDetermineResponseMode tests determineResponseMode. 8 func TestDetermineResponseMode(t *testing.T) { 9 // Set up test cases. 10 testCases := []struct { 11 prompt string 12 expected ResponseMode 13 }{ 14 {"Question? (yes/no)? ", ResponseModeEcho}, 15 {"Question? (yes/no): ", ResponseModeEcho}, 16 {"Question? (yes/no/[fingerprint])? ", ResponseModeEcho}, 17 {"Please type 'yes', 'no' or the fingerprint: ", ResponseModeEcho}, 18 {"Give me your password: ", ResponseModeSecret}, 19 } 20 21 // Perform tests. 22 for _, testCase := range testCases { 23 if mode := determineResponseMode(testCase.prompt); mode != testCase.expected { 24 t.Errorf("prompt ('%s') response mode does not match expected: %v != %v", testCase.prompt, mode, testCase.expected) 25 } 26 } 27 }