| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| //===-- Unittests for isblank----------------------------------------------===// | ||
| // | ||
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| // See https://llvm.org/LICENSE.txt for license information. | ||
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| // | ||
| //===----------------------------------------------------------------------===// | ||
|
|
||
| #include "src/ctype/isblank.h" | ||
| #include "utils/UnitTest/Test.h" | ||
|
|
||
| TEST(IsBlank, DefaultLocale) { | ||
| // Loops through all characters, verifying that space and horizontal tab | ||
| // return a non-zero integer and everything else returns zero. | ||
| for (int ch = 0; ch < 255; ++ch) { | ||
| if (ch == ' ' || ch == '\t') | ||
| EXPECT_NE(__llvm_libc::isblank(ch), 0); | ||
| else | ||
| EXPECT_EQ(__llvm_libc::isblank(ch), 0); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| //===-- Unittests for iscntrl----------------------------------------------===// | ||
| // | ||
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| // See https://llvm.org/LICENSE.txt for license information. | ||
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| // | ||
| //===----------------------------------------------------------------------===// | ||
|
|
||
| #include "src/ctype/iscntrl.h" | ||
| #include "utils/UnitTest/Test.h" | ||
|
|
||
| TEST(IsCntrl, DefaultLocale) { | ||
| // Loops through all characters, verifying that control characters | ||
| // return a non-zero integer, all others return zero. | ||
| for (int ch = 0; ch < 255; ++ch) { | ||
| if ((0 <= ch && ch <= 0x1f /*US*/) || ch == 0x7f /*DEL*/) | ||
| EXPECT_NE(__llvm_libc::iscntrl(ch), 0); | ||
| else | ||
| EXPECT_EQ(__llvm_libc::iscntrl(ch), 0); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| //===-- Unittests for isgraph----------------------------------------------===// | ||
| // | ||
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| // See https://llvm.org/LICENSE.txt for license information. | ||
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| // | ||
| //===----------------------------------------------------------------------===// | ||
|
|
||
| #include "src/ctype/isgraph.h" | ||
| #include "utils/UnitTest/Test.h" | ||
|
|
||
| TEST(IsGraph, DefaultLocale) { | ||
| // Loops through all characters, verifying that graphical characters | ||
| // return a non-zero integer, everything else returns zero. | ||
| for (int ch = 0; ch < 255; ++ch) { | ||
| if ('!' <= ch && ch <= '~') // A-Z, a-z, 0-9, punctuation. | ||
| EXPECT_NE(__llvm_libc::isgraph(ch), 0); | ||
| else | ||
| EXPECT_EQ(__llvm_libc::isgraph(ch), 0); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| //===-- Unittests for ispunct----------------------------------------------===// | ||
| // | ||
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| // See https://llvm.org/LICENSE.txt for license information. | ||
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| // | ||
| //===----------------------------------------------------------------------===// | ||
|
|
||
| #include "src/ctype/ispunct.h" | ||
| #include "utils/UnitTest/Test.h" | ||
|
|
||
| // Helper function to mark the sections of the ASCII table that are | ||
| // punctuation characters. These are listed below: | ||
| // Decimal | Symbol | ||
| // ----------------------------------------- | ||
| // 33 - 47 | ! " $ % & ' ( ) * + , - . / | ||
| // 58 - 64 | : ; < = > ? @ | ||
| // 91 - 96 | [ \ ] ^ _ ` | ||
| // 123 - 126 | { | } ~ | ||
| static inline int is_punctuation_character(int c) { | ||
| return ('!' <= c && c <= '/') || (':' <= c && c <= '@') || | ||
| ('[' <= c && c <= '`') || ('{' <= c && c <= '~'); | ||
| } | ||
|
|
||
| TEST(IsPunct, DefaultLocale) { | ||
| // Loops through all characters, verifying that punctuation characters | ||
| // return a non-zero integer, and everything else returns zero. | ||
| for (int ch = 0; ch < 255; ++ch) { | ||
| if (is_punctuation_character(ch)) | ||
| EXPECT_NE(__llvm_libc::ispunct(ch), 0); | ||
| else | ||
| EXPECT_EQ(__llvm_libc::ispunct(ch), 0); | ||
| } | ||
| } |