/**
  * note setting archive and system bit is not supported
  *
  * @dataProvider nameProvider
  */
 public function testSetMode($name)
 {
     $txtFile = $this->getTextFile();
     $this->share->put($txtFile, $this->root . '/' . $name);
     $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_NORMAL);
     $info = $this->share->stat($this->root . '/' . $name);
     $this->assertFalse($info->isReadOnly());
     $this->assertFalse($info->isArchived());
     $this->assertFalse($info->isSystem());
     $this->assertFalse($info->isHidden());
     $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_READONLY);
     $info = $this->share->stat($this->root . '/' . $name);
     $this->assertTrue($info->isReadOnly());
     $this->assertFalse($info->isArchived());
     $this->assertFalse($info->isSystem());
     $this->assertFalse($info->isHidden());
     $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_ARCHIVE);
     $info = $this->share->stat($this->root . '/' . $name);
     $this->assertFalse($info->isReadOnly());
     $this->assertTrue($info->isArchived());
     $this->assertFalse($info->isSystem());
     $this->assertFalse($info->isHidden());
     $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_READONLY | FileInfo::MODE_ARCHIVE);
     $info = $this->share->stat($this->root . '/' . $name);
     $this->assertTrue($info->isReadOnly());
     $this->assertTrue($info->isArchived());
     $this->assertFalse($info->isSystem());
     $this->assertFalse($info->isHidden());
     $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_HIDDEN);
     $info = $this->share->stat($this->root . '/' . $name);
     $this->assertFalse($info->isReadOnly());
     $this->assertFalse($info->isArchived());
     $this->assertFalse($info->isSystem());
     $this->assertTrue($info->isHidden());
     $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_SYSTEM);
     $info = $this->share->stat($this->root . '/' . $name);
     $this->assertFalse($info->isReadOnly());
     $this->assertFalse($info->isArchived());
     $this->assertTrue($info->isSystem());
     $this->assertFalse($info->isHidden());
     $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_NORMAL);
     $info = $this->share->stat($this->root . '/' . $name);
     $this->assertFalse($info->isReadOnly());
     $this->assertFalse($info->isArchived());
     $this->assertFalse($info->isSystem());
     $this->assertFalse($info->isHidden());
 }