"Fossies" - the Fresh Open Source Software Archive

Member "Atom/resources/app/apm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py" (7 Feb 2017, 3270 Bytes) of archive /windows/misc/atom-windows.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/usr/bin/env python
    2 
    3 # Copyright (c) 2011 Google Inc. All rights reserved.
    4 # Use of this source code is governed by a BSD-style license that can be
    5 # found in the LICENSE file.
    6 
    7 """ Unit tests for the easy_xml.py file. """
    8 
    9 import gyp.easy_xml as easy_xml
   10 import unittest
   11 import StringIO
   12 
   13 
   14 class TestSequenceFunctions(unittest.TestCase):
   15 
   16   def setUp(self):
   17     self.stderr = StringIO.StringIO()
   18 
   19   def test_EasyXml_simple(self):
   20     self.assertEqual(
   21       easy_xml.XmlToString(['test']),
   22       '<?xml version="1.0" encoding="utf-8"?><test/>')
   23 
   24     self.assertEqual(
   25       easy_xml.XmlToString(['test'], encoding='Windows-1252'),
   26       '<?xml version="1.0" encoding="Windows-1252"?><test/>')
   27 
   28   def test_EasyXml_simple_with_attributes(self):
   29     self.assertEqual(
   30       easy_xml.XmlToString(['test2', {'a': 'value1', 'b': 'value2'}]),
   31       '<?xml version="1.0" encoding="utf-8"?><test2 a="value1" b="value2"/>')
   32 
   33   def test_EasyXml_escaping(self):
   34     original = '<test>\'"\r&\nfoo'
   35     converted = '&lt;test&gt;\'&quot;&#xD;&amp;&#xA;foo'
   36     converted_apos = converted.replace("'", '&apos;')
   37     self.assertEqual(
   38       easy_xml.XmlToString(['test3', {'a': original}, original]),
   39       '<?xml version="1.0" encoding="utf-8"?><test3 a="%s">%s</test3>' %
   40       (converted, converted_apos))
   41 
   42   def test_EasyXml_pretty(self):
   43     self.assertEqual(
   44       easy_xml.XmlToString(
   45           ['test3',
   46             ['GrandParent',
   47               ['Parent1',
   48                 ['Child']
   49               ],
   50               ['Parent2']
   51             ]
   52           ],
   53           pretty=True),
   54       '<?xml version="1.0" encoding="utf-8"?>\n'
   55       '<test3>\n'
   56       '  <GrandParent>\n'
   57       '    <Parent1>\n'
   58       '      <Child/>\n'
   59       '    </Parent1>\n'
   60       '    <Parent2/>\n'
   61       '  </GrandParent>\n'
   62       '</test3>\n')
   63 
   64 
   65   def test_EasyXml_complex(self):
   66     # We want to create:
   67     target = (
   68       '<?xml version="1.0" encoding="utf-8"?>'
   69       '<Project>'
   70         '<PropertyGroup Label="Globals">'
   71           '<ProjectGuid>{D2250C20-3A94-4FB9-AF73-11BC5B73884B}</ProjectGuid>'
   72           '<Keyword>Win32Proj</Keyword>'
   73           '<RootNamespace>automated_ui_tests</RootNamespace>'
   74         '</PropertyGroup>'
   75         '<Import Project="$(VCTargetsPath)\\Microsoft.Cpp.props"/>'
   76         '<PropertyGroup '
   77             'Condition="\'$(Configuration)|$(Platform)\'=='
   78                        '\'Debug|Win32\'" Label="Configuration">'
   79           '<ConfigurationType>Application</ConfigurationType>'
   80           '<CharacterSet>Unicode</CharacterSet>'
   81         '</PropertyGroup>'
   82       '</Project>')
   83 
   84     xml = easy_xml.XmlToString(
   85         ['Project',
   86           ['PropertyGroup', {'Label': 'Globals'},
   87             ['ProjectGuid', '{D2250C20-3A94-4FB9-AF73-11BC5B73884B}'],
   88             ['Keyword', 'Win32Proj'],
   89             ['RootNamespace', 'automated_ui_tests']
   90           ],
   91           ['Import', {'Project': '$(VCTargetsPath)\\Microsoft.Cpp.props'}],
   92           ['PropertyGroup',
   93             {'Condition': "'$(Configuration)|$(Platform)'=='Debug|Win32'",
   94              'Label': 'Configuration'},
   95             ['ConfigurationType', 'Application'],
   96             ['CharacterSet', 'Unicode']
   97           ]
   98         ])
   99     self.assertEqual(xml, target)
  100 
  101 
  102 if __name__ == '__main__':
  103   unittest.main()