github.com/study-group-99/pilates@v0.2.2/libft/test_ft_strrchr.cpp (about) 1 #include <gtest/gtest.h> 2 #include <string.h> 3 4 extern "C" { 5 #include "../libft.h" 6 } 7 8 TEST(TestFtStrrchr, CharInStr) { 9 char s[50] = {'0'}; 10 memcpy(s, "This is Some\ntext.\0 ", 19); 11 12 EXPECT_EQ(strrchr(s, 'o'), ft_strrchr(s, 'o')) << "Input: char s[50] = {'0'}; memcpy(s, \"This is Some\\ntext.\\0 \", 19); ft_strrchr(s, 'o')"; 13 EXPECT_EQ(strrchr(s, 'x'), ft_strrchr(s, 'x')) << "Input: char s[50] = {'0'}; memcpy(s, \"This is Some\\ntext.\\0 \", 19); ft_strrchr(s, 'x')"; 14 EXPECT_EQ(strrchr(s, '\n'), ft_strrchr(s, '\n')) << "Input: char s[50] = {'0'}; memcpy(s, \"This is Some\\ntext.\\0 \", 19); ft_strrchr(s, '\n')"; 15 EXPECT_EQ(strrchr(s, 'S'), ft_strrchr(s, 'S')) << "Input: char s[50] = {'0'}; memcpy(s, \"This is Some\\ntext.\\0 \", 19); ft_strrchr(s, 'S')"; 16 } 17 18 TEST(TestFtStrrchr, FindTerminatoChar) { 19 char s[50] = {'0'}; 20 memcpy(s, "This is Some\ntext.\0 ", 19); 21 22 EXPECT_EQ(strrchr(s, 0), ft_strrchr(s, 0)) << "Input: char s[50] = {'0'}; memcpy(s, \"This is Some\\ntext.\\0 \", 19); ft_strrchr(s, 0)"; 23 } 24 25 TEST(TestFtStrrchr, CharAfterTerminator) { 26 char s[50] = {'0'}; 27 memcpy(s, "ghreuh gkF\tEs1e24j7 k9jF?U+h+5k\0rfwfeefkkkkk", 40); 28 29 EXPECT_EQ(strrchr(s, '0'), ft_strrchr(s, '0')) << "Input: char s[50] = {'0'}; memcpy(s, \"ghreuh gkF\\tEs1e24j7 k9jF?U+h+5k\\0rfwfeefkkkkk\", 40); ft_strrchr(s, '0')"; 30 EXPECT_EQ(strrchr(s, 'f'), ft_strrchr(s, 'f')) << "Input: char s[50] = {'0'}; memcpy(s, \"ghreuh gkF\\tEs1e24j7 k9jF?U+h+5k\\0rfwfeefkkkkk\", 40); ft_strrchr(s, 'f')"; 31 } 32 33 TEST(TestFtStrrchr, CharNotInStr) { 34 char s[50] = {'0'}; 35 s[50] = 0; 36 memcpy(s, "no pqrs tuv wxyz aABC DEF", 20); 37 38 EXPECT_EQ(strrchr(s, ':'), ft_strrchr(s, ':')) << "Input: s[50] = 0; memcpy(s, \"no pqrs tuv wxyz aABC DEF\", 20); ft_strrchr(s, ':')"; 39 EXPECT_EQ(strrchr(s, -49), ft_strrchr(s, -49)) << "Input: s[50] = 0; memcpy(s, \"no pqrs tuv wxyz aABC DEF\", 20); ft_strrchr(s, -49)"; 40 } 41 42 TEST(TestFtStrrchr, Unicode) { 43 char *got = ft_strrchr("īœ˙ˀ˘¯ˇ¸¯.œ«‘––™ª•¡¶¢˜ˀ", L'–'); 44 EXPECT_STREQ(NULL, got) << "Input: char *got = ft_strrchr(\"īœ˙ˀ˘¯ˇ¸¯.œ«‘––™ª•¡¶¢˜ˀ\", L'–');"; 45 } 46 47 TEST(TestFtStrrchr, Empty) { 48 char *got = ft_strrchr("\0", 'a'); 49 EXPECT_STREQ(NULL, got) << "Input: char *got = ft_strrchr(\"\\0\", 'a');"; 50 }