ObjFW  Diff

Differences From Artifact [5f20b80e90]:

To Artifact [7c6e7637bc]:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16
17
18
19
20













-







/*
 * Copyright (c) 2008 - 2010
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of ObjFW. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#include "config.h"

#include <string.h>
#include <assert.h>

#import "OFXMLElement.h"
#import "OFXMLParser.h"
#import "OFXMLElementBuilder.h"
#import "OFAutoreleasePool.h"

33
34
35
36
37
38
39
40

41
42
43
44
45
46
47
48

49
50
51

52
53
54
55
56
32
33
34
35
36
37
38

39
40
41
42
43
44
45
46

47



48
49
50
51
52
53







-
+







-
+
-
-
-
+





}

- (void)XMLElementBuilderTests
{
	OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
	OFXMLParser *p = [OFXMLParser parser];
	OFXMLElementBuilder *builder = [OFXMLElementBuilder elementBuilder];
	const char *str = "<foo>bar<![CDATA[f<oo]]>baz<qux/>"
	OFString *str = @"<foo>bar<![CDATA[f<oo]]>baz<qux/>"
	    " <qux xmlns:qux='urn:qux'><qux:bar/><x qux:y='z'/></qux>"
	    "</foo>";

	[p setDelegate: builder];
	[builder setDelegate: self];

	TEST(@"Building element from parsed XML",
	    R([p parseBuffer: str
	    R([p parseString: str]) &&
		    withSize: strlen(str)]) &&
    	    elem != nil && !strcmp([[elem string] cString], str))

	    elem != nil && [[elem stringValue] isEqual: str])

	[elem release];
	[pool drain];
}
@end