Fix improper comparison of numeric default attribute values with textvalues resulting in wrongly removed attributes (#101)

For example for `orient="auto"` SVGLength() returns (value=0, units=Unit.INVALID); since the default value for `orient` is zero it was removed as there was check for a valid unit.
This commit is contained in:
Eduard Braun 2016-08-29 06:37:28 +02:00 committed by GitHub
parent 3511c05298
commit 842123a393
3 changed files with 23 additions and 3 deletions

View file

@ -1238,11 +1238,19 @@ class DoNotCommonizeAttributesOnReferencedElements(unittest.TestCase):
class DoNotRemoveOverflowVisibleOnMarker(unittest.TestCase):
def runTest(self):
doc = scour.scourXmlFile('unittests/overflow-marker.svg')
self.assertEqual(doc.getElementsByTagName('marker')[0].getAttribute('overflow'), 'visible',
self.assertEqual(doc.getElementById('m1').getAttribute('overflow'), 'visible',
'Removed the overflow attribute when it was not using the default value')
self.assertEqual(doc.getElementsByTagName('marker')[1].getAttribute('overflow'), '',
self.assertEqual(doc.getElementById('m2').getAttribute('overflow'), '',
'Did not remove the overflow attribute when it was using the default value')
class DoNotRemoveOrientAutoOnMarker(unittest.TestCase):
def runTest(self):
doc = scour.scourXmlFile('unittests/orient-marker.svg')
self.assertEqual(doc.getElementById('m1').getAttribute('orient'), 'auto',
'Removed the orient attribute when it was not using the default value')
self.assertEqual(doc.getElementById('m2').getAttribute('orient'), '',
'Did not remove the orient attribute when it was using the default value')
class MarkerOnSvgElements(unittest.TestCase):
def runTest(self):
doc = scour.scourXmlFile('unittests/overflow-svg.svg')