5#include <gtest/gtest.h>
8#define isalnum sk_isalnum
9#define isalpha sk_isalpha
10#define isblank sk_isblank
11#define iscntrl sk_iscntrl
12#define isdigit sk_isdigit
13#define isgraph sk_isgraph
14#define islower sk_islower
15#define isprint sk_isprint
16#define ispunct sk_ispunct
17#define isspace sk_isspace
18#define isupper sk_isupper
19#define isxdigit sk_isxdigit
20#define tolower sk_tolower
21#define toupper sk_toupper
24#include "../../src/libc/sk_ctype.c"
26TEST(SkCtypeTest, IsAlnum) {
35TEST(SkCtypeTest, IsAlpha) {
42TEST(SkCtypeTest, IsBlank) {
49TEST(SkCtypeTest, IsCntrl) {
57TEST(SkCtypeTest, IsDigit) {
64TEST(SkCtypeTest, IsGraph) {
72TEST(SkCtypeTest, IsLower) {
79TEST(SkCtypeTest, IsPrint) {
87TEST(SkCtypeTest, IsPunct) {
95TEST(SkCtypeTest, IsSpace) {
138TEST(SkCtypeTest, BoundaryValues) {
145TEST(SkCtypeTest, ToLowerBoundary) {
151TEST(SkCtypeTest, ToUpperBoundary) {
158 for (
char c =
'0'; c <=
'9'; ++c) {
166 for (
char c =
'a'; c <=
'z'; ++c) {
173 for (
char c =
'A'; c <=
'Z'; ++c) {
181TEST(SkCtypeTest, AllPunctuation) {
183 const char punct[] =
"!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
184 for (
size_t i = 0; i <
strlen(punct); ++i) {
190TEST(SkCtypeTest, AllWhitespace) {
199TEST(SkCtypeTest, GraphPrintable) {
209TEST(SkCtypeTest, ControlCharacters) {
211 for (
int c = 0; c < 32; ++c) {
218TEST(SkCtypeTest, CaseConversion) {
220 for (
char c =
'A'; c <=
'Z'; ++c) {
221 EXPECT_EQ(sk_tolower(c), c + (
'a' -
'A'));
224 for (
char c =
'a'; c <=
'z'; ++c) {
225 EXPECT_EQ(sk_toupper(c), c - (
'a' -
'A'));
TEST(SkCtypeTest, IsAlnum)
#define EXPECT_TRUE(cond, msg)
#define EXPECT_FALSE(cond, msg)
#define EXPECT_EQ(val1, val2, msg)