OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [net/] [dnsname_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 net

import (
        "testing"
)

type testCase struct {
        name   string
        result bool
}

var tests = []testCase{
        // RFC2181, section 11.
        {"_xmpp-server._tcp.google.com", true},
        {"_xmpp-server._tcp.google.com", true},
        {"foo.com", true},
        {"1foo.com", true},
        {"26.0.0.73.com", true},
        {"fo-o.com", true},
        {"fo1o.com", true},
        {"foo1.com", true},
        {"a.b..com", false},
}

func getTestCases(ch chan<- testCase) {
        defer close(ch)
        var char59 = ""
        var char63 = ""
        var char64 = ""
        for i := 0; i < 59; i++ {
                char59 += "a"
        }
        char63 = char59 + "aaaa"
        char64 = char63 + "a"

        for _, tc := range tests {
                ch <- tc
        }

        ch <- testCase{char63 + ".com", true}
        ch <- testCase{char64 + ".com", false}
        // 255 char name is fine:
        ch <- testCase{char59 + "." + char63 + "." + char63 + "." +
                char63 + ".com",
                true}
        // 256 char name is bad:
        ch <- testCase{char59 + "a." + char63 + "." + char63 + "." +
                char63 + ".com",
                false}
}

func TestDNSNames(t *testing.T) {
        ch := make(chan testCase)
        go getTestCases(ch)
        for tc := range ch {
                if isDomainName(tc.name) != tc.result {
                        t.Errorf("isDomainName(%v) failed: Should be %v",
                                tc.name, tc.result)
                }
        }
}

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.