Ejemplo n.º 1
0
 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]));
    }