You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: colltab_test.go
    path of file: ./repos/gitkube/vendor/golang.org/x/text/internal/colltab
    
    the code of the file until where you have to start completion: package colltab

import (
	"testing"

	"golang.org/x/text/la
    
func TestMatchLang(t *testing.T) {
	tags := []language.Tag{
		0:  language.Und,
		1:  language.MustParse("bs"),
		2:  language.German,
		3:  language.English,
		4:  language.AmericanEnglish,
		5:  language.MustParse("en-US-u-va-posix"),
		6:  language.Portuguese,
		7:  language.Serbian,
		8:  language.MustParse("sr-Latn"),
		9:  language.Chinese,
		10: language.MustParse("zh-u-co-stroke"),
		11: language.MustParse("zh-Hant-u-co-pinyin"),
		12: language.TraditionalChinese,
	}
	for i, tc := range []struct {
		x int
		t language.Tag
	}{
		{0, language.Und},
		{0, language.Persian}, // Default to first element when no match.
		{3, language.English},
		{4, language.AmericanEnglish},
		{5, language.MustParse("en-US-u-va-posix")},   // Ext. variant match.
		{4, language.MustParse("en-US-u-va-noposix")}, // Ext. variant mismatch.
		{3, language.MustParse("en-UK-u-va-noposix")}, // Ext. variant mismatch.
		{7, language.Serbian},
		{0, language.Croatian},             // Don't match to close language!
		{0, language.MustParse("gsw")},     // Don't match to close language!
		{1, language.MustParse("bs-Cyrl")}, // Odd, but correct.
		{1, language.MustParse("bs-Latn")}, // Estimated script drops.
		{8, language.MustParse("sr-Latn")},
		{9, language.Chinese},
		{9, language.SimplifiedChinese},
		{12, language.TraditionalChinese},
		{11, language.MustParse("zh-Hant-u-co-pinyin")},
		// TODO: should this be 12? Either inherited value (10) or default is
		// fine in this case, though. Other locales are not affected.
		{10, language.MustParse("zh-Hant-u-co-stroke")},
		// There is no "phonebk" sorting order for zh-Hant, so use default.
		{12, language.MustParse("zh-Hant-u-co-phonebk")},
		{10, language.MustParse("zh-u-co-stroke")},
		{12, language.MustParse("und-TW")},     // Infer script and language.
		{12, language.MustParse("und-HK")},     // Infer script and language.
		{6, language.MustParse("und-BR")},      // Infer script and language.
		{6, language.MustParse("und-PT")},      // Infer script and language.
		{2, language.MustParse("und-Latn-DE")}, // Infer language.
		{0, language.MustParse("und-Jpan-BR")}, // Infers "ja", so no match.
		{0, language.MustParse("zu")},          // No match past index.
	} {
		if x := MatchLang(tc.t, tags); x != tc.x {
			t.Errorf("%d: MatchLang(%q, tags) = %d; want %d", i, tc.t, x, tc.x)
		}
	}
}