Browse Source

Merge branch 'master' into messageformatter-refactoring

* master:
  ensure parameter types in baselistview message
  added unit test to verify AR afterSave isNewRecord value
tags/2.0.0-beta
Carsten Brandt 11 years ago
parent
commit
29ef541980
  1. 2
      framework/yii/data/ActiveDataProvider.php
  2. 2
      framework/yii/widgets/BaseListView.php
  3. 10
      tests/unit/data/ar/Customer.php
  4. 9
      tests/unit/framework/db/ActiveRecordTest.php

2
framework/yii/data/ActiveDataProvider.php

@ -158,7 +158,7 @@ class ActiveDataProvider extends BaseDataProvider
throw new InvalidConfigException('The "query" property must be an instance of Query or its subclass.'); throw new InvalidConfigException('The "query" property must be an instance of Query or its subclass.');
} }
$query = clone $this->query; $query = clone $this->query;
return $query->limit(-1)->offset(-1)->count('*', $this->db); return (int) $query->limit(-1)->offset(-1)->count('*', $this->db);
} }
/** /**

2
framework/yii/widgets/BaseListView.php

@ -139,7 +139,7 @@ abstract class BaseListView extends Widget
$pageCount = $pagination->pageCount; $pageCount = $pagination->pageCount;
if (($summaryContent = $this->summary) === null) { if (($summaryContent = $this->summary) === null) {
$summaryContent = '<div class="summary">' $summaryContent = '<div class="summary">'
. Yii::t('yii', 'Showing <b>{totalCount, plural, =0{0} other{{begin}-{end}}}</b> of <b>{totalCount}</b> {totalCount, plural, one{item} other{items}}.') . Yii::t('yii', 'Showing <b>{totalCount, plural, =0{0} other{{begin, number, integer}-{end, number, integer}}}</b> of <b>{totalCount, number, integer}</b> {totalCount, plural, one{item} other{items}}.')
. '</div>'; . '</div>';
} }
} else { } else {

10
tests/unit/data/ar/Customer.php

@ -17,6 +17,9 @@ class Customer extends ActiveRecord
public $status2; public $status2;
public static $afterSaveInsert = null;
public static $afterSaveNewRecord = null;
public static function tableName() public static function tableName()
{ {
return 'tbl_customer'; return 'tbl_customer';
@ -31,4 +34,11 @@ class Customer extends ActiveRecord
{ {
$query->andWhere('status=1'); $query->andWhere('status=1');
} }
public function afterSave($insert)
{
static::$afterSaveInsert = $insert;
static::$afterSaveNewRecord = $this->isNewRecord;
parent::afterSave($insert);
}
} }

9
tests/unit/framework/db/ActiveRecordTest.php

@ -295,10 +295,14 @@ class ActiveRecordTest extends DatabaseTestCase
$this->assertNull($customer->id); $this->assertNull($customer->id);
$this->assertTrue($customer->isNewRecord); $this->assertTrue($customer->isNewRecord);
Customer::$afterSaveNewRecord = null;
Customer::$afterSaveInsert = null;
$customer->save(); $customer->save();
$this->assertEquals(4, $customer->id); $this->assertEquals(4, $customer->id);
$this->assertFalse(Customer::$afterSaveNewRecord);
$this->assertTrue(Customer::$afterSaveInsert);
$this->assertFalse($customer->isNewRecord); $this->assertFalse($customer->isNewRecord);
} }
@ -309,10 +313,15 @@ class ActiveRecordTest extends DatabaseTestCase
$this->assertTrue($customer instanceof Customer); $this->assertTrue($customer instanceof Customer);
$this->assertEquals('user2', $customer->name); $this->assertEquals('user2', $customer->name);
$this->assertFalse($customer->isNewRecord); $this->assertFalse($customer->isNewRecord);
Customer::$afterSaveNewRecord = null;
Customer::$afterSaveInsert = null;
$customer->name = 'user2x'; $customer->name = 'user2x';
$customer->save(); $customer->save();
$this->assertEquals('user2x', $customer->name); $this->assertEquals('user2x', $customer->name);
$this->assertFalse($customer->isNewRecord); $this->assertFalse($customer->isNewRecord);
$this->assertFalse(Customer::$afterSaveNewRecord);
$this->assertFalse(Customer::$afterSaveInsert);
$customer2 = Customer::find(2); $customer2 = Customer::find(2);
$this->assertEquals('user2x', $customer2->name); $this->assertEquals('user2x', $customer2->name);

Loading…
Cancel
Save