protected function loadAndBuild() { $this->loadPropelQuickBuilder(); if (!class_exists('Glorpen\\Propel\\PropelBundle\\Tests\\Fixtures\\Model\\Book', false)) { $builder = new \PropelQuickBuilder(); $builder->getConfig()->setBuildProperty('behaviorEventClass', 'Behaviors.EventBehavior'); $builder->getConfig()->setBuildProperty('behaviorExtendClass', 'Behaviors.ExtendBehavior'); $builder->setSchema(static::$schema); $builder->setClassTargets(array('tablemap', 'peer', 'object', 'query', 'peerstub', 'querystub')); file_put_contents("/tmp/a.php", $builder->getClasses()); $builder->build(); $con = new EventPropelPDO('sqlite::memory:'); $con->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_WARNING); $name = $builder->getDatabase()->getName(); \Propel::setConnection($name, $con, \Propel::CONNECTION_READ); \Propel::setConnection($name, $con, \Propel::CONNECTION_WRITE); $builder->buildSQL($con); } }
public function testVersionColumnNameCaseInsensitivity() { $schema = <<<XML <database name="versionable_behavior_test_case_insensitivity"> <table name="VersionableBehaviorTestCaseInsensitivity"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="name" type="varchar" size="64" /> <behavior name="versionable"> <parameter name="version_column" value="Version"/> </behavior> </table> </database> XML; $builder = new PropelQuickBuilder(); $builder->setSchema($schema); $classes = $builder->getClasses(); preg_match_all('/public function getVersion\\(/', $classes, $getterMatches); preg_match_all('/public function filterByVersion\\(/', $classes, $filterMatches); // there should be two versions of this getter in the source. one for the main // class and one for the version class $this->assertEquals(2, sizeof($getterMatches[0])); // there should be two versions of the filter. one for the main query class // and one for the version query class $this->assertEquals(2, sizeof($filterMatches[0])); }