| [ Index ] |
PHP Cross Reference of GlotPress |
[Summary view] [Print] [Text view]
1 <?php 2 require_once( dirname( __FILE__ ) . '/../init.php'); 3 4 class GP_Test_Project extends GP_UnitTestCase { 5 function test_update_path() { 6 $root = GP::$project->create( array( 'name' => 'Root', 'slug' => 'root', 'path' => 'root' ) ); 7 // the slug is changed 8 $p1 = GP::$project->create( array( 'name' => 'P1', 'slug' => 'cool', 'path' => 'root/p1', 'parent_project_id' => $root->id ) ); 9 $p2 = GP::$project->create( array( 'name' => 'P2', 'slug' => 'p2', 'path' => 'root/p1/p2', 'parent_project_id' => $p1->id ) ); 10 $p3 = GP::$project->create( array( 'name' => 'P3', 'slug' => 'p3', 'path' => 'root/p1/p2/p3', 'parent_project_id' => $p2->id ) ); 11 $p1->update_path(); 12 $p1->reload(); 13 $p2->reload(); 14 $p3->reload(); 15 $this->assertEquals( 'root/cool', $p1->path); 16 $this->assertEquals( 'root/cool/p2', $p2->path); 17 $this->assertEquals( 'root/cool/p2/p3', $p3->path); 18 } 19 20 function test_valid_path_on_create() { 21 $root = GP::$project->create( array( 'name' => 'Root', 'slug' => 'root', 'path' => 'root' ) ); 22 $p1 = GP::$project->create( array( 'name' => 'P1', 'slug' => 'p1', 'parent_project_id' => $root->id ) ); 23 $q = GP::$project->create( array( 'name' => 'Invader', 'slug' => 'invader', 'path' => '' ) ); 24 $root->reload(); 25 $p1->reload(); 26 $q->reload(); 27 $this->assertEquals( 'root', $root->path ); 28 $this->assertEquals( 'root/p1', $p1->path ); 29 $this->assertEquals( 'invader', $q->path ); 30 } 31 32 function test_create_and_select() { 33 $project = new GP_Project( array( 'name' => '@@@@', 'slug' => '' ) ); 34 $verdict = $project->validate(); 35 36 $this->assertFalse( $verdict ); 37 } 38 39 function test_save_no_args() { 40 $p1 = GP::$project->create( array( 'name' => 'P1', 'slug' => 'p1', 'path' => 'p1', ) ); 41 $id = $p1->id; 42 $p1->name = 'P2'; 43 $p1->save(); 44 $this->assertEquals( 'P2', $p1->name ); 45 $p1->reload(); 46 $this->assertEquals( 'P2', $p1->name ); 47 $this->assertEquals( 'P2', GP::$project->get( $id )->name ); 48 } 49 50 function test_reload() { 51 global $gpdb; 52 $root = GP::$project->create( array( 'name' => 'Root', 'slug' => 'root' ) ); 53 $gpdb->update( $gpdb->projects, array( 'name' => 'Buuu' ), array( 'id' => $root->id ) ); 54 $root->reload(); 55 $this->assertEquals( 'Buuu', $root->name ); 56 } 57 58 function test_path_to_root() { 59 $root = $this->factory->project->create( array( 'name' => 'Root' ) ); 60 $sub = $this->factory->project->create( array( 'name' => 'Sub', 'parent_project_id' => $root->id ) ); 61 $subsub = $this->factory->project->create( array( 'name' => 'SubSub', 'parent_project_id' => $sub->id ) ); 62 $this->assertEquals( array( $subsub, $sub, $root ), $subsub->path_to_root() ); 63 $this->assertEquals( array( $sub, $root ), $sub->path_to_root() ); 64 $this->assertEquals( array( $root ), $root->path_to_root() ); 65 } 66 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Wed Jun 19 03:59:59 2013 | Hosted by follow the white rabbit. |