Merge branch 'master' of tsipinakis/dunst
This commit is contained in:
		
						commit
						7f12704b07
					
				
							
								
								
									
										13
									
								
								src/utils.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/utils.c
									
									
									
									
									
								
							| @ -128,19 +128,6 @@ void string_strip_delimited(char *str, char a, char b) | |||||||
|         str[iwrite] = 0; |         str[iwrite] = 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int digit_count(int i) |  | ||||||
| { |  | ||||||
|         i = ABS(i); |  | ||||||
|         int len = 1; |  | ||||||
| 
 |  | ||||||
|         while (i > 0) { |  | ||||||
|                 len++; |  | ||||||
|                 i /= 10; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         return len; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void die(char *text, int exit_value) | void die(char *text, int exit_value) | ||||||
| { | { | ||||||
|         fputs(text, stderr); |         fputs(text, stderr); | ||||||
|  | |||||||
| @ -22,8 +22,6 @@ void string_strip_delimited(char *str, char a, char b); | |||||||
| 
 | 
 | ||||||
| /* exit with an error message */ | /* exit with an error message */ | ||||||
| void die(char *msg, int exit_value); | void die(char *msg, int exit_value); | ||||||
| 
 |  | ||||||
| int digit_count(int i); |  | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| /* vim: set tabstop=8 shiftwidth=8 expandtab textwidth=0: */ | /* vim: set tabstop=8 shiftwidth=8 expandtab textwidth=0: */ | ||||||
|  | |||||||
							
								
								
									
										123
									
								
								test/utils.c
									
									
									
									
									
								
							
							
						
						
									
										123
									
								
								test/utils.c
									
									
									
									
									
								
							| @ -3,11 +3,123 @@ | |||||||
| 
 | 
 | ||||||
| TEST test_string_replace_char(void) | TEST test_string_replace_char(void) | ||||||
| { | { | ||||||
|         char *text = calloc(128, sizeof(char)); |         char *text = malloc(128 * sizeof(char)); | ||||||
|         strcpy(text, "a aa aaa"); |         strcpy(text, "a aa aaa"); | ||||||
|         ASSERT_STR_EQ(string_replace_char('a', 'b', text), "b bb bbb"); |         ASSERT_STR_EQ("b bb bbb", string_replace_char('a', 'b', text)); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "Nothing to replace"); | ||||||
|  |         ASSERT_STR_EQ("Nothing to replace", string_replace_char('s', 'a', text)); | ||||||
|  | 
 | ||||||
|         strcpy(text, ""); |         strcpy(text, ""); | ||||||
|         ASSERT_STR_EQ(string_replace_char('a', 'b', text), ""); |         ASSERT_STR_EQ("", string_replace_char('a', 'b', text)); | ||||||
|  |         free(text); | ||||||
|  | 
 | ||||||
|  |         PASS(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * We trust that string_replace_all and string_replace properly reallocate | ||||||
|  |  * memory if the result is longer than the given string, no real way to test for | ||||||
|  |  * that far as I know. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | TEST test_string_replace_all(void) | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  |         char *text = malloc(128 * sizeof(char)); | ||||||
|  |         strcpy(text, "aaaaa"); | ||||||
|  |         ASSERT_STR_EQ("bbbbb", (text = string_replace_all("a", "b", text))); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, ""); | ||||||
|  |         ASSERT_STR_EQ("", (text = string_replace_all("a", "b", text))); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "Nothing to replace"); | ||||||
|  |         ASSERT_STR_EQ((text = string_replace_all("z", "a", text)), "Nothing to replace"); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "Reverse this"); | ||||||
|  |         ASSERT_STR_EQ("Reverse sith", (text = string_replace_all("this", "sith", text))); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "abcdabc"); | ||||||
|  |         ASSERT_STR_EQ("xyzabcdxyzabc", (text = string_replace_all("a", "xyza", text))); | ||||||
|  | 
 | ||||||
|  |         free(text); | ||||||
|  |         PASS(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | TEST test_string_replace(void) | ||||||
|  | { | ||||||
|  |         char *text = malloc(128 * sizeof(char)); | ||||||
|  |         strcpy(text, "aaaaa"); | ||||||
|  |         ASSERT_STR_EQ("baaaa", (text = string_replace("a", "b", text)) ); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, ""); | ||||||
|  |         ASSERT_STR_EQ((text = string_replace("a", "b", text)), ""); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "Nothing to replace"); | ||||||
|  |         ASSERT_STR_EQ((text = string_replace("z", "a", text)), "Nothing to replace"); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "Reverse this"); | ||||||
|  |         ASSERT_STR_EQ("Reverse sith", (text = string_replace("this", "sith", text))); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "abcdabc"); | ||||||
|  |         ASSERT_STR_EQ("xyzabcdabc", (text = string_replace("a", "xyza", text))); | ||||||
|  | 
 | ||||||
|  |         free(text); | ||||||
|  |         PASS(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | TEST test_string_append(void) | ||||||
|  | { | ||||||
|  |         SKIP(); //TODO: Implement this
 | ||||||
|  |         PASS(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | TEST test_string_to_argv(void) | ||||||
|  | { | ||||||
|  |         char **argv = string_to_argv("argv"); | ||||||
|  |         ASSERT_STR_EQ("argv", argv[0]); | ||||||
|  |         ASSERT_EQ(    NULL,   argv[1]); | ||||||
|  |         free(argv); | ||||||
|  |         argv = NULL; | ||||||
|  | 
 | ||||||
|  |         argv = string_to_argv("echo test"); | ||||||
|  |         ASSERT_STR_EQ("echo", argv[0]); | ||||||
|  |         ASSERT_STR_EQ("test", argv[1]); | ||||||
|  |         ASSERT_EQ(    NULL,   argv[2]); | ||||||
|  |         free(argv); | ||||||
|  |         argv = NULL; | ||||||
|  | 
 | ||||||
|  |         argv = string_to_argv(""); | ||||||
|  |         ASSERT_EQ(    NULL,   argv[0]); | ||||||
|  |         free(argv); | ||||||
|  | 
 | ||||||
|  |         PASS(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | TEST test_string_strip_delimited(void) | ||||||
|  | { | ||||||
|  |         char *text = malloc(128 * sizeof(char)); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "A <simple> string_strip_delimited test"); | ||||||
|  |         string_strip_delimited(text, '<', '>'); | ||||||
|  |         ASSERT_STR_EQ("A  string_strip_delimited test", text); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "Remove <blink>html <b><i>tags</i></b></blink>"); | ||||||
|  |         string_strip_delimited(text, '<', '>'); | ||||||
|  |         ASSERT_STR_EQ("Remove html tags", text); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "Calls|with|identical|delimiters|are|handled|properly"); | ||||||
|  |         string_strip_delimited(text, '|', '|'); | ||||||
|  |         ASSERT_STR_EQ("Calls", text); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "<Return empty string if there is nothing left>"); | ||||||
|  |         string_strip_delimited(text, '<', '>'); | ||||||
|  |         ASSERT_STR_EQ("", text); | ||||||
|  | 
 | ||||||
|  |         strcpy(text, "Nothing is done if there are no delimiters in the string"); | ||||||
|  |         string_strip_delimited(text, '<', '>'); | ||||||
|  |         ASSERT_STR_EQ("Nothing is done if there are no delimiters in the string", text); | ||||||
|  | 
 | ||||||
|         free(text); |         free(text); | ||||||
|         PASS(); |         PASS(); | ||||||
| } | } | ||||||
| @ -15,5 +127,10 @@ TEST test_string_replace_char(void) | |||||||
| SUITE(utils) | SUITE(utils) | ||||||
| { | { | ||||||
|         RUN_TEST(test_string_replace_char); |         RUN_TEST(test_string_replace_char); | ||||||
|  |         RUN_TEST(test_string_replace_all); | ||||||
|  |         RUN_TEST(test_string_replace); | ||||||
|  |         RUN_TEST(test_string_append); | ||||||
|  |         RUN_TEST(test_string_to_argv); | ||||||
|  |         RUN_TEST(test_string_strip_delimited); | ||||||
| } | } | ||||||
| /* vim: set tabstop=8 shiftwidth=8 expandtab textwidth=0: */ | /* vim: set tabstop=8 shiftwidth=8 expandtab textwidth=0: */ | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Eizen
						Eizen