Skip to content

Commit 76bd589

Browse files
author
Sam Cooke
committed
Fixing SVG close tag bug
1 parent 808d102 commit 76bd589

File tree

4 files changed

+9
-0
lines changed

4 files changed

+9
-0
lines changed

AUTHORS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ Patches and suggestions
3232
- Juan Carlos Garcia Segovia
3333
- Mike West
3434
- Marc DM
35+
- Sam Cooke

CHANGES.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Change Log
66

77
Released on XXX, 2014
88

9+
* Fix: SVG end tags were not being adjusted
10+
911
* XXX
1012

1113

html5lib/html5parser.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2445,6 +2445,8 @@ def processStartTag(self, token):
24452445
def processEndTag(self, token):
24462446
nodeIndex = len(self.tree.openElements) - 1
24472447
node = self.tree.openElements[-1]
2448+
if node.namespace == namespaces["svg"]:
2449+
self.adjustSVGTagNames(token)
24482450
if node.name != token["name"]:
24492451
self.parser.parseError("unexpected-end-tag", {"name": token["name"]})
24502452

html5lib/tests/test_parser2.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ def test_unicode_file(self):
5151
parser = html5parser.HTMLParser()
5252
parser.parse(io.StringIO("a"))
5353

54+
def test_svg_token(self):
55+
parser = html5parser.HTMLParser(strict=True)
56+
parser.parseFragment("<svg><switch><foreignObject></foreignObject></switch></svg>")
57+
5458

5559
def buildTestSuite():
5660
return unittest.defaultTestLoader.loadTestsFromName(__name__)

0 commit comments

Comments
 (0)