source: mainline/uspace/lib/c/test/str.c@ cb7be8f

Last change on this file since cb7be8f was d7f7a4a, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 3 years ago

Replace some license headers with SPDX identifier

Headers are replaced using tools/transorm-copyright.sh only
when it can be matched verbatim with the license header used
throughout most of the codebase.

  • Property mode set to 100644
File size: 1.6 KB
Line 
1/*
2 * SPDX-FileCopyrightText: 2015 Michal Koutny
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <stdio.h>
8#include <str.h>
9#include <pcut/pcut.h>
10
11#define BUFFER_SIZE 256
12
13#define SET_BUFFER(str) snprintf(buffer, BUFFER_SIZE, "%s", str)
14#define EQ(expected, value) PCUT_ASSERT_STR_EQUALS(expected, value)
15
16PCUT_INIT;
17
18PCUT_TEST_SUITE(str);
19
20static char buffer[BUFFER_SIZE];
21
22PCUT_TEST_BEFORE
23{
24 memset(buffer, 0, BUFFER_SIZE);
25}
26
27PCUT_TEST(rtrim)
28{
29 SET_BUFFER("foobar");
30 str_rtrim(buffer, ' ');
31 EQ("foobar", buffer);
32
33 SET_BUFFER(" foobar ");
34 str_rtrim(buffer, ' ');
35 EQ(" foobar", buffer);
36
37 SET_BUFFER(" ššš ");
38 str_rtrim(buffer, ' ');
39 EQ(" ššš", buffer);
40
41 SET_BUFFER("ššAAAšš");
42 str_rtrim(buffer, L'š');
43 EQ("ššAAA", buffer);
44}
45
46PCUT_TEST(ltrim)
47{
48 SET_BUFFER("foobar");
49 str_ltrim(buffer, ' ');
50 EQ("foobar", buffer);
51
52 SET_BUFFER(" foobar ");
53 str_ltrim(buffer, ' ');
54 EQ("foobar ", buffer);
55
56 SET_BUFFER(" ššš ");
57 str_ltrim(buffer, ' ');
58 EQ("ššš ", buffer);
59
60 SET_BUFFER("ššAAAšš");
61 str_ltrim(buffer, L'š');
62 EQ("AAAšš", buffer);
63}
64
65PCUT_TEST(str_str_found)
66{
67 const char *hs = "abracadabra";
68 const char *n = "raca";
69 char *p;
70
71 p = str_str(hs, n);
72 PCUT_ASSERT_TRUE((const char *)p == hs + 2);
73}
74
75PCUT_TEST(str_str_not_found)
76{
77 const char *hs = "abracadabra";
78 const char *n = "racab";
79 char *p;
80
81 p = str_str(hs, n);
82 PCUT_ASSERT_TRUE(p == NULL);
83}
84
85PCUT_TEST(str_str_empty_n)
86{
87 const char *hs = "abracadabra";
88 const char *n = "";
89 char *p;
90
91 p = str_str(hs, n);
92 PCUT_ASSERT_TRUE((const char *)p == hs);
93}
94
95PCUT_EXPORT(str);
Note: See TracBrowser for help on using the repository browser.