#!/usr/bin/env python
# Copyright (c) 2011 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"" " Unit tests for the easy_xml.py file. " ""
import gyp.easy_xml as easy_xml
import unittest
try :
from StringIO import StringIO
except ImportError:
from io import StringIO
class TestSequenceFunctions(unittest.TestCase):
def setUp(self):
self.stderr = StringIO()
def test_EasyXml_simple(self):
self.assertEqual(
easy_xml.XmlToString(['test' ]),
'<?xml version="1.0" encoding="utf-8"?><test/>' )
self.assertEqual(
easy_xml.XmlToString(['test' ], encoding='Windows-1252' ),
'<?xml version="1.0" encoding="Windows-1252"?><test/>' )
def test_EasyXml_simple_with_attributes(self):
self.assertEqual(
easy_xml.XmlToString(['test2' , {'a' : 'value1' , 'b' : 'value2' }]),
'<?xml version="1.0" encoding="utf-8"?><test2 a="value1" b="value2"/>' )
def test_EasyXml_escaping(self):
original = '<test>\' "\r&\nfoo'
converted = '<test>\' "
&
foo'
converted_apos = converted.replace("'" , ''' )
self.assertEqual(
easy_xml.XmlToString(['test3' , {'a' : original}, original]),
'<?xml version="1.0" encoding="utf-8"?><test3 a="%s">%s</test3>' %
(converted, converted_apos))
def test_EasyXml_pretty(self):
self.assertEqual(
easy_xml.XmlToString(
['test3' ,
['GrandParent' ,
['Parent1' ,
['Child' ]
],
['Parent2' ]
]
],
pretty=True ),
'<?xml version="1.0" encoding="utf-8"?>\n'
'<test3>\n'
' <GrandParent>\n'
' <Parent1>\n'
' <Child/>\n'
' </Parent1>\n'
' <Parent2/>\n'
' </GrandParent>\n'
'</test3>\n' )
def test_EasyXml_complex(self):
# We want to create:
target = (
'<?xml version="1.0" encoding="utf-8"?>'
'<Project>'
'<PropertyGroup Label="Globals">'
'<ProjectGuid>{D2250C20-3A94-4FB9-AF73-11BC5B73884B}</ProjectGuid>'
'<Keyword>Win32Proj</Keyword>'
'<RootNamespace>automated_ui_tests</RootNamespace>'
'</PropertyGroup>'
'<Import Project="$(VCTargetsPath)\\Microsoft.Cpp.props"/>'
'<PropertyGroup '
'Condition="\' $(Configuration)|$(Platform)\'=='
'\' Debug|Win32\'" Label="Configuration">'
'<ConfigurationType>Application</ConfigurationType>'
'<CharacterSet>Unicode</CharacterSet>'
'<SpectreMitigation>SpectreLoadCF</SpectreMitigation>'
'</PropertyGroup>'
'</Project>' )
xml = easy_xml.XmlToString(
['Project' ,
['PropertyGroup' , {'Label' : 'Globals' },
['ProjectGuid' , '{D2250C20-3A94-4FB9-AF73-11BC5B73884B}' ],
['Keyword' , 'Win32Proj' ],
['RootNamespace' , 'automated_ui_tests' ]
],
['Import' , {'Project' : '$(VCTargetsPath)\\Microsoft.Cpp.props' }],
['PropertyGroup' ,
{'Condition' : "'$(Configuration)|$(Platform)'=='Debug|Win32'" ,
'Label' : 'Configuration' },
['ConfigurationType' , 'Application' ],
['CharacterSet' , 'Unicode' ],
['SpectreMitigation' , 'SpectreLoadCF' ]
]
])
self.assertEqual(xml, target)
if __name__ == '__main__' :
unittest.main()
Messung V0.5 in Prozent C=94 H=86 G=89
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-04-25)
¤
*© Formatika GbR, Deutschland