(t *testing.T)
| 154 | } |
| 155 | |
| 156 | func TestRangeStartIndex(t *testing.T) { |
| 157 | for _, tc := range []struct { |
| 158 | name string |
| 159 | r string |
| 160 | want int64 |
| 161 | expectedError string |
| 162 | }{ |
| 163 | { |
| 164 | name: "no range header", |
| 165 | r: "", |
| 166 | want: 0, |
| 167 | expectedError: "no range header", |
| 168 | }, |
| 169 | { |
| 170 | name: "invalid range format", |
| 171 | r: "bytes=0", |
| 172 | want: 0, |
| 173 | expectedError: "invalid range format", |
| 174 | }, |
| 175 | { |
| 176 | name: "invalid range format", |
| 177 | r: "bytes=0-", |
| 178 | want: 0, |
| 179 | expectedError: "invalid range format", |
| 180 | }, |
| 181 | { |
| 182 | name: "invalid range format", |
| 183 | r: "bytes=0-100-200", |
| 184 | want: 0, |
| 185 | expectedError: "invalid range format", |
| 186 | }, |
| 187 | { |
| 188 | name: "valid range format", |
| 189 | r: "bytes=91-100", |
| 190 | want: 91, |
| 191 | expectedError: "", |
| 192 | }, |
| 193 | { |
| 194 | name: "invalid range format", |
| 195 | r: "count=91-100", |
| 196 | want: 0, |
| 197 | expectedError: "invalid range format", |
| 198 | }, |
| 199 | { |
| 200 | name: "invalid range format", |
| 201 | r: "bytes=9.1-100", |
| 202 | want: 0, |
| 203 | expectedError: "strconv.Atoi: parsing \"9.1\": invalid syntax", |
| 204 | }, |
| 205 | } { |
| 206 | t.Run(tc.name, func(t *testing.T) { |
| 207 | got, err := RangeStartIndex(tc.r) |
| 208 | if err != nil { |
| 209 | if err.Error() != tc.expectedError { |
| 210 | t.Errorf("expected: %v, got: %v", tc.expectedError, err.Error()) |
| 211 | } |
| 212 | } else if got != tc.want { |
| 213 | t.Errorf("expected: %v, got: %v", tc.want, got) |
nothing calls this directly
no test coverage detected