public function testClearApplicationData() { // Verifica se está tudo ok $this->BaseTestCase->setApplicationConstants(); if (!is_writable(APPLICATION_DATA)) { $this->fail('APPLICATION_DATA ' . APPLICATION_DATA . ' não tem permissão de escrita'); } // Grava umas bobeiras la $folder = APPLICATION_DATA . '/teste1'; if (!file_exists($folder)) { $oldumask = umask(0); mkdir($folder); umask($oldumask); } file_put_contents($folder . '/test1.txt', 'teste'); $folder = APPLICATION_DATA . '/teste2/teste3'; if (!file_exists($folder)) { $oldumask = umask(0); mkdir($folder, 0777, true); umask($oldumask); } file_put_contents($folder . '/sample.txt', 'teste teste'); // Verifica se a pasta está vazia $this->assertFalse($this->BaseTestCase->isApplicationDataEmpty()); $this->BaseTestCase->clearApplicationData(); // Verifica se está vazia $files = $objects = scandir(APPLICATION_DATA); $this->assertCount(3, $files, 'não tem mais nada no APPLICATION_DATA'); $this->assertEquals(array('.', '..', '.gitignore'), $files, 'não tem mais nada no APPLICATION_DATA'); // Verifica se a pasta está vazia $this->assertTrue($this->BaseTestCase->isApplicationDataEmpty()); // Grava mais coisa no raiz do APPLICATION_DATA file_put_contents(APPLICATION_DATA . '/sample.txt', 'outro teste'); // Verifica se a pasta está vazia depois de apagar $this->assertFalse($this->BaseTestCase->isApplicationDataEmpty()); $this->assertTrue($this->BaseTestCase->clearApplicationData()); }