From 7c32b5f2194bdb517867ffeb97e47e44619777bb Mon Sep 17 00:00:00 2001 From: Vladimir Vlasov Date: Thu, 3 May 2018 19:00:29 +0300 Subject: [PATCH] Fix the issue 28 --- Sources/HTMLNode.m | 2 +- Tests/HTMLKitTests/HTMLNodeIteratorTests.m | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Sources/HTMLNode.m b/Sources/HTMLNode.m index d948ff9..6038db3 100644 --- a/Sources/HTMLNode.m +++ b/Sources/HTMLNode.m @@ -127,7 +127,7 @@ NSString * const RemoveChildNode = @"-removeChildNode:"; - (HTMLElement *)nextSiblingElement { - HTMLNode *node = self.previousSibling; + HTMLNode *node = self.nextSibling; while (node && node.nodeType != HTMLNodeElement) { node = node.nextSibling; } diff --git a/Tests/HTMLKitTests/HTMLNodeIteratorTests.m b/Tests/HTMLKitTests/HTMLNodeIteratorTests.m index 71f1b70..fe51ef4 100644 --- a/Tests/HTMLKitTests/HTMLNodeIteratorTests.m +++ b/Tests/HTMLKitTests/HTMLNodeIteratorTests.m @@ -608,4 +608,19 @@ static HTMLNode * (^ LastDescendant)(HTMLNode *) = ^ HTMLNode * (HTMLNode *node) XCTAssertTrue([element.elementId isEqualToString:divId]); } +- (void)testBugFix_Issue_28 { + HTMLDocument *document = self.document; + HTMLNodeIterator *iterator = document.body.nodeIterator; + + [iterator nextNode]; // Reference node: + + HTMLElement *span = (HTMLElement*)iterator.nextNode; // + NSString *spanTag = @"span"; + XCTAssertTrue([span.tagName isEqualToString:spanTag]); + + HTMLElement *paragraph = span.nextSiblingElement; //

+ NSString *paragraphTag = @"p"; + XCTAssertTrue([paragraph.tagName isEqualToString:paragraphTag]); +} + @end