| 743 | print "pattern.db.Table.Query" |
| 744 | |
| 745 | def test_xml(self): |
| 746 | # Assert Query.xml dump. |
| 747 | v = self.db.persons.search(fields=["name", "gender.name"]) |
| 748 | v.aliases["gender.name"] = "gender" |
| 749 | self.db.link("persons", "gender", "gender", "id", join=db.LEFT) |
| 750 | self.assertEqual(v.xml, |
| 751 | '<?xml version="1.0" encoding="utf-8"?>\n' |
| 752 | '<query table="persons" fields="name, gender" count="3">\n' |
| 753 | '\t<schema>\n' |
| 754 | '\t\t<field name="name" type="string" length="100" />\n' |
| 755 | '\t\t<field name="gender" type="string" length="100" />\n' |
| 756 | '\t</schema>\n' |
| 757 | '\t<rows>\n' |
| 758 | '\t\t<row name="john" gender="male" />\n' |
| 759 | '\t\t<row name="jack" gender="male" />\n' |
| 760 | '\t\t<row name="jane" gender="female" />\n' |
| 761 | '\t</rows>\n' |
| 762 | '</query>' |
| 763 | ) |
| 764 | # Assert Database.create() from XML. |
| 765 | self.assertRaises(db.TableError, self.db.create, v.xml) # table 'persons' already exists |
| 766 | self.db.create(v.xml, name="persons2") |
| 767 | self.assertTrue("persons2" in self.db) |
| 768 | self.assertTrue(self.db.persons2.fields == ["name", "gender"]) |
| 769 | self.assertTrue(len(self.db.persons2) == 3) |
| 770 | print "pattern.db.Query.xml" |
| 771 | |
| 772 | |
| 773 | class TestMySQLQuery(TestQuery): |