File: test-fields.h

package info (click to toggle)
universal-ctags 6.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 37,612 kB
  • sloc: ansic: 158,498; sh: 8,621; lisp: 7,742; vhdl: 6,518; cpp: 2,583; perl: 2,578; python: 2,324; javascript: 2,054; cs: 1,193; lex: 1,015; sql: 897; makefile: 787; ruby: 764; php: 755; cobol: 741; f90: 566; ada: 559; asm: 509; yacc: 465; fortran: 412; xml: 405; objc: 289; tcl: 280; java: 173; erlang: 65; pascal: 58; ml: 49; awk: 44; haskell: 42
file content (64 lines) | stat: -rw-r--r-- 1,740 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
*   Copyright (c) 2022, Masatake YAMATO
*
*   This source code is released into the public domain.
*
*   Testing the fix for handling unescaping
*/

#ifndef TEST_FIELDS_H
#define TEST_FIELDS_H

#define NEXT()										\
	r = tagsNext (t, &e);							\
	if (r != TagSuccess)							\
	{												\
		fprintf (stderr, "error in tagsNext\n");	\
		return 1;									\
	}												\
	do {} while (0)

#define CHECK(EXP,FIELD)												\
	if (strcmp (EXP, e.FIELD) != 0)										\
	{																	\
		fprintf (stderr, "unexpected " #FIELD "(expected: %s, actual: %s) in tagsFirst\n", \
				 EXP, e.FIELD);											\
		return 1;														\
	} \
	do {} while (0)

#define CHECK_X(FIELD,EXP)												\
	{																	\
		unsigned short i;												\
		for (i = 0; i < e.fields.count; i++)							\
		{																\
			if (strcmp (e.fields.list [i].key, FIELD) == 0)				\
			{															\
				if (strcmp(e.fields.list [i].value, EXP) == 0)			\
					break;												\
				else													\
				{														\
					fprintf (stderr, "unexpected " #FIELD "(expected: %s, actual: %s) in tagsFirst\n", \
							 EXP, e.fields.list [i].value);				\
					return 1;											\
				}														\
			}															\
		}																\
		if (i >= e.fields.count)										\
		{																\
			fprintf (stderr, "unexpected " #FIELD " field is not found in tagsFirst (count: %u)\n", \
					 e.fields.count);									\
			return 1;													\
		}																\
	}

#define CHECK3(NAME,FILE,PAT)					\
	CHECK ((NAME), name);						\
	CHECK ((FILE), file);						\
	CHECK ((PAT),  address.pattern)

#define NEXT_CHECK3(NAME,FILE,PAT)				\
	NEXT ();									\
	CHECK3 (NAME,FILE,PAT)

#endif	/* !TEST_FIELDS_H */