assertEqual($this->manager->getAttribute(Doctrine::ATTR_IDXNAME_FORMAT), '%s_idx'); } public function testGetSequenceNameFormatAttribute() { // default sequence name format is %_seq $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_SEQNAME_FORMAT), '%s_seq'); } public function testSetIndexNameFormatAttribute() { $original = $this->manager->getAttribute(Doctrine::ATTR_IDXNAME_FORMAT); $this->manager->setAttribute(Doctrine::ATTR_IDXNAME_FORMAT, '%_index'); $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_IDXNAME_FORMAT), '%_index'); $this->manager->setAttribute(Doctrine::ATTR_IDXNAME_FORMAT, $original); } public function testSetSequenceNameFormatAttribute() { $original = $this->manager->getAttribute(Doctrine::ATTR_SEQNAME_FORMAT); $this->manager->setAttribute(Doctrine::ATTR_SEQNAME_FORMAT, '%_sequence'); $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_SEQNAME_FORMAT), '%_sequence'); $this->manager->setAttribute(Doctrine::ATTR_SEQNAME_FORMAT, $original); } public function testExceptionIsThrownWhenSettingIndexNameFormatAttributeAtTableLevel() { try { $this->connection->getTable('Entity')->setAttribute(Doctrine::ATTR_IDXNAME_FORMAT, '%s_idx'); $this->fail(); } catch(Doctrine_Exception $e) { $this->pass(); } } public function testExceptionIsThrownWhenSettingSequenceNameFormatAttributeAtTableLevel() { try { $this->connection->getTable('Entity')->setAttribute(Doctrine::ATTR_SEQNAME_FORMAT, '%s_seq'); $this->fail(); } catch(Doctrine_Exception $e) { $this->pass(); } } public function testSettingFieldCaseIsSuccesfulWithZero() { $original = $this->connection->getAttribute(Doctrine::ATTR_FIELD_CASE); try { $this->connection->setAttribute(Doctrine::ATTR_FIELD_CASE, 0); $this->pass(); } catch(Doctrine_Exception $e) { $this->fail(); } $this->connection->setAttribute(Doctrine::ATTR_FIELD_CASE, $original); } public function testSettingFieldCaseIsSuccesfulWithCaseConstants() { $original = $this->connection->getAttribute(Doctrine::ATTR_FIELD_CASE); try { $this->connection->setAttribute(Doctrine::ATTR_FIELD_CASE, CASE_LOWER); $this->pass(); } catch(Doctrine_Exception $e) { $this->fail(); } $this->connection->setAttribute(Doctrine::ATTR_FIELD_CASE, $original); } public function testSettingFieldCaseIsSuccesfulWithCaseConstants2() { $original = $this->connection->getAttribute(Doctrine::ATTR_FIELD_CASE); try { $this->connection->setAttribute(Doctrine::ATTR_FIELD_CASE, CASE_UPPER); $this->pass(); } catch(Doctrine_Exception $e) { $this->fail(); } $this->connection->setAttribute(Doctrine::ATTR_FIELD_CASE, $original); } public function testExceptionIsThrownWhenSettingFieldCaseToNotZeroOneOrTwo() { try { $this->connection->setAttribute(Doctrine::ATTR_FIELD_CASE, -1); $this->fail(); } catch(Doctrine_Exception $e) { $this->pass(); } } public function testExceptionIsThrownWhenSettingFieldCaseToNotZeroOneOrTwo2() { try { $this->connection->setAttribute(Doctrine::ATTR_FIELD_CASE, 5); $this->fail(); } catch(Doctrine_Exception $e) { $this->pass(); } } public function testDefaultQuoteIdentifierAttributeValueIsFalse() { $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_QUOTE_IDENTIFIER), false); } public function testQuoteIdentifierAttributeAcceptsBooleans() { $this->manager->setAttribute(Doctrine::ATTR_QUOTE_IDENTIFIER, true); $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_QUOTE_IDENTIFIER), true); $this->manager->setAttribute(Doctrine::ATTR_QUOTE_IDENTIFIER, false); } public function testDefaultSequenceColumnNameAttributeValueIsId() { $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_SEQCOL_NAME), 'id'); } public function testSequenceColumnNameAttributeAcceptsStrings() { $original = $this->manager->getAttribute(Doctrine::ATTR_SEQCOL_NAME); $this->manager->setAttribute(Doctrine::ATTR_SEQCOL_NAME, 'sequence'); $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_SEQCOL_NAME), 'sequence'); $this->manager->setAttribute(Doctrine::ATTR_SEQCOL_NAME, $original); } public function testValidatorAttributeAcceptsBooleans() { $this->manager->setAttribute(Doctrine::ATTR_VALIDATE, true); $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_VALIDATE), true); $this->manager->setAttribute(Doctrine::ATTR_VALIDATE, false); } public function testDefaultPortabilityAttributeValueIsAll() { $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_PORTABILITY), Doctrine::PORTABILITY_NONE); } public function testPortabilityAttributeAcceptsPortabilityConstants() { $this->manager->setAttribute(Doctrine::ATTR_PORTABILITY, Doctrine::PORTABILITY_RTRIM | Doctrine::PORTABILITY_FIX_CASE); $this->assertEqual($this->manager->getAttribute(Doctrine::ATTR_PORTABILITY), Doctrine::PORTABILITY_RTRIM | Doctrine::PORTABILITY_FIX_CASE); $this->manager->setAttribute(Doctrine::ATTR_PORTABILITY, Doctrine::PORTABILITY_ALL); } public function testDefaultListenerIsDoctrineEventListener() { $this->assertTrue($this->manager->getAttribute(Doctrine::ATTR_LISTENER) instanceof Doctrine_EventListener); } public function testListenerAttributeAcceptsEventListenerObjects() { $original = $this->manager->getAttribute(Doctrine::ATTR_LISTENER); $this->manager->setAttribute(Doctrine::ATTR_LISTENER, new Doctrine_EventListener()); $this->assertTrue($this->manager->getAttribute(Doctrine::ATTR_LISTENER) instanceof Doctrine_EventListener); $this->manager->setAttribute(Doctrine::ATTR_LISTENER, $original); } public function testCollectionKeyAttributeAcceptsValidColumnName() { $original = $this->connection->getTable('User')->getAttribute(Doctrine::ATTR_COLL_KEY); try { $this->connection->getTable('User')->setAttribute(Doctrine::ATTR_COLL_KEY, 'name'); $this->pass(); } catch(Exception $e) { $this->fail(); } $this->connection->getTable('User')->setAttribute(Doctrine::ATTR_COLL_KEY, $original); } public function testSettingInvalidColumnNameToCollectionKeyAttributeThrowsException() { try { $this->connection->getTable('User')->setAttribute(Doctrine::ATTR_COLL_KEY, 'unknown'); $this->fail(); } catch(Exception $e) { $this->pass(); } } public function testSettingCollectionKeyAttributeOnOtherThanTableLevelThrowsException() { try { $this->connection->setAttribute(Doctrine::ATTR_COLL_KEY, 'name'); $this->fail(); } catch(Exception $e) { $this->pass(); } } public function testGetAttributes() { $this->assertTrue(is_array($this->manager->getAttributes())); } }