コード例 #1
0
    def testTextGap(self):
        source = """\
            <pack>
                <properties>
                    <name>HelloWorld</name>
                    <version>1.0.0</version>
                    <buildtype>executable</buildtype>
                </properties>
            </pack>
            """
            
        ref = """\
            <pack>
                <properties>
                    <name>dlroWolleH</name>
                    <version>1.0.0</version>
                    <buildtype>executable</buildtype>
                </properties>
            </pack>
            """

        source_dom = parseString(source)
        ref_dom = parseString(ref)
        entry = Entry(source_dom, ref_dom)

        self.assertFalse(entry.compare())
        self.assertEqual(len(entry.gaps), 1)
        
        gap = entry.gaps[0]
        self.assertEqual(gap.code, Gap.DIFF_TEXT_CONTENT)
        self.assertEqual(gap.source.tagName, "name")
        self.assertEqual(gap.ref.tagName, "name")
        self.assertEqual(gap.source.firstChild.nodeValue, "HelloWorld")
        self.assertEqual(gap.ref.firstChild.nodeValue, "dlroWolleH")
コード例 #2
0
    def testElementGap(self):
        source = """\
            <pack>
                <properties>
                    <name>HelloWorld</name>
                    <version>1.0.0</version>
                    <build>executable</build>
                </properties>
            </pack>
            """
            
        ref = """\
            <pack>
                <properties>
                    <name>HelloWorld</name>
                    <version>1.0.0</version>
                    <buildtype>executable</buildtype>
                </properties>
            </pack>
            """

        source_dom = parseString(source)
        ref_dom = parseString(ref)
        entry = Entry(source_dom, ref_dom)

        self.assertFalse(entry.compare())
        self.assertEqual(len(entry.gaps), 1)
        
        gap = entry.gaps[0]
        self.assertEqual(gap.code, Gap.DIFF_TAG_NAME)
        self.assertEqual(gap.source.tagName, "build")
        self.assertEqual(gap.ref.tagName, "buildtype")
コード例 #3
0
    def testComboGap(self):
        source = """\
            <pack>
                <properties>
                    <name>Hello</name>
                    <version>toto</version>
                    <buildtype>executable</buildtype>
                </properties>
                <main>
                    <flags>
                        <flag flag="HELLO_TEXT" value="Hello" type="number" />
                    </flags>
                </main>
            </pack>
            """
            
        ref = """\
            <pack>
                <properties>
                    <name>HelloWorld</name>
                    <version>1.0.0</version>
                    <buildtype>executable</buildtype>
                </properties>
                <main>
                    <flags>
                        <flag flag="HELLO_TEXT" value="Hello" type="string" />
                    </flags>
                </main>
            </pack>
            """

        source_dom = parseString(source)
        ref_dom = parseString(ref)
        entry = Entry(source_dom, ref_dom)

        self.assertFalse(entry.compare())        
        self.assertEqual(len(entry.gaps), 3)
        
        gap = entry.gaps[0]
        self.assertEqual(gap.code, Gap.DIFF_TEXT_CONTENT)
        self.assertEqual(gap.source.tagName, "name")
        self.assertEqual(gap.ref.tagName, "name")
        self.assertEqual(gap.source.firstChild.nodeValue, "Hello")
        self.assertEqual(gap.ref.firstChild.nodeValue, "HelloWorld")

        gap = entry.gaps[1]
        self.assertEqual(gap.code, Gap.DIFF_TEXT_CONTENT)
        self.assertEqual(gap.source.tagName, "version")
        self.assertEqual(gap.ref.tagName, "version")
        self.assertEqual(gap.source.firstChild.nodeValue, "toto")
        self.assertEqual(gap.ref.firstChild.nodeValue, "1.0.0")

        gap = entry.gaps[2]
        self.assertEqual(gap.code, Gap.DIFF_ATTRS)
        self.assertEqual(gap.source.tagName, "flag")
        self.assertEqual(gap.ref.tagName, "flag")
コード例 #4
0
 def testRootEqual(self):
     source = """\
         <root>
         </root>
         """
     ref = """\
         <root>
         </root>
         """
     source_dom = parseString(source)
     ref_dom = parseString(ref)
     entry = Entry(source_dom, ref_dom)
     
     self.assertTrue(entry.compare())
     self.assertListEqual(entry.gaps, [])
コード例 #5
0
    def testAttrGap(self):
        source = """\
            <pack>
                <properties>
                    <name>HelloWorld</name>
                    <version>1.0.0</version>
                    <buildtype>executable</buildtype>
                </properties>
                <main>
                    <flags>
                        <flag flag="HELLO_TEXT" value="Hello" kind="string" />
                    </flags>
                </main>
            </pack>
            """
            
        ref = """\
            <pack>
                <properties>
                    <name>HelloWorld</name>
                    <version>1.0.0</version>
                    <buildtype>executable</buildtype>
                </properties>
                <main>
                    <flags>
                        <flag flag="HELLO_TEXT" value="Hello" type="string" />
                    </flags>
                </main>
            </pack>
            """

        source_dom = parseString(source)
        ref_dom = parseString(ref)
        entry = Entry(source_dom, ref_dom)

        self.assertFalse(entry.compare())
        self.assertEqual(len(entry.gaps), 1)
        
        gap = entry.gaps[0]
        self.assertEqual(gap.code, Gap.DIFF_ATTRS)
        self.assertEqual(gap.source.tagName, "flag")
        self.assertEqual(gap.ref.tagName, "flag")
コード例 #6
0
    def testRootGap(self):
        source = """\
            <root>
            </root>
            """
        ref = """\
            <other>
            </other>
            """
        source_dom = parseString(source)
        ref_dom = parseString(ref)
        entry = Entry(source_dom, ref_dom)

        self.assertFalse(entry.compare())
        self.assertEqual(len(entry.gaps), 1)
        
        gap = entry.gaps[0]
        self.assertEqual(gap.code, Gap.DIFF_TAG_NAME)
        self.assertEqual(gap.source.tagName, "root")
        self.assertEqual(gap.ref.tagName, "other")