|  | // Copyright 2011 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 unicode_test | 
|  |  | 
|  | import ( | 
|  | "testing" | 
|  | . "unicode" | 
|  | ) | 
|  |  | 
|  | // Independently check that the special "Is" functions work | 
|  | // in the Latin-1 range through the property table. | 
|  |  | 
|  | func TestIsControlLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsControl(i) | 
|  | want := false | 
|  | switch { | 
|  | case 0x00 <= i && i <= 0x1F: | 
|  | want = true | 
|  | case 0x7F <= i && i <= 0x9F: | 
|  | want = true | 
|  | } | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestIsLetterLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsLetter(i) | 
|  | want := Is(Letter, i) | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestIsUpperLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsUpper(i) | 
|  | want := Is(Upper, i) | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestIsLowerLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsLower(i) | 
|  | want := Is(Lower, i) | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestNumberLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsNumber(i) | 
|  | want := Is(Number, i) | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestIsPrintLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsPrint(i) | 
|  | want := In(i, PrintRanges...) | 
|  | if i == ' ' { | 
|  | want = true | 
|  | } | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestIsGraphicLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsGraphic(i) | 
|  | want := In(i, GraphicRanges...) | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestIsPunctLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsPunct(i) | 
|  | want := Is(Punct, i) | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestIsSpaceLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsSpace(i) | 
|  | want := Is(White_Space, i) | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestIsSymbolLatin1(t *testing.T) { | 
|  | for i := rune(0); i <= MaxLatin1; i++ { | 
|  | got := IsSymbol(i) | 
|  | want := Is(Symbol, i) | 
|  | if got != want { | 
|  | t.Errorf("%U incorrect: got %t; want %t", i, got, want) | 
|  | } | 
|  | } | 
|  | } |