| Index: third_party/twisted_8_1/twisted/words/test/test_xpath.py
 | 
| diff --git a/third_party/twisted_8_1/twisted/words/test/test_xpath.py b/third_party/twisted_8_1/twisted/words/test/test_xpath.py
 | 
| deleted file mode 100644
 | 
| index ad9ef67ee6c5d09998a78f6cea69e9d0d826288a..0000000000000000000000000000000000000000
 | 
| --- a/third_party/twisted_8_1/twisted/words/test/test_xpath.py
 | 
| +++ /dev/null
 | 
| @@ -1,260 +0,0 @@
 | 
| -# Copyright (c) 2001-2005 Twisted Matrix Laboratories.
 | 
| -# See LICENSE for details.
 | 
| -
 | 
| -
 | 
| -from twisted.trial import unittest
 | 
| -import sys, os
 | 
| -
 | 
| -from twisted.words.xish.domish import Element
 | 
| -from twisted.words.xish.xpath import XPathQuery
 | 
| -from twisted.words.xish import xpath
 | 
| -
 | 
| -class XPathTest(unittest.TestCase):
 | 
| -    def setUp(self):
 | 
| -        # Build element:
 | 
| -        # <foo xmlns='testns' attrib1='value1' attrib3="user@host/resource">
 | 
| -        #     somecontent
 | 
| -        #     <bar>
 | 
| -        #        <foo>
 | 
| -        #         <gar>DEF</gar>
 | 
| -        #        </foo>
 | 
| -        #     </bar>
 | 
| -        #     somemorecontent
 | 
| -        #     <bar attrib2="value2">
 | 
| -        #        <bar>
 | 
| -        #          <foo/>
 | 
| -        #          <gar>ABC</gar>
 | 
| -        #        </bar>
 | 
| -        #     <bar/>
 | 
| -        #     <bar attrib4='value4' attrib5='value5'>
 | 
| -        #        <foo/>
 | 
| -        #        <gar>JKL</gar>
 | 
| -        #     </bar>
 | 
| -        #     <bar attrib4='value4' attrib5='value4'>
 | 
| -        #        <foo/>
 | 
| -        #        <gar>MNO</gar>
 | 
| -        #     </bar>
 | 
| -        #     <bar attrib4='value4' attrib5='value6'/>
 | 
| -        # </foo>
 | 
| -        self.e = Element(("testns", "foo"))
 | 
| -        self.e["attrib1"] = "value1"
 | 
| -        self.e["attrib3"] = "user@host/resource"
 | 
| -        self.e.addContent("somecontent")
 | 
| -        self.bar1 = self.e.addElement("bar")
 | 
| -        self.subfoo = self.bar1.addElement("foo")
 | 
| -        self.gar1 = self.subfoo.addElement("gar")
 | 
| -        self.gar1.addContent("DEF")
 | 
| -        self.e.addContent("somemorecontent")
 | 
| -        self.bar2 = self.e.addElement("bar")
 | 
| -        self.bar2["attrib2"] = "value2"
 | 
| -        self.bar3 = self.bar2.addElement("bar")
 | 
| -        self.subfoo2 = self.bar3.addElement("foo")
 | 
| -        self.gar2 = self.bar3.addElement("gar")
 | 
| -        self.gar2.addContent("ABC")
 | 
| -        self.bar4 = self.e.addElement("bar")
 | 
| -        self.bar5 = self.e.addElement("bar")
 | 
| -        self.bar5["attrib4"] = "value4"
 | 
| -        self.bar5["attrib5"] = "value5"
 | 
| -        self.subfoo3 = self.bar5.addElement("foo")
 | 
| -        self.gar3 = self.bar5.addElement("gar")
 | 
| -        self.gar3.addContent("JKL")
 | 
| -        self.bar6 = self.e.addElement("bar")
 | 
| -        self.bar6["attrib4"] = "value4"
 | 
| -        self.bar6["attrib5"] = "value4"
 | 
| -        self.subfoo4 = self.bar6.addElement("foo")
 | 
| -        self.gar4 = self.bar6.addElement("gar")
 | 
| -        self.gar4.addContent("MNO")
 | 
| -        self.bar7 = self.e.addElement("bar")
 | 
| -        self.bar7["attrib4"] = "value4"
 | 
| -        self.bar7["attrib5"] = "value6"
 | 
| -
 | 
| -    def test_staticMethods(self):
 | 
| -        """
 | 
| -        Test basic operation of the static methods.
 | 
| -        """
 | 
| -        self.assertEquals(xpath.matches("/foo/bar", self.e),
 | 
| -                          True)
 | 
| -        self.assertEquals(xpath.queryForNodes("/foo/bar", self.e),
 | 
| -                          [self.bar1, self.bar2, self.bar4,
 | 
| -                           self.bar5, self.bar6, self.bar7])
 | 
| -        self.assertEquals(xpath.queryForString("/foo", self.e),
 | 
| -                          "somecontent")
 | 
| -        self.assertEquals(xpath.queryForStringList("/foo", self.e),
 | 
| -                          ["somecontent", "somemorecontent"])
 | 
| -
 | 
| -    def test_locationFooBar(self):
 | 
| -        """
 | 
| -        Test matching foo with child bar.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo/bar")
 | 
| -        self.assertEquals(xp.matches(self.e), 1)
 | 
| -
 | 
| -    def test_locationFooBarFoo(self):
 | 
| -        """
 | 
| -        Test finding foos at the second level.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo/bar/foo")
 | 
| -        self.assertEquals(xp.matches(self.e), 1)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.subfoo,
 | 
| -                                                     self.subfoo3,
 | 
| -                                                     self.subfoo4])
 | 
| -
 | 
| -    def test_locationNoBar3(self):
 | 
| -        """
 | 
| -        Test not finding bar3.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo/bar3")
 | 
| -        self.assertEquals(xp.matches(self.e), 0)
 | 
| -
 | 
| -    def test_locationAllChilds(self):
 | 
| -        """
 | 
| -        Test finding childs of foo.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo/*")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar1, self.bar2,
 | 
| -                                                     self.bar4, self.bar5,
 | 
| -                                                     self.bar6, self.bar7])
 | 
| -
 | 
| -    def test_attribute(self):
 | 
| -        """
 | 
| -        Test matching foo with attribute.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo[@attrib1]")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -
 | 
| -    def test_attributeWithValueAny(self):
 | 
| -        """
 | 
| -        Test find nodes with attribute having value.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo/*[@attrib2='value2']")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar2])
 | 
| -
 | 
| -    def test_position(self):
 | 
| -        """
 | 
| -        Test finding element at position.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo/bar[2]")
 | 
| -        self.assertEquals(xp.matches(self.e), 1)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar1])
 | 
| -
 | 
| -    test_position.todo = "XPath queries with position are not working."
 | 
| -
 | 
| -    def test_namespaceFound(self):
 | 
| -        """
 | 
| -        Test matching node with namespace.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo[@xmlns='testns']/bar")
 | 
| -        self.assertEquals(xp.matches(self.e), 1)
 | 
| -
 | 
| -    def test_namespaceNotFound(self):
 | 
| -        """
 | 
| -        Test not matching node with wrong namespace.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo[@xmlns='badns']/bar2")
 | 
| -        self.assertEquals(xp.matches(self.e), 0)
 | 
| -
 | 
| -    def test_attributeWithValue(self):
 | 
| -        """
 | 
| -        Test matching node with attribute having value.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo[@attrib1='value1']")
 | 
| -        self.assertEquals(xp.matches(self.e), 1)
 | 
| -
 | 
| -    def test_queryForString(self):
 | 
| -        """
 | 
| -        Test for queryForString and queryForStringList.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo")
 | 
| -        self.assertEquals(xp.queryForString(self.e), "somecontent")
 | 
| -        self.assertEquals(xp.queryForStringList(self.e),
 | 
| -                          ["somecontent", "somemorecontent"])
 | 
| -
 | 
| -    def test_queryForNodes(self):
 | 
| -        """
 | 
| -        Test finding nodes.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo/bar")
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar1, self.bar2,
 | 
| -                                                     self.bar4, self.bar5,
 | 
| -                                                     self.bar6, self.bar7])
 | 
| -
 | 
| -    def test_textCondition(self):
 | 
| -        """
 | 
| -        Test matching a node with given text.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo[text() = 'somecontent']")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -
 | 
| -    def test_textNotOperator(self):
 | 
| -        """
 | 
| -        Test for not operator.
 | 
| -        """
 | 
| -        xp = XPathQuery("/foo[not(@nosuchattrib)]")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -
 | 
| -    def test_anyLocationAndText(self):
 | 
| -        """
 | 
| -        Test finding any nodes named gar and getting their text contents.
 | 
| -        """
 | 
| -        xp = XPathQuery("//gar")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.gar1, self.gar2,
 | 
| -                                                     self.gar3, self.gar4])
 | 
| -        self.assertEquals(xp.queryForStringList(self.e), ["DEF", "ABC",
 | 
| -                                                          "JKL", "MNO"])
 | 
| -
 | 
| -    def test_anyLocation(self):
 | 
| -        """
 | 
| -        Test finding any nodes named bar.
 | 
| -        """
 | 
| -        xp = XPathQuery("//bar")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar1, self.bar2,
 | 
| -                                                     self.bar3, self.bar4,
 | 
| -                                                     self.bar5, self.bar6,
 | 
| -                                                     self.bar7])
 | 
| -
 | 
| -    def test_anyLocationQueryForString(self):
 | 
| -        """
 | 
| -        L{XPathQuery.queryForString} should raise a L{NotImplementedError}
 | 
| -        for any location.
 | 
| -        """
 | 
| -        xp = XPathQuery("//bar")
 | 
| -        self.assertRaises(NotImplementedError, xp.queryForString, None)
 | 
| -
 | 
| -    def test_andOperator(self):
 | 
| -        """
 | 
| -        Test boolean and operator in condition.
 | 
| -        """
 | 
| -        xp = XPathQuery("//bar[@attrib4='value4' and @attrib5='value5']")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar5])
 | 
| -
 | 
| -    def test_orOperator(self):
 | 
| -        """
 | 
| -        Test boolean or operator in condition.
 | 
| -        """
 | 
| -        xp = XPathQuery("//bar[@attrib5='value4' or @attrib5='value5']")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar5, self.bar6])
 | 
| -
 | 
| -    def test_booleanOperatorsParens(self):
 | 
| -        """
 | 
| -        Test multiple boolean operators in condition with parens.
 | 
| -        """
 | 
| -        xp = XPathQuery("""//bar[@attrib4='value4' and
 | 
| -                                 (@attrib5='value4' or @attrib5='value6')]""")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar6, self.bar7])
 | 
| -
 | 
| -    def test_booleanOperatorsNoParens(self):
 | 
| -        """
 | 
| -        Test multiple boolean operators in condition without parens.
 | 
| -        """
 | 
| -        xp = XPathQuery("""//bar[@attrib5='value4' or
 | 
| -                                 @attrib5='value5' or
 | 
| -                                 @attrib5='value6']""")
 | 
| -        self.assertEquals(xp.matches(self.e), True)
 | 
| -        self.assertEquals(xp.queryForNodes(self.e), [self.bar5, self.bar6, self.bar7])
 | 
| 
 |