|
|
#include "../../unity/unity.h" |
|
|
#include <string.h> |
|
|
#include <stdlib.h> |
|
|
#include <stdio.h> |
|
|
|
|
|
|
|
|
void setUp(void) { |
|
|
|
|
|
} |
|
|
|
|
|
void tearDown(void) { |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void test_set_prefix_no_spaces(void) { |
|
|
char buf[] = "abc"; |
|
|
|
|
|
set_prefix(buf); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT(0, prefix_lead_space); |
|
|
TEST_ASSERT_EQUAL_PTR(&buf[0], prefix); |
|
|
TEST_ASSERT_EQUAL_INT(3, prefix_full_length); |
|
|
TEST_ASSERT_EQUAL_INT(3, prefix_length); |
|
|
TEST_ASSERT_EQUAL_STRING("abc", prefix); |
|
|
} |
|
|
|
|
|
void test_set_prefix_only_spaces(void) { |
|
|
char buf[] = " "; |
|
|
|
|
|
set_prefix(buf); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT(4, prefix_lead_space); |
|
|
|
|
|
TEST_ASSERT_EQUAL_PTR(&buf[4], prefix); |
|
|
TEST_ASSERT_EQUAL_INT(0, prefix_full_length); |
|
|
TEST_ASSERT_EQUAL_INT(0, prefix_length); |
|
|
TEST_ASSERT_EQUAL_STRING("", prefix); |
|
|
} |
|
|
|
|
|
void test_set_prefix_leading_spaces_only(void) { |
|
|
char buf[] = " abc"; |
|
|
|
|
|
set_prefix(buf); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT(3, prefix_lead_space); |
|
|
TEST_ASSERT_EQUAL_PTR(&buf[3], prefix); |
|
|
TEST_ASSERT_EQUAL_INT(3, prefix_full_length); |
|
|
TEST_ASSERT_EQUAL_INT(3, prefix_length); |
|
|
TEST_ASSERT_EQUAL_STRING("abc", prefix); |
|
|
} |
|
|
|
|
|
void test_set_prefix_trailing_spaces_only(void) { |
|
|
char buf[] = "abc "; |
|
|
|
|
|
set_prefix(buf); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT(0, prefix_lead_space); |
|
|
TEST_ASSERT_EQUAL_PTR(&buf[0], prefix); |
|
|
TEST_ASSERT_EQUAL_INT(6, prefix_full_length); |
|
|
TEST_ASSERT_EQUAL_INT(3, prefix_length); |
|
|
|
|
|
TEST_ASSERT_EQUAL_CHAR('a', buf[0]); |
|
|
TEST_ASSERT_EQUAL_CHAR('b', buf[1]); |
|
|
TEST_ASSERT_EQUAL_CHAR('c', buf[2]); |
|
|
TEST_ASSERT_EQUAL_INT('\0', buf[3]); |
|
|
|
|
|
TEST_ASSERT_EQUAL_STRING("abc", prefix); |
|
|
} |
|
|
|
|
|
void test_set_prefix_leading_and_trailing_spaces(void) { |
|
|
char buf[] = " abc "; |
|
|
|
|
|
set_prefix(buf); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT(2, prefix_lead_space); |
|
|
TEST_ASSERT_EQUAL_PTR(&buf[2], prefix); |
|
|
TEST_ASSERT_EQUAL_INT(5, prefix_full_length); |
|
|
TEST_ASSERT_EQUAL_INT(3, prefix_length); |
|
|
|
|
|
TEST_ASSERT_EQUAL_CHAR('a', buf[2]); |
|
|
TEST_ASSERT_EQUAL_CHAR('b', buf[3]); |
|
|
TEST_ASSERT_EQUAL_CHAR('c', buf[4]); |
|
|
TEST_ASSERT_EQUAL_INT('\0', buf[5]); |
|
|
TEST_ASSERT_EQUAL_STRING("abc", prefix); |
|
|
} |
|
|
|
|
|
void test_set_prefix_empty_string(void) { |
|
|
char buf[] = ""; |
|
|
|
|
|
set_prefix(buf); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT(0, prefix_lead_space); |
|
|
TEST_ASSERT_EQUAL_PTR(&buf[0], prefix); |
|
|
TEST_ASSERT_EQUAL_INT(0, prefix_full_length); |
|
|
TEST_ASSERT_EQUAL_INT(0, prefix_length); |
|
|
TEST_ASSERT_EQUAL_STRING("", prefix); |
|
|
} |
|
|
|
|
|
void test_set_prefix_tabs_not_trimmed(void) { |
|
|
|
|
|
char buf[] = "\tabc\t "; |
|
|
|
|
|
set_prefix(buf); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT(0, prefix_lead_space); |
|
|
TEST_ASSERT_EQUAL_PTR(&buf[0], prefix); |
|
|
TEST_ASSERT_EQUAL_INT(6, prefix_full_length); |
|
|
TEST_ASSERT_EQUAL_INT(5, prefix_length); |
|
|
|
|
|
TEST_ASSERT_EQUAL_STRING("\tabc\t", prefix); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT('\0', buf[5]); |
|
|
} |
|
|
|
|
|
void test_set_prefix_internal_spaces_preserved(void) { |
|
|
char buf[] = " ab c "; |
|
|
|
|
|
set_prefix(buf); |
|
|
|
|
|
TEST_ASSERT_EQUAL_INT(2, prefix_lead_space); |
|
|
TEST_ASSERT_EQUAL_PTR(&buf[2], prefix); |
|
|
TEST_ASSERT_EQUAL_INT(6, prefix_full_length); |
|
|
TEST_ASSERT_EQUAL_INT(4, prefix_length); |
|
|
TEST_ASSERT_EQUAL_STRING("ab c", prefix); |
|
|
} |
|
|
|
|
|
int main(void) { |
|
|
UNITY_BEGIN(); |
|
|
|
|
|
RUN_TEST(test_set_prefix_no_spaces); |
|
|
RUN_TEST(test_set_prefix_only_spaces); |
|
|
RUN_TEST(test_set_prefix_leading_spaces_only); |
|
|
RUN_TEST(test_set_prefix_trailing_spaces_only); |
|
|
RUN_TEST(test_set_prefix_leading_and_trailing_spaces); |
|
|
RUN_TEST(test_set_prefix_empty_string); |
|
|
RUN_TEST(test_set_prefix_tabs_not_trimmed); |
|
|
RUN_TEST(test_set_prefix_internal_spaces_preserved); |
|
|
|
|
|
return UNITY_END(); |
|
|
} |