This file is indexed.

/usr/share/gocode/src/golang.org/x/text/collate/build/trie_test.go is in golang-golang-x-text-dev 0.0~git20170627.0.6353ef0-1ubuntu2.

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
// Copyright 2012 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 build

import (
	"bytes"
	"fmt"
	"testing"
)

// We take the smallest, largest and an arbitrary value for each
// of the UTF-8 sequence lengths.
var testRunes = []rune{
	0x01, 0x0C, 0x7F, // 1-byte sequences
	0x80, 0x100, 0x7FF, // 2-byte sequences
	0x800, 0x999, 0xFFFF, // 3-byte sequences
	0x10000, 0x10101, 0x10FFFF, // 4-byte sequences
	0x200, 0x201, 0x202, 0x210, 0x215, // five entries in one sparse block
}

func makeTestTrie(t *testing.T) trie {
	n := newNode()
	for i, r := range testRunes {
		n.insert(r, uint32(i))
	}
	idx := newTrieBuilder()
	idx.addTrie(n)
	tr, err := idx.generate()
	if err != nil {
		t.Errorf(err.Error())
	}
	return *tr
}

func TestGenerateTrie(t *testing.T) {
	testdata := makeTestTrie(t)
	buf := &bytes.Buffer{}
	testdata.printArrays(buf, "test")
	fmt.Fprintf(buf, "var testTrie = ")
	testdata.printStruct(buf, &trieHandle{19, 0}, "test")
	if output != buf.String() {
		t.Error("output differs")
	}
}

var output = `// testValues: 832 entries, 3328 bytes
// Block 2 is the null block.
var testValues = [832]uint32 {
	// Block 0x0, offset 0x0
	0x000c:0x00000001, 
	// Block 0x1, offset 0x40
	0x007f:0x00000002, 
	// Block 0x2, offset 0x80
	// Block 0x3, offset 0xc0
	0x00c0:0x00000003, 
	// Block 0x4, offset 0x100
	0x0100:0x00000004, 
	// Block 0x5, offset 0x140
	0x0140:0x0000000c, 0x0141:0x0000000d, 0x0142:0x0000000e, 
	0x0150:0x0000000f, 
	0x0155:0x00000010, 
	// Block 0x6, offset 0x180
	0x01bf:0x00000005, 
	// Block 0x7, offset 0x1c0
	0x01c0:0x00000006, 
	// Block 0x8, offset 0x200
	0x0219:0x00000007, 
	// Block 0x9, offset 0x240
	0x027f:0x00000008, 
	// Block 0xa, offset 0x280
	0x0280:0x00000009, 
	// Block 0xb, offset 0x2c0
	0x02c1:0x0000000a, 
	// Block 0xc, offset 0x300
	0x033f:0x0000000b, 
}

// testLookup: 640 entries, 1280 bytes
// Block 0 is the null block.
var testLookup = [640]uint16 {
	// Block 0x0, offset 0x0
	// Block 0x1, offset 0x40
	// Block 0x2, offset 0x80
	// Block 0x3, offset 0xc0
	0x0e0:0x05, 0x0e6:0x06, 
	// Block 0x4, offset 0x100
	0x13f:0x07, 
	// Block 0x5, offset 0x140
	0x140:0x08, 0x144:0x09, 
	// Block 0x6, offset 0x180
	0x190:0x03, 
	// Block 0x7, offset 0x1c0
	0x1ff:0x0a, 
	// Block 0x8, offset 0x200
	0x20f:0x05, 
	// Block 0x9, offset 0x240
	0x242:0x01, 0x244:0x02, 
	0x248:0x03, 
	0x25f:0x04, 
	0x260:0x01, 
	0x26f:0x02, 
	0x270:0x04, 0x274:0x06, 
}

var testTrie = trie{ testLookup[1216:], testValues[0:], testLookup[:], testValues[:]}`