diff --git a/HTMLKit/HTMLParser.m b/HTMLKit/HTMLParser.m index edfd6ea..f5042c8 100644 --- a/HTMLKit/HTMLParser.m +++ b/HTMLKit/HTMLParser.m @@ -557,18 +557,18 @@ } if (![_stackOfOpenElements containsElement:formattingElement]) { - [self emitParseError:@"Formatting element is not in the Stack of Open Elements"]; + [self emitParseError:@"Formatting element <%@> is not in the Stack of Open Elements (Adoption Agency)", tagName]; [_listOfActiveFormattingElements removeElement:formattingElement]; return NO; } if (![_stackOfOpenElements hasElementInScopeWithTagName:formattingElement.tagName]) { - [self emitParseError:@"Formatting element is not in scope"]; + [self emitParseError:@"Formatting element <%@> is not in scope (Adoption Agency)", tagName]; return NO; } if (![formattingElement isEqual:self.currentNode]) { - [self emitParseError:@"Formatting element is not the current node"]; + [self emitParseError:@"Formatting element <%@> is not the current node (Adoption Agency)", tagName]; } NSUInteger formattingElementIndex = [_stackOfOpenElements indexOfElement:formattingElement]; @@ -640,7 +640,7 @@ { [self generateImpliedEndTagsExceptForElement:nil]; if (![self.currentNode.tagName isEqualToAny:@"td", @"th", nil]) { - [self emitParseError:@"Misnested Cell"]; + [self emitParseError:@"Closing misnested Cell <%@>", self.currentNode.tagName]; } [_stackOfOpenElements popElementsUntilAnElementPoppedWithAnyOfTagNames:@[@"td", @"th"]]; [_listOfActiveFormattingElements clearUptoLastMarker]; @@ -814,7 +814,7 @@ break; } - [self emitParseError:@"Expected a DOCTYPE but got %@", token]; + [self emitParseError:@"Expected a DOCTYPE"]; _document.quirksMode = HTMLQuirksModeQuirks; [self switchInsertionMode:HTMLInsertionModeBeforeHTML]; [self reprocessToken:token]; @@ -849,7 +849,7 @@ break; case HTMLTokenTypeEndTag: if (![token.asEndTagToken.tagName isEqualToAny:@"head", @"body", @"html", @"br", nil]) { - [self emitParseError:@"Unexpected End Tag Token (%@) before ", token.asEndTagToken.tagName]; + [self emitParseError:@"Unexpected end tag %@> before ", token.asEndTagToken.tagName]; return; } break; @@ -895,7 +895,7 @@ return; case HTMLTokenTypeEndTag: if (![token.asEndTagToken.tagName isEqualToAny:@"head", @"body", @"html", @"br", nil]) { - [self emitParseError:@"Unexpected End Tag Token (%@) before
", token.asEndTagToken.tagName]; + [self emitParseError:@"Unexpected end tag %@> before ", token.asEndTagToken.tagName]; return; } break; @@ -955,7 +955,7 @@ _originalInsertionMode = _insertionMode; [self switchInsertionMode:HTMLInsertionModeText]; } else if ([token.asStartTagToken.tagName isEqualToString:@"head"]) { - [self emitParseError:@"Unexpected Start Tag Token (head) in "]; + [self emitParseError:@"Unexpected start tag in "]; } else if ([token.asStartTagToken.tagName isEqualToString:@"template"]) { HTMLTemplate *template = [HTMLTemplate new]; [self insertElement:template]; @@ -975,19 +975,19 @@ break; } else if ([token.asEndTagToken.tagName isEqualToString:@"template"]) { if (![_stackOfOpenElements containsElementWithTagName:@"template"]) { - [self emitParseError:@"Unexpected End Tag Token (template) in "]; + [self emitParseError:@"Unexpected end tag in "]; return; } [self generateAllImpliedEndTagsThoroughly]; if (![self.currentNode.tagName isEqualToString:@"template"]) { - [self emitParseError:@"Unexpected End Tag Token in "]; + [self emitParseError:@"Unexpected end tag %@> in ", self.currentNode.tagName]; } [_stackOfOpenElements popElementsUntilTemplateElementPopped]; [_listOfActiveFormattingElements clearUptoLastMarker]; [_stackOfTemplateInsertionModes removeLastObject]; [self resetInsertionModeAppropriately]; } else { - [self emitParseError:@"Unexpected End Tag Token (%@) in ", token.asEndTagToken.tagName]; + [self emitParseError:@"Unexpected end tag %@> in ", token.asEndTagToken.tagName]; return; } return; @@ -1015,7 +1015,7 @@ [self HTMLInsertionModeInHead:token]; return; } else if ([token.asStartTagToken.tagName isEqualToAny:@"head", @"noscript", nil]) { - [self emitParseError:@"Unexpected Start Tag Token (%@) in