From fbd4e8691215f522a7b942fef96420e19f1b0c31 Mon Sep 17 00:00:00 2001 From: zYne Date: Thu, 22 Nov 2007 21:19:02 +0000 Subject: [PATCH] --- tests/PluginTestCase.php | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/tests/PluginTestCase.php b/tests/PluginTestCase.php index 9b80e8198..38b9885bd 100644 --- a/tests/PluginTestCase.php +++ b/tests/PluginTestCase.php @@ -45,8 +45,31 @@ class Doctrine_Plugin_TestCase extends Doctrine_UnitTestCase $this->assertEqual($sql[0], 'CREATE TABLE wiki_translation_version (title VARCHAR(255), content VARCHAR(2147483647), lang VARCHAR(2), id INTEGER, version INTEGER, PRIMARY KEY(lang, id, version))'); $this->assertEqual($sql[1], 'CREATE TABLE wiki_translation_index (keyword VARCHAR(200), field VARCHAR(50), position INTEGER, lang VARCHAR(2), id INTEGER, PRIMARY KEY(keyword, field, position, lang, id))'); - $this->assertEqual($sql[2], 'CREATE TABLE wiki_translation (title VARCHAR(255), content VARCHAR(2147483647), lang VARCHAR(2), id INTEGER, PRIMARY KEY(lang, id))'); - $this->assertEqual($sql[3], 'CREATE TABLE wiki (id INTEGER PRIMARY KEY AUTOINCREMENT)'); + $this->assertEqual($sql[2], 'CREATE TABLE wiki_translation (title VARCHAR(255), content VARCHAR(2147483647), lang VARCHAR(2), id INTEGER, version INTEGER, PRIMARY KEY(lang, id))'); + $this->assertEqual($sql[3], 'CREATE TABLE wiki (id INTEGER PRIMARY KEY AUTOINCREMENT, created_at DATETIME, updated_at DATETIME)'); + + foreach ($sql as $query) { + $this->conn->exec($query); + } + } + + public function testCreatingNewRecordsInvokesAllPlugins() + { + $wiki = new Wiki(); + $wiki->state(Doctrine_Record::STATE_TDIRTY); + $wiki->save(); + + $fi = $wiki->Translation['FI']; + $fi->title = 'Michael Jeffrey Jordan'; + $fi->content = "Michael Jeffrey Jordan (s. 17. helmikuuta 1963, Brooklyn, New York) on yhdysvaltalainen entinen NBA-koripalloilija, jota pidetään yleisesti kaikkien aikojen parhaana pelaajana."; + + $fi->save(); + $this->assertEqual($fi->version, 1); + + $fi->title = 'Micheal Jordan'; + $fi->save(); + + $this->assertEqual($fi->version, 2); } } class Wiki extends Doctrine_Record @@ -62,11 +85,15 @@ class Wiki extends Doctrine_Record $options = array('fields' => array('title', 'content')); $auditLog = new Doctrine_Template_Versionable($options); $search = new Doctrine_Template_Searchable($options); - $i18n = new Doctrine_Template_I18n($options); - + $slug = new Doctrine_Template_Sluggable($options); + $i18n = new Doctrine_Template_I18n($options); + + $i18n->addChild($auditLog) - ->addChild($search); + ->addChild($search) + ->addChild($slug); $this->actAs($i18n); + $this->actAs('Timestampable'); } }