@@ -22,11 +22,11 @@ static OFString *module = @"OFXMLParser"; static int i = 0; enum event_type { - PROCESSING_INSTRUCTIONS, + PROCESSING_INSTRUCTION, TAG_OPEN, TAG_CLOSE, STRING, CDATA, COMMENT @@ -46,16 +46,17 @@ i++; msg = [OFString stringWithFormat: @"Parsing part #%d", i]; switch (i) { case 1: - TEST(msg, type == PROCESSING_INSTRUCTIONS && - [string isEqual: @"xml version='1.0'"]) + TEST(msg, type == PROCESSING_INSTRUCTION && + [name isEqual: @"xml"] && + [string isEqual: @"version='1.0'"]) break; case 2: - TEST(msg, type == PROCESSING_INSTRUCTIONS && - [string isEqual: @"p?i"]) + TEST(msg, type == PROCESSING_INSTRUCTION && + [name isEqual: @"p?i"] && string == nil) break; case 3: TEST(msg, type == TAG_OPEN && [name isEqual: @"root"] && prefix == nil && ns == nil && attrs.count == 0) break; @@ -230,20 +231,21 @@ prefix == nil && ns == nil); break; } } -- (void)parser: (OFXMLParser *)parser - foundProcessingInstructions: (OFString *)pi +- (void)parser: (OFXMLParser *)parser + foundProcessingInstructionWithTarget: (OFString *)target + data: (OFString *)data { [self parser: parser - didCreateEvent: PROCESSING_INSTRUCTIONS - name: nil + didCreateEvent: PROCESSING_INSTRUCTION + name: target prefix: nil namespace: nil attributes: nil - string: pi]; + string: data]; } - (void)parser: (OFXMLParser *)parser didStartElement: (OFString *)name prefix: (OFString *)prefix @@ -369,22 +371,22 @@ EXPECT_EXCEPTION(@"Detection of junk after the document #2", OFMalformedXMLException, [parser parseString: @""]) parser = [OFXMLParser parser]; - EXPECT_EXCEPTION(@"Detection of invalid XML processing instructions #2", + EXPECT_EXCEPTION(@"Detection of invalid XML processing instruction #2", OFInvalidEncodingException, [parser parseString: @""]) parser = [OFXMLParser parser]; - EXPECT_EXCEPTION(@"Detection of invalid XML processing instructions #3", + EXPECT_EXCEPTION(@"Detection of invalid XML processing instruction #3", OFMalformedXMLException, [parser parseString: @""]) objc_autoreleasePoolPop(pool); } @end