github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/shell/history/colon_test.go (about) 1 package history 2 3 import ( 4 "testing" 5 6 "github.com/lmorg/murex/test/count" 7 ) 8 9 func TestNoColon(t *testing.T) { 10 tests := []string{ 11 "command param1 param2 param3", 12 "command: param1 param2 param3", 13 "command : param1 param2 param3", 14 "command :param1 param2 param3", 15 "comman:d param1 param2 param3", 16 "command param1: param2 param3", 17 "command param1: param2: param3", 18 "command param1: param2: param3:", 19 "command: param1: param2: param3:", 20 ":command param1 param2 param3", 21 ":command: param1 param2 param3", 22 23 "command 1 2 3", 24 "command: 1 2 3", 25 "command : 1 2 3", 26 "command :1 2 3", 27 "comman:d 1 2 3", 28 "command 1: 2 3", 29 "command 1: 2: 3", 30 "command 1: 2: 3:", 31 "command: 1: 2: 3:", 32 ":command 1 2 3", 33 ":command: 1 2 3", 34 35 ":q", 36 ":q:", 37 ":q param1", 38 ":q: param1", 39 40 "c param1 param2 param3", 41 "c: param1 param2 param3", 42 "c : param1 param2 param3", 43 "c :param1 param2 param3", 44 "c:d param1 param2 param3", 45 "c param1: param2 param3", 46 "c param1: param2: param3", 47 "c param1: param2: param3:", 48 "c: param1: param2: param3:", 49 ":c param1 param2 param3", 50 ":c: param1 param2 param3", 51 52 ":command param1 param2 param3", 53 ":command: param1 param2 param3", 54 ":command : param1 param2 param3", 55 ":command :param1 param2 param3", 56 ":comman:d param1 param2 param3", 57 ":command param1: param2 param3", 58 ":command param1: param2: param3", 59 ":command param1: param2: param3:", 60 ":command: param1: param2: param3:", 61 "::command param1 param2 param3", 62 "::command: param1 param2 param3", 63 64 ":c param1 param2 param3", 65 ":c: param1 param2 param3", 66 ":c : param1 param2 param3", 67 ":c :param1 param2 param3", 68 ":c:d param1 param2 param3", 69 ":c param1: param2 param3", 70 ":c param1: param2: param3", 71 ":c param1: param2: param3:", 72 ":c: param1: param2: param3:", 73 "::c param1 param2 param3", 74 "::c: param1 param2 param3", 75 } 76 77 expected := []string{ 78 "command param1 param2 param3", 79 "command param1 param2 param3", 80 "command : param1 param2 param3", 81 "command :param1 param2 param3", 82 "comman d param1 param2 param3", 83 "command param1: param2 param3", 84 "command param1: param2: param3", 85 "command param1: param2: param3:", 86 "command param1: param2: param3:", 87 "command param1 param2 param3", 88 "command param1 param2 param3", 89 90 "command 1 2 3", 91 "command 1 2 3", 92 "command : 1 2 3", 93 "command :1 2 3", 94 "comman d 1 2 3", 95 "command 1: 2 3", 96 "command 1: 2: 3", 97 "command 1: 2: 3:", 98 "command 1: 2: 3:", 99 "command 1 2 3", 100 "command 1 2 3", 101 102 "q", 103 "q", 104 "q param1", 105 "q param1", 106 107 "c param1 param2 param3", 108 "c param1 param2 param3", 109 "c : param1 param2 param3", 110 "c :param1 param2 param3", 111 "c d param1 param2 param3", 112 "c param1: param2 param3", 113 "c param1: param2: param3", 114 "c param1: param2: param3:", 115 "c param1: param2: param3:", 116 "c param1 param2 param3", 117 "c param1 param2 param3", 118 119 "command param1 param2 param3", 120 "command param1 param2 param3", 121 "command : param1 param2 param3", 122 "command :param1 param2 param3", 123 "comman d param1 param2 param3", 124 "command param1: param2 param3", 125 "command param1: param2: param3", 126 "command param1: param2: param3:", 127 "command param1: param2: param3:", 128 ":command param1 param2 param3", 129 ":command param1 param2 param3", 130 131 "c param1 param2 param3", 132 "c param1 param2 param3", 133 "c : param1 param2 param3", 134 "c :param1 param2 param3", 135 "c d param1 param2 param3", 136 "c param1: param2 param3", 137 "c param1: param2: param3", 138 "c param1: param2: param3:", 139 "c param1: param2: param3:", 140 ":c param1 param2 param3", 141 ":c param1 param2 param3", 142 } 143 144 count.Tests(t, len(tests)) 145 146 for i := range tests { 147 actual := noColon(tests[i]) 148 if actual != expected[i] { 149 t.Errorf("Output does not match expected in test %d:", i) 150 t.Log(" Original:", tests[i]) 151 t.Log(" Expected:", expected[i]) 152 t.Log(" Actual: ", actual) 153 } 154 } 155 }