@@ -24,11 +24,11 @@
@implementation TestsAppDelegate (OFXMLElementTests)
- (void)XMLElementTests
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
- OFXMLElement *elem[2];
+ OFXMLElement *elem[4];
TEST(@"+[elementWithName:]",
(elem[0] = [OFXMLElement elementWithName: @"foo"]) &&
[[elem[0] string] isEqual: @""])
@@ -35,20 +35,54 @@
TEST(@"+[elementWithName:stringValue:]",
(elem[1] = [OFXMLElement elementWithName: @"foo"
stringValue: @"b&ar"]) &&
[[elem[1] string] isEqual: @"b&ar"])
+ TEST(@"+[elementWithName:namespace:]",
+ (elem[2] = [OFXMLElement elementWithName: @"foo"
+ namespace: @"urn:objfw:test"]) &&
+ R([elem[2] addAttributeWithName: @"test"
+ namespace: @"urn:objfw:test"
+ stringValue: @"test"]) &&
+ R([elem[2] setPrefix: @"objfw-test"
+ forNamespace: @"urn:objfw:test"]) &&
+ [[elem[2] string] isEqual: @""])
+
+ TEST(@"+[elementWithName:namespace:stringValue:]",
+ (elem[3] = [OFXMLElement elementWithName: @"foo"
+ namespace: @"urn:objfw:test"
+ stringValue: @"x"]) &&
+ R([elem[3] setPrefix: @"objfw-test"
+ forNamespace: @"urn:objfw:test"]) &&
+ [[elem[3] string] isEqual: @"x"])
+
TEST(@"-[addAttributeWithName:stringValue:]",
R([elem[0] addAttributeWithName: @"foo"
stringValue: @"b&ar"]) &&
[[elem[0] string] isEqual: @""] &&
R([elem[1] addAttributeWithName: @"foo"
stringValue: @"b&ar"]) &&
[[elem[1] string] isEqual: @"b&ar"])
+ TEST(@"-[setPrefix:forNamespace:]",
+ R([elem[1] setPrefix: @"objfw-test"
+ forNamespace: @"urn:objfw:test"]))
+
+ TEST(@"-[addAttributeWithName:namespace:stringValue:]",
+ R([elem[1] addAttributeWithName: @"foo"
+ namespace: @"urn:objfw:test"
+ stringValue: @"bar"]) &&
+ [[elem[1] string] isEqual:
+ @"b&ar"])
+
TEST(@"-[addChild:]",
R([elem[0] addChild: [OFXMLElement elementWithName: @"bar"]]) &&
- [[elem[0] string] isEqual: @""])
+ [[elem[0] string] isEqual: @""] &&
+ R([elem[2] addChild:
+ [OFXMLElement elementWithName: @"bar"
+ namespace: @"urn:objfw:test"]]) &&
+ [[elem[2] string] isEqual:
+ @""])
[pool drain];
}
@end