This file is indexed.

/usr/share/gocode/src/github.com/miekg/dns/dnsutil/util_test.go is in golang-github-miekg-dns-dev 0.0~git20170501.0.f282f80-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package dnsutil

import "testing"

func TestAddOrigin(t *testing.T) {
	var tests = []struct{ e1, e2, expected string }{
		{"@", "example.com", "example.com"},
		{"foo", "example.com", "foo.example.com"},
		{"foo.", "example.com", "foo."},
		{"@", "example.com.", "example.com."},
		{"foo", "example.com.", "foo.example.com."},
		{"foo.", "example.com.", "foo."},
		// Oddball tests:
		// In general origin should not be "" or "." but at least
		// these tests verify we don't crash and will keep results
		// from changing unexpectedly.
		{"*.", "", "*."},
		{"@", "", "@"},
		{"foobar", "", "foobar"},
		{"foobar.", "", "foobar."},
		{"*.", ".", "*."},
		{"@", ".", "."},
		{"foobar", ".", "foobar."},
		{"foobar.", ".", "foobar."},
	}
	for _, test := range tests {
		actual := AddOrigin(test.e1, test.e2)
		if test.expected != actual {
			t.Errorf("AddOrigin(%#v, %#v) expected %#v, go %#v\n", test.e1, test.e2, test.expected, actual)
		}
	}
}

func TestTrimDomainName(t *testing.T) {

	// Basic tests.
	// Try trimming "example.com" and "example.com." from typical use cases.
	var tests_examplecom = []struct{ experiment, expected string }{
		{"foo.example.com", "foo"},
		{"foo.example.com.", "foo"},
		{".foo.example.com", ".foo"},
		{".foo.example.com.", ".foo"},
		{"*.example.com", "*"},
		{"example.com", "@"},
		{"example.com.", "@"},
		{"com.", "com."},
		{"foo.", "foo."},
		{"serverfault.com.", "serverfault.com."},
		{"serverfault.com", "serverfault.com"},
		{".foo.ronco.com", ".foo.ronco.com"},
		{".foo.ronco.com.", ".foo.ronco.com."},
	}
	for _, dom := range []string{"example.com", "example.com."} {
		for i, test := range tests_examplecom {
			actual := TrimDomainName(test.experiment, dom)
			if test.expected != actual {
				t.Errorf("%d TrimDomainName(%#v, %#v): expected (%v) got (%v)\n", i, test.experiment, dom, test.expected, actual)
			}
		}
	}

	// Paranoid tests.
	// These test shouldn't be needed but I was weary of off-by-one errors.
	// In theory, these can't happen because there are no single-letter TLDs,
	// but it is good to exercize the code this way.
	var tests = []struct{ experiment, expected string }{
		{"", "@"},
		{".", "."},
		{"a.b.c.d.e.f.", "a.b.c.d.e"},
		{"b.c.d.e.f.", "b.c.d.e"},
		{"c.d.e.f.", "c.d.e"},
		{"d.e.f.", "d.e"},
		{"e.f.", "e"},
		{"f.", "@"},
		{".a.b.c.d.e.f.", ".a.b.c.d.e"},
		{".b.c.d.e.f.", ".b.c.d.e"},
		{".c.d.e.f.", ".c.d.e"},
		{".d.e.f.", ".d.e"},
		{".e.f.", ".e"},
		{".f.", "@"},
		{"a.b.c.d.e.f", "a.b.c.d.e"},
		{"a.b.c.d.e.", "a.b.c.d.e."},
		{"a.b.c.d.e", "a.b.c.d.e"},
		{"a.b.c.d.", "a.b.c.d."},
		{"a.b.c.d", "a.b.c.d"},
		{"a.b.c.", "a.b.c."},
		{"a.b.c", "a.b.c"},
		{"a.b.", "a.b."},
		{"a.b", "a.b"},
		{"a.", "a."},
		{"a", "a"},
		{".a.b.c.d.e.f", ".a.b.c.d.e"},
		{".a.b.c.d.e.", ".a.b.c.d.e."},
		{".a.b.c.d.e", ".a.b.c.d.e"},
		{".a.b.c.d.", ".a.b.c.d."},
		{".a.b.c.d", ".a.b.c.d"},
		{".a.b.c.", ".a.b.c."},
		{".a.b.c", ".a.b.c"},
		{".a.b.", ".a.b."},
		{".a.b", ".a.b"},
		{".a.", ".a."},
		{".a", ".a"},
	}
	for _, dom := range []string{"f", "f."} {
		for i, test := range tests {
			actual := TrimDomainName(test.experiment, dom)
			if test.expected != actual {
				t.Errorf("%d TrimDomainName(%#v, %#v): expected (%v) got (%v)\n", i, test.experiment, dom, test.expected, actual)
			}
		}
	}

	// Test cases for bugs found in the wild.
	// These test cases provide both origin, s, and the expected result.
	// If you find a bug in the while, this is probably the easiest place
	// to add it as a test case.
	var tests_wild = []struct{ e1, e2, expected string }{
		{"mathoverflow.net.", ".", "mathoverflow.net"},
		{"mathoverflow.net", ".", "mathoverflow.net"},
		{"", ".", "@"},
		{"@", ".", "@"},
	}
	for i, test := range tests_wild {
		actual := TrimDomainName(test.e1, test.e2)
		if test.expected != actual {
			t.Errorf("%d TrimDomainName(%#v, %#v): expected (%v) got (%v)\n", i, test.e1, test.e2, test.expected, actual)
		}
	}

}