Source file src/unicode/graphic_test.go

     1  // Copyright 2011 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package unicode_test
     6  
     7  import (
     8  	"testing"
     9  	. "unicode"
    10  )
    11  
    12  // Independently check that the special "Is" functions work
    13  // in the Latin-1 range through the property table.
    14  
    15  func TestIsControlLatin1(t *testing.T) {
    16  	for i := rune(0); i <= MaxLatin1; i++ {
    17  		got := IsControl(i)
    18  		want := false
    19  		switch {
    20  		case 0x00 <= i && i <= 0x1F:
    21  			want = true
    22  		case 0x7F <= i && i <= 0x9F:
    23  			want = true
    24  		}
    25  		if got != want {
    26  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
    27  		}
    28  	}
    29  }
    30  
    31  func TestIsLetterLatin1(t *testing.T) {
    32  	for i := rune(0); i <= MaxLatin1; i++ {
    33  		got := IsLetter(i)
    34  		want := Is(Letter, i)
    35  		if got != want {
    36  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
    37  		}
    38  	}
    39  }
    40  
    41  func TestIsUpperLatin1(t *testing.T) {
    42  	for i := rune(0); i <= MaxLatin1; i++ {
    43  		got := IsUpper(i)
    44  		want := Is(Upper, i)
    45  		if got != want {
    46  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
    47  		}
    48  	}
    49  }
    50  
    51  func TestIsLowerLatin1(t *testing.T) {
    52  	for i := rune(0); i <= MaxLatin1; i++ {
    53  		got := IsLower(i)
    54  		want := Is(Lower, i)
    55  		if got != want {
    56  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
    57  		}
    58  	}
    59  }
    60  
    61  func TestNumberLatin1(t *testing.T) {
    62  	for i := rune(0); i <= MaxLatin1; i++ {
    63  		got := IsNumber(i)
    64  		want := Is(Number, i)
    65  		if got != want {
    66  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
    67  		}
    68  	}
    69  }
    70  
    71  func TestIsPrintLatin1(t *testing.T) {
    72  	for i := rune(0); i <= MaxLatin1; i++ {
    73  		got := IsPrint(i)
    74  		want := In(i, PrintRanges...)
    75  		if i == ' ' {
    76  			want = true
    77  		}
    78  		if got != want {
    79  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
    80  		}
    81  	}
    82  }
    83  
    84  func TestIsGraphicLatin1(t *testing.T) {
    85  	for i := rune(0); i <= MaxLatin1; i++ {
    86  		got := IsGraphic(i)
    87  		want := In(i, GraphicRanges...)
    88  		if got != want {
    89  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
    90  		}
    91  	}
    92  }
    93  
    94  func TestIsPunctLatin1(t *testing.T) {
    95  	for i := rune(0); i <= MaxLatin1; i++ {
    96  		got := IsPunct(i)
    97  		want := Is(Punct, i)
    98  		if got != want {
    99  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
   100  		}
   101  	}
   102  }
   103  
   104  func TestIsSpaceLatin1(t *testing.T) {
   105  	for i := rune(0); i <= MaxLatin1; i++ {
   106  		got := IsSpace(i)
   107  		want := Is(White_Space, i)
   108  		if got != want {
   109  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
   110  		}
   111  	}
   112  }
   113  
   114  func TestIsSymbolLatin1(t *testing.T) {
   115  	for i := rune(0); i <= MaxLatin1; i++ {
   116  		got := IsSymbol(i)
   117  		want := Is(Symbol, i)
   118  		if got != want {
   119  			t.Errorf("%U incorrect: got %t; want %t", i, got, want)
   120  		}
   121  	}
   122  }
   123  

View as plain text