Add unittests for previous commit

This commit is contained in:
Eduard Braun 2016-08-14 18:48:39 +02:00
parent fcddf97dfb
commit 189af6c4b4
2 changed files with 48 additions and 0 deletions

View file

@ -176,6 +176,35 @@ class RemoveUnreferencedElementInDefs(unittest.TestCase):
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'rect')), 1, self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'rect')), 1,
'Unreferenced rect left in defs' ) 'Unreferenced rect left in defs' )
class RemoveUnreferencedDefs(unittest.TestCase):
def runTest(self):
doc = scour.scourXmlFile('unittests/unreferenced-defs.svg')
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'linearGradient')), 1,
'Referenced linearGradient removed from defs' )
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'radialGradient')), 0,
'Unreferenced radialGradient left in defs' )
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'pattern')), 0,
'Unreferenced pattern left in defs' )
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'rect')), 1,
'Referenced rect removed from defs' )
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'circle')), 0,
'Unreferenced circle left in defs' )
class KeepUnreferencedDefs(unittest.TestCase):
def runTest(self):
doc = scour.scourXmlFile('unittests/unreferenced-defs.svg',
scour.parse_args(['--keep-unreferenced-defs'])[0])
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'linearGradient')), 1,
'Referenced linearGradient removed from defs with `--keep-unreferenced-defs`' )
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'radialGradient')), 1,
'Unreferenced radialGradient removed from defs with `--keep-unreferenced-defs`' )
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'pattern')), 1,
'Unreferenced pattern removed from defs with `--keep-unreferenced-defs`' )
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'rect')), 1,
'Referenced rect removed from defs with `--keep-unreferenced-defs`' )
self.assertEqual(len(doc.getElementsByTagNameNS(SVGNS, 'circle')), 1,
'Unreferenced circle removed from defs with `--keep-unreferenced-defs`' )
class DoNotRemoveChainedRefsInDefs(unittest.TestCase): class DoNotRemoveChainedRefsInDefs(unittest.TestCase):
def runTest(self): def runTest(self):
doc = scour.scourXmlFile('unittests/refs-in-defs.svg') doc = scour.scourXmlFile('unittests/refs-in-defs.svg')

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="linearGradient">
<stop offset="0"/>
<stop offset="1" stop-color="blue"/>
</linearGradient>
<radialGradient id="radialGradient">
<stop offset="0"/>
<stop offset="1" stop-color="blue"/>
</radialGradient>
<pattern id="pattern">
<polygon fill="none" points="71.125,-1.896 2.125,-1.896 2.125,-70.896 71.125,-70.896"/>
</pattern>
<rect id="rect" width="50" height="50"/>
<circle id="circle" width="100" height="100"/>
</defs>
<use x="10" y="10" xlink:href="#rect" fill="url(#linearGradient)"/>
</svg>

After

Width:  |  Height:  |  Size: 729 B