embox

Форк
0
50 строк · 925.0 Байт
1
/**
2
 * @file
3
 *
4
 * @brief
5
 *
6
 * @date 2.11.2012
7
 * @author Vita Loginova
8
 */
9

10
#include <embox/test.h>
11

12
#include <trex.h>
13

14
EMBOX_TEST_SUITE("third-party/trex test");
15

16
static int match_string(char *pattern, char *request) {
17
	TRexChar error[40];
18
	TRex *trex;
19

20
	trex = trex_compile(_TREXC(pattern), error);
21

22
	if (trex) {
23
		const TRexChar *begin, *end;
24

25
		if (trex_search(trex, request, &begin, &end)) {
26
			trex_free(trex);
27
			return 1;
28
		} else {
29
			trex_free(trex);
30
			return 0;
31
		}
32
	}
33

34
	return 0;
35
}
36

37

38
TEST_CASE("Trex test") {
39
	test_assert_true(match_string("#[-\\w_]*", "#ab-sF"));
40
	test_assert_false(match_string("#[-\\w_]*", "ab-sF"));
41

42
	test_assert_true(match_string("^\\a{2,}", "abcd"));
43
	test_assert_false(match_string("^\\a{2,}", "1abcd"));
44

45
	test_assert_true(
46
		match_string("Simple\\s[a-zA-Z]+\\stest", "Simple simple test"));
47

48
	test_assert_false(
49
		match_string("Simple\\s[a-zA-Z]+\\stest", "Simpl simple test"));
50
}
51

52

53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.