Example #1
0
 function testReaderSeek()
 {
     $f = new File("/" . FRAMEWORK_CORE_PATH . "tests/io/reader_writer/scanf_test.txt");
     $reader = $f->openReader();
     $result = $reader->scanf("%2d %2d %s");
     $reader->seek(0);
     $this->assertEqual($reader->pos(), 0, "La posizione non e' tornata zero dopo seek(0)!!!");
     $result2 = $reader->scanf("%2d %2d %s");
     $this->assertEqual($result[0], $result2[0], "I valori letti non corrispondono!!");
     $this->assertEqual($result[1], $result2[1], "I valori letti non corrispondono!!");
     $this->assertEqual($result[2], $result2[2], "I valori letti non corrispondono!!");
 }
Example #2
0
 function testAdvancedPrintfWriteThenRead()
 {
     $f = new File("/" . FRAMEWORK_CORE_PATH . "tests/io/reader_writer/readwrite2.txt");
     $this->assertFalse($f->exists(), "Il file esiste gia'!!");
     try {
         $writer = $f->openWriter();
         $this->assertTrue($f->exists(), "Il file non e' stato creato!!");
         $this->assertTrue($writer instanceof FileWriter, "L'oggetto non e' del tipo specificato!!");
         $this->assertTrue($writer->isOpen(), "Il writer non e' aperto!!");
         $writer->write("Ciao mondo!!!");
         $writer->printf(" %02d %02d go", 12, 34);
         $writer->close();
         $reader = $f->openReader();
         $line = $reader->read(22);
         $this->assertEqual("Ciao mondo!!! 12 34 go", $line, "I dati letti non corrispondono!! : " . $line);
         $reader->close();
     } catch (Exception $ex) {
         $this->fail("Errore nell'apertura del writer di un file non esistente!!");
     }
     $f->delete();
 }
Example #3
0
 static function getArchiveProperties($f)
 {
     if ($f instanceof File) {
         $source_file = $f;
     } else {
         $source_file = new File($f);
     }
     $reader = $source_file->openReader();
     $binarydata = $reader->read(3);
     $data = unpack("a3", $binarydata);
     if ($data[1] !== self::FF_ARCHIVE_HEADER) {
         throw new InvalidDataException("Intestazione del file non valida : " . $data[1]);
     }
     $binarydata = $reader->read(2 + 2 + 2);
     $data = unpack("v3", $binarydata);
     if ($data[1] !== self::CURRENT_MAJOR || $data[2] !== self::CURRENT_MINOR || $data[3] !== self::CURRENT_REV) {
         throw new InvalidDataException("Versione del file non supportata!! : " . $data[1] . "-" . $data[2] . "-" . $data[3]);
     }
     //properties
     $binarydata = $reader->read(2);
     $data = unpack("v", $binarydata);
     $properties_length = $data[1];
     if ($properties_length > 0) {
         $binarydata = $reader->read($properties_length);
         $data = unpack("a*", $binarydata);
         $properties = PropertiesUtils::readFromString($data[1], false);
     } else {
         $properties = array();
     }
     $reader->close();
     return $properties;
 }