// 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) } } }