ObjFW  Check-in [c4600793bc]

Overview
Comment:Migrate OFXMLElementBuilderTests to ObjFWTest
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | objfwtest
Files: files | file ages | folders
SHA3-256: c4600793bc0eb21aa94ef95689475d844d4a85908663afb66278d243d2cd1785
User & Date: js on 2024-02-17 19:42:37
Other Links: branch diff | manifest | tags
Context
2024-02-17
19:56
Migrate OFNotificationCenterTests to ObjFWTest check-in: 1f32e5e17c user: js tags: objfwtest
19:42
Migrate OFXMLElementBuilderTests to ObjFWTest check-in: c4600793bc user: js tags: objfwtest
19:35
Migrate RuntimeTests to ObjFWTest check-in: 2ffd3b79f9 user: js tags: objfwtest
Changes

Modified new_tests/Makefile from [fe88a73af5] to [5cdba355af].

40
41
42
43
44
45
46

47
48
49
50
51
52
53
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54







+







       OFPBKDF2Tests.m			\
       OFPropertyListTests.m		\
       OFScryptTests.m			\
       OFSetTests.m			\
       OFStringTests.m			\
       OFSystemInfoTests.m		\
       OFUTF8StringTests.m		\
       OFXMLElementBuilderTests.m	\
       ${RUNTIME_ARC_TESTS_M}		\
       RuntimeTests.m			\
       ${USE_SRCS_PLUGINS}		\
       ${USE_SRCS_SOCKETS}		\
       ${USE_SRCS_SUBPROCESSES}		\
       ${USE_SRCS_THREADS}		\
       testfile_bin.m			\

Renamed and modified tests/OFXMLElementBuilderTests.m [94889a4bd5] to new_tests/OFXMLElementBuilderTests.m [7e8aac9296].

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
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
65
66

67

68


69
70







-
+
+

-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+



-
-
+
+





-
-
+
+


-
+

-









-
-
-
-
-
+
+
+
+
+
-

-
+
-
-


 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#include "config.h"

#import "TestsAppDelegate.h"
#import "ObjFW.h"
#import "ObjFWTest.h"

static OFString *const module = @"OFXMLElementBuilder";
static OFXMLNode *nodes[2];
static size_t i = 0;

@implementation TestsAppDelegate (OFXMLElementBuilderTests)
@interface OFXMLElementBuilderTests: OTTestCase <OFXMLElementBuilderDelegate>
{
	OFXMLNode *_nodes[2];
	size_t _i;
}
@end

@implementation OFXMLElementBuilderTests
- (void)dealloc
{
	[_nodes[0] release];
	[_nodes[1] release];

	[super dealloc];
}

- (void)elementBuilder: (OFXMLElementBuilder *)builder
       didBuildElement: (OFXMLElement *)element
{
	OFEnsure(i == 0);
	nodes[i++] = [element retain];
	OTAssertEqual(_i, 0);
	_nodes[_i++] = [element retain];
}

- (void)elementBuilder: (OFXMLElementBuilder *)builder
    didBuildOrphanNode: (OFXMLNode *)node
{
	OFEnsure(i == 1);
	nodes[i++] = [node retain];
	OTAssertEqual(_i, 1);
	_nodes[_i++] = [node retain];
}

- (void)XMLElementBuilderTests
- (void)testElementBuilder
{
	void *pool = objc_autoreleasePoolPush();
	OFXMLParser *parser = [OFXMLParser parser];
	OFXMLElementBuilder *builder = [OFXMLElementBuilder builder];
	OFString *string = @"<foo>bar<![CDATA[f<oo]]>baz<qux/>"
	    " <qux xmlns:qux='urn:qux'><?asd?><qux:bar/><x qux:y='z'/></qux>"
	    "</foo>";

	parser.delegate = builder;
	builder.delegate = self;

	TEST(@"Building elements from parsed XML",
	    R([parser parseString: string]) &&
	    nodes[0] != nil && [nodes[0].XMLString isEqual: string] &&
	    R([parser parseString: @"<!--foo-->"]) &&
	    nodes[1] != nil && [nodes[1].XMLString isEqual: @"<!--foo-->"] &&
	[parser parseString: string];
	OTAssertEqualObjects(_nodes[0].XMLString, string);

	[parser parseString: @"<!--foo-->"];
	OTAssertEqualObjects(_nodes[1].XMLString, @"<!--foo-->");
	    i == 2)

	[nodes[0] release];
	OTAssertEqual(_i, 2);
	[nodes[1] release];
	objc_autoreleasePoolPop(pool);
}
@end

Modified tests/Makefile from [d6e19a7da5] to [58390fbc39].

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
16
17
18
19
20
21
22

23
24
25
26
27
28
29







-







SRCS = OFDataTests.m			\
       OFDictionaryTests.m		\
       OFListTests.m			\
       OFMemoryStreamTests.m		\
       OFNotificationCenterTests.m	\
       OFStreamTests.m			\
       OFValueTests.m			\
       OFXMLElementBuilderTests.m	\
       OFXMLNodeTests.m			\
       OFXMLParserTests.m		\
       TestsAppDelegate.m		\
       ${USE_SRCS_FILES}		\
       ${USE_SRCS_SOCKETS}		\
       ${USE_SRCS_WINDOWS}
SRCS_SOCKETS = ${OF_HTTP_CLIENT_TESTS_M}	\

Modified tests/TestsAppDelegate.h from [13a3ecd173] to [ea3f6e5ee1].

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
103
104
105
106
107
108
109




110
111
112
113
114
115
116
117







-
-
-
-








- (void)valueTests;
@end

@interface TestsAppDelegate (OFWindowsRegistryKeyTests)
- (void)windowsRegistryKeyTests;
@end

@interface TestsAppDelegate (OFXMLElementBuilderTests)
- (void)XMLElementBuilderTests;
@end

@interface TestsAppDelegate (OFXMLNodeTests)
- (void)XMLNodeTests;
@end

@interface TestsAppDelegate (OFXMLParserTests)
    <OFXMLParserDelegate, OFXMLElementBuilderDelegate>
- (void)XMLParserTests;
@end

Modified tests/TestsAppDelegate.m from [36fdae484d] to [88c74ae116].

385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
385
386
387
388
389
390
391

392
393
394
395
396
397
398







-







#endif
#ifdef OF_HAVE_SOCKETS
	[self HTTPCookieTests];
	[self HTTPCookieManagerTests];
#endif
	[self XMLParserTests];
	[self XMLNodeTests];
	[self XMLElementBuilderTests];

#ifdef OF_WINDOWS
	[self windowsRegistryKeyTests];
#endif

	[OFStdOut reset];