/**
  * @test
  * @depends Reset
  */
 public function Path_Info()
 {
     // Test both when there is and isn't pre-existing data
     $uri1 = new \uri('example.com');
     $uri2 = new \uri('https://*****:*****@example.com:777/path/to/script.php?query=str#fragment');
     // Check For Errors
     $this->assertEmpty($uri1->error);
     $this->assertEmpty($uri2->error);
     // Setup
     $arr1 = $uri1->path_info();
     $arr2 = $uri2->path_info();
     // Check that all keys are set (even if empty)
     $this->assertArrayHasKey('array', $arr1);
     $this->assertArrayHasKey('basename', $arr1);
     $this->assertArrayHasKey('dirname', $arr1);
     $this->assertArrayHasKey('extension', $arr1);
     $this->assertArrayHasKey('filename', $arr1);
     // Check Values
     $this->assertEquals('path', $arr2['array'][0]);
     $this->assertEquals('to', $arr2['array'][1]);
     $this->assertEquals('script.php', $arr2['array'][2]);
     $this->assertEquals('script.php', $arr2['basename']);
     $this->assertEquals('/path/to', $arr2['dirname']);
     $this->assertEquals('php', $arr2['extension']);
     $this->assertEquals('script', $arr2['filename']);
 }