/**
  * @depends test_add_files
  */
 public function test_open_archive()
 {
     global $CFG;
     $this->resetAfterTest(true);
     $archive = "{$CFG->tempdir}/archive.zip";
     $this->assertFileNotExists($archive);
     $zip_archive = new zip_archive();
     $result = $zip_archive->open($archive, file_archive::OPEN);
     $this->assertFalse($result);
     $this->assertDebuggingCalled();
     $zip_archive = new zip_archive();
     $result = $zip_archive->open($archive, file_archive::CREATE);
     $this->assertTrue($result);
     $zip_archive->add_file_from_string('test.txt', 'test');
     $zip_archive->close();
     $zip_archive->open($archive, file_archive::OPEN);
     $this->assertEquals(1, $zip_archive->count());
     $zip_archive = new zip_archive();
     $result = $zip_archive->open($archive, file_archive::OVERWRITE);
     $this->assertTrue($result);
     $zip_archive->add_file_from_string('test2.txt', 'test');
     $zip_archive->close();
     $zip_archive->open($archive, file_archive::OPEN);
     $this->assertEquals(1, $zip_archive->count());
     $zip_archive->close();
     unlink($archive);
     $zip_archive = new zip_archive();
     $result = $zip_archive->open($archive, file_archive::OVERWRITE);
     $this->assertTrue($result);
     $zip_archive->add_file_from_string('test2.txt', 'test');
     $zip_archive->close();
     $zip_archive->open($archive, file_archive::OPEN);
     $this->assertEquals(1, $zip_archive->count());
     $zip_archive->close();
     unlink($archive);
 }