Author: jwage Date: 2008-09-25 23:19:58 +0100 (Thu, 25 Sep 2008) New Revision: 4976
Added: branches/1.0/tests/Ticket/1480TestCase.php Modified: branches/1.0/tests/run.php Log: [1.0] Added coverage for #1480 Added: branches/1.0/tests/Ticket/1480TestCase.php =================================================================== --- branches/1.0/tests/Ticket/1480TestCase.php (rev 0) +++ branches/1.0/tests/Ticket/1480TestCase.php 2008-09-25 22:19:58 UTC (rev 4976) @@ -0,0 +1,78 @@ +<?php +/* + * $Id$ + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the LGPL. For more information, see + * <http://www.phpdoctrine.org>. + */ + +/** + * Doctrine_Ticket_1480_TestCase + * + * @package Doctrine + * @author Konsta Vesterinen <[EMAIL PROTECTED]> + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @category Object Relational Mapping + * @link www.phpdoctrine.org + * @since 1.0 + * @version $Revision$ + */ +class Doctrine_Ticket_1480_TestCase extends Doctrine_UnitTestCase +{ + public function prepareTables() + { + $this->tables[] = 'Foo'; + $this->tables[] = 'Bar'; + parent::prepareTables(); + } + + public function testSubQueryWithSoftDeleteTestCase() + { + Doctrine_Manager::getInstance()->setAttribute('use_dql_callbacks', true); + $q = Doctrine_Query::create() + ->from('Foo f') + ->addWhere('f.id IN (SELECT user_id FROM Bar b)'); + $this->assertEqual($q->getSql(), 'SELECT f.id AS f__id, f.name AS f__name, f.password AS f__password, f.deleted AS f__deleted FROM foo f WHERE f.id IN (SELECT f.user_id AS f__user_id FROM bar b WHERE f.deleted = ?) AND f.deleted = ?'); + $this->assertEqual(count($q->getParams()), 2); + Doctrine_Manager::getInstance()->setAttribute('use_dql_callbacks', false); + } +} + +class Foo extends Doctrine_Record +{ + public function setTableDefinition() + { + $this->setTableName('foo'); + $this->hasColumn('id', 'integer'); + $this->hasColumn('name', 'string'); + $this->hasColumn('password', 'string'); + $this->hasColumn('deleted', 'boolean'); + } + + public function setUp() + { + $this->actAs('SoftDelete'); + } +} + +class Bar extends Doctrine_Record +{ + public function setTableDefinition() + { + $this->setTableName('bar'); + $this->hasColumn('user_id', 'integer'); + } +} \ No newline at end of file Modified: branches/1.0/tests/run.php =================================================================== --- branches/1.0/tests/run.php 2008-09-25 21:05:15 UTC (rev 4975) +++ branches/1.0/tests/run.php 2008-09-25 22:19:58 UTC (rev 4976) @@ -136,6 +136,8 @@ $tickets->addTestCase(new Doctrine_Ticket_1400_TestCase()); $tickets->addTestCase(new Doctrine_Ticket_1419_TestCase()); $tickets->addTestCase(new Doctrine_Ticket_1436_TestCase()); +$tickets->addTestCase(new Doctrine_Ticket_1452_TestCase()); +$tickets->addTestCase(new Doctrine_Ticket_1480_TestCase()); $test->addTestCase($tickets); // Connection Tests (not yet fully tested) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "doctrine-svn" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.co.uk/group/doctrine-svn?hl=en-GB -~----------~----~----~----~------~----~------~--~---
