From 6fd261c8b02c90d6a24d12b10e5bd20a0adb4734 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 20 Nov 2008 06:05:22 +0000 Subject: Add unittest and caching for ORM_MTPP::descendants --- core/tests/ORM_MPTT_Test.php | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'core/tests/ORM_MPTT_Test.php') diff --git a/core/tests/ORM_MPTT_Test.php b/core/tests/ORM_MPTT_Test.php index a053b61e..2b334243 100644 --- a/core/tests/ORM_MPTT_Test.php +++ b/core/tests/ORM_MPTT_Test.php @@ -95,6 +95,42 @@ class ORM_MPTT_Test extends Unit_Test_Case { $this->assert_equal(2, $outer->children_count()); } + public function descendant_test() { + $parent = album::create(1, "parent album", "parent album title"); + photo::create($parent->id, DOCROOT . "themes/default/images/thumbnail.jpg", "photo1", + "photo1", "parent album photo"); + + $album1 = album::create($parent->id, "album1", "album1 title"); + photo::create($album1->id, DOCROOT . "themes/default/images/thumbnail.jpg", "photo1", + "photo1", "album1 photo"); + + $album2 = album::create($parent->id, "album2", "album2 title"); + photo::create($album2->id, DOCROOT . "themes/default/images/thumbnail.jpg", "photo2", + "photo2", "album2 photo"); + $parent->reload(); + + $this->assert_equal(5, $parent->descendants()->count()); + $this->assert_equal(3, $parent->descendants(null, 0, "photo")->count()); + $this->assert_equal(2, $parent->descendants(null, 0, "album")->count()); + } + + public function descendant_limit_test() { + $parent = album::create(1, "parent album", "parent album title"); + photo::create($parent->id, DOCROOT . "themes/default/images/thumbnail.jpg", "photo1", + "photo1", "parent album photo"); + + $album1 = album::create($parent->id, "album1", "album1 title"); + photo::create($album1->id, DOCROOT . "themes/default/images/thumbnail.jpg", "photo1", + "photo1", "album1 photo"); + + $album2 = album::create($parent->id, "album2", "album2 title"); + photo::create($album2->id, DOCROOT . "themes/default/images/thumbnail.jpg", "photo2", + "photo2", "album2 photo"); + $parent->reload(); + + $this->assert_equal(2, $parent->descendants(2)->count()); + } + public function descendant_count_test() { $parent = album::create(1, "parent album", "parent album title"); photo::create($parent->id, DOCROOT . "themes/default/images/thumbnail.jpg", "photo1", -- cgit v1.2.3