mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
// Copyright 2016 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 net
 | 
						|
 | 
						|
import "testing"
 | 
						|
 | 
						|
var parsePortTests = []struct {
 | 
						|
	service     string
 | 
						|
	port        int
 | 
						|
	needsLookup bool
 | 
						|
}{
 | 
						|
	{"", 0, false},
 | 
						|
 | 
						|
	// Decimal number literals
 | 
						|
	{"-1073741825", -1 << 30, false},
 | 
						|
	{"-1073741824", -1 << 30, false},
 | 
						|
	{"-1073741823", -(1<<30 - 1), false},
 | 
						|
	{"-123456789", -123456789, false},
 | 
						|
	{"-1", -1, false},
 | 
						|
	{"-0", 0, false},
 | 
						|
	{"0", 0, false},
 | 
						|
	{"+0", 0, false},
 | 
						|
	{"+1", 1, false},
 | 
						|
	{"65535", 65535, false},
 | 
						|
	{"65536", 65536, false},
 | 
						|
	{"123456789", 123456789, false},
 | 
						|
	{"1073741822", 1<<30 - 2, false},
 | 
						|
	{"1073741823", 1<<30 - 1, false},
 | 
						|
	{"1073741824", 1<<30 - 1, false},
 | 
						|
	{"1073741825", 1<<30 - 1, false},
 | 
						|
 | 
						|
	// Others
 | 
						|
	{"abc", 0, true},
 | 
						|
	{"9pfs", 0, true},
 | 
						|
	{"123badport", 0, true},
 | 
						|
	{"bad123port", 0, true},
 | 
						|
	{"badport123", 0, true},
 | 
						|
	{"123456789badport", 0, true},
 | 
						|
	{"-2147483649badport", 0, true},
 | 
						|
	{"2147483649badport", 0, true},
 | 
						|
}
 | 
						|
 | 
						|
func TestParsePort(t *testing.T) {
 | 
						|
	// The following test cases are cribbed from the strconv
 | 
						|
	for _, tt := range parsePortTests {
 | 
						|
		if port, needsLookup := parsePort(tt.service); port != tt.port || needsLookup != tt.needsLookup {
 | 
						|
			t.Errorf("parsePort(%q) = %d, %t; want %d, %t", tt.service, port, needsLookup, tt.port, tt.needsLookup)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |