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  }