'../config/database-local.json', 'database' => '../config/database.json', 'dispatcher-extensions' => '../config/dispatcher-extensions.json', 'dispatcher-tree' => '../config/dispatcher-tree.json', 'menu' => '../config/menu.json', 'modules' => '../config/modules.json', 'repositories' => '../config/repositories.json', 'views' => '../config/views.json' ); /* [1] config/database-local.json =========================================================*/ public function testDatabaseLocal(){ /* (1) Lecture du fichier */ $file_content = file_get_contents( self::$config['database-local'] ); $this->assertNotFalse( $file_content ); /* (2) Parsage en JSON */ $json_content = json_decode( $file_content, true ); $this->assertNotNull( $json_content ); /* (3) Contenu */ $this->assertArrayHasKey('host', $json_content); $this->assertArrayHasKey('dbname', $json_content); $this->assertArrayHasKey('user', $json_content); $this->assertArrayHasKey('password', $json_content); } /* [2] config/database.json =========================================================*/ public function testDatabaseRemote(){ /* (1) Lecture du fichier */ $file_content = file_get_contents( self::$config['database'] ); $this->assertNotFalse( $file_content ); /* (2) Parsage en JSON */ $json_content = json_decode( $file_content, true ); $this->assertNotNull( $json_content ); /* (3) Contenu */ $this->assertArrayHasKey('host', $json_content); $this->assertArrayHasKey('dbname', $json_content); $this->assertArrayHasKey('user', $json_content); $this->assertArrayHasKey('password', $json_content); } /* [3] config/dispatcher-extensions.json =========================================================*/ public function testDispatcherExtensions(){ /* (1) Lecture du fichier */ $file_content = file_get_contents( self::$config['dispatcher-extensions'] ); $this->assertNotFalse( $file_content ); /* (2) Parsage en JSON */ $json_content = json_decode( $file_content, true ); $this->assertNotNull( $json_content ); /* (3) Contenu */ foreach($json_content as $ext=>$mime){ // On verifie les extensions $this->assertTrue( preg_match('/^\w+$/i', $ext) == true ); // On verifie les mime/type $this->assertTrue( preg_match('/^\w+\/[\+\w]+$/i', $mime) == true ); } } /* [3] config/dispatcher-tree.json =========================================================*/ public function testDispatcherTree(){ /* (1) Lecture du fichier */ $file_content = file_get_contents( self::$config['dispatcher-tree'] ); $this->assertNotFalse( $file_content ); /* (2) Parsage en JSON */ $json_content = json_decode( $file_content, true ); $this->assertNotNull( $json_content ); /* (3) Contenu */ foreach($json_content as $name=>$path){ // On verifie les extensions $this->assertTrue( preg_match('/^\w+$/i', $name) == true ); // On verifie les mime/type $this->assertTrue( preg_match('/^[\w\/]+$/i', $path) == true ); } } /* [3] config/menu.json =========================================================*/ public function testMenu(){ /* (1) Lecture du fichier */ $file_content = file_get_contents( self::$config['menu'] ); $this->assertNotFalse( $file_content ); /* (2) Parsage en JSON */ $json_content = json_decode( $file_content, true ); $this->assertNotNull( $json_content ); /* (3) Contenu */ foreach($json_content as $category){ continue; } } } ?>