From 393093fea620c1e3096354101e2b664b90b27211 Mon Sep 17 00:00:00 2001 From: zYne Date: Tue, 26 Dec 2006 21:54:44 +0000 Subject: [PATCH] added TestCase for Sqlite portable error handling --- tests/Connection/SqliteTestCase.php | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 tests/Connection/SqliteTestCase.php diff --git a/tests/Connection/SqliteTestCase.php b/tests/Connection/SqliteTestCase.php new file mode 100644 index 000000000..fc93ce1c7 --- /dev/null +++ b/tests/Connection/SqliteTestCase.php @@ -0,0 +1,61 @@ +exc->processErrorInfo(array(0,0, 'no such table: test1')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_NOSUCHTABLE); + } + public function testNoSuchIndexErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, 'no such index: test1')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_NOT_FOUND); + } + public function testUniquePrimaryKeyErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, 'PRIMARY KEY must be unique')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_CONSTRAINT); + } + public function testIsNotUniqueErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, 'is not unique')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_CONSTRAINT); + } + public function testColumnsNotUniqueErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, 'columns name, id are not unique')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_CONSTRAINT); + } + public function testUniquenessConstraintErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, 'uniqueness constraint failed')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_CONSTRAINT); + } + public function testNotNullConstraintErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, 'may not be NULL')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_CONSTRAINT_NOT_NULL); + } + public function testNoSuchFieldErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, 'no such column: column1')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_NOSUCHFIELD); + } + public function testColumnNotPresentInTablesErrorIsSupported2() { + $this->exc->processErrorInfo(array(0,0, 'column not present in both tables')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_NOSUCHFIELD); + } + public function testNearSyntaxErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, "near \"SELECT FROM\": syntax error")); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_SYNTAX); + } + public function testValueCountOnRowErrorIsSupported() { + $this->exc->processErrorInfo(array(0,0, '3 values for 2 columns')); + + $this->assertEqual($this->exc->getPortableCode(), Doctrine::ERR_VALUE_COUNT_ON_ROW); + } +}