URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [net/] [http/] [lex_test.go] - Rev 747
Compare with Previous | Blame | View Log
// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package httpimport ("testing")type lexTest struct {Raw stringParsed int // # of parsed charactersResult []string}var lexTests = []lexTest{{Raw: `"abc"def,:ghi`,Parsed: 13,Result: []string{"abcdef", "ghi"},},// My understanding of the RFC is that escape sequences outside of// quotes are not interpreted?{Raw: `"\t"\t"\t"`,Parsed: 10,Result: []string{"\t", "t\t"},},{Raw: `"\yab"\r\n`,Parsed: 10,Result: []string{"?ab", "r", "n"},},{Raw: "ab\f",Parsed: 3,Result: []string{"ab?"},},{Raw: "\"ab \" c,de f, gh, ij\n\t\r",Parsed: 23,Result: []string{"ab ", "c", "de", "f", "gh", "ij"},},}func min(x, y int) int {if x <= y {return x}return y}func TestSplitFieldValue(t *testing.T) {for k, l := range lexTests {parsed, result := httpSplitFieldValue(l.Raw)if parsed != l.Parsed {t.Errorf("#%d: Parsed %d, expected %d", k, parsed, l.Parsed)}if len(result) != len(l.Result) {t.Errorf("#%d: Result len %d, expected %d", k, len(result), len(l.Result))}for i := 0; i < min(len(result), len(l.Result)); i++ {if result[i] != l.Result[i] {t.Errorf("#%d: %d-th entry mismatch. Have {%s}, expect {%s}",k, i, result[i], l.Result[i])}}}}
