You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.1 KiB
PHP
87 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace CFPropertyList;
|
|
|
|
error_reporting(E_ALL|E_STRICT);
|
|
ini_set('display_errors','on');
|
|
|
|
if(!defined('LIBDIR')) {
|
|
define('LIBDIR',__DIR__.'/../classes/CFPropertyList');
|
|
}
|
|
|
|
if(!defined('WRITE_BINARY_DATA_FILE')) {
|
|
define('WRITE_BINARY_DATA_FILE',__DIR__.'/binary.plist');
|
|
define('TEST_UID_BPLIST', __DIR__ . '/uid-list.plist');
|
|
}
|
|
|
|
require_once(LIBDIR.'/CFPropertyList.php');
|
|
|
|
class WriteBinaryTest extends \PHPUnit_Framework_TestCase {
|
|
public function testWriteFile() {
|
|
$plist = new CFPropertyList();
|
|
$dict = new CFDictionary();
|
|
|
|
$names = new CFDictionary();
|
|
$names->add('given-name',new CFString('John'));
|
|
$names->add('surname',new CFString('Dow'));
|
|
|
|
$dict->add('names',$names);
|
|
|
|
$pets = new CFArray();
|
|
$pets->add(new CFString('Jonny'));
|
|
$pets->add(new CFString('Bello'));
|
|
$dict->add('pets',$pets);
|
|
|
|
$dict->add('age',new CFNumber(28));
|
|
$dict->add('birth-date',new CFDate(412035803));
|
|
|
|
$plist->add($dict);
|
|
$plist->saveBinary(WRITE_BINARY_DATA_FILE);
|
|
|
|
$this->assertTrue(is_file(WRITE_BINARY_DATA_FILE));
|
|
$this->assertTrue(filesize(WRITE_BINARY_DATA_FILE) > 32);
|
|
|
|
$plist->load(WRITE_BINARY_DATA_FILE);
|
|
|
|
unlink(WRITE_BINARY_DATA_FILE);
|
|
}
|
|
|
|
public function testWriteString() {
|
|
$plist = new CFPropertyList();
|
|
$dict = new CFDictionary();
|
|
|
|
$names = new CFDictionary();
|
|
$names->add('given-name',new CFString('John'));
|
|
$names->add('surname',new CFString('Dow'));
|
|
|
|
$dict->add('names',$names);
|
|
|
|
$pets = new CFArray();
|
|
$pets->add(new CFString('Jonny'));
|
|
$pets->add(new CFString('Bello'));
|
|
$dict->add('pets',$pets);
|
|
|
|
$dict->add('age',new CFNumber(28));
|
|
$dict->add('birth-date',new CFDate(412035803));
|
|
|
|
$plist->add($dict);
|
|
$content = $plist->toBinary();
|
|
|
|
$this->assertTrue(strlen($content) > 32);
|
|
|
|
$plist->parse($content);
|
|
}
|
|
|
|
public function testWriteUid() {
|
|
$plist = new CFPropertyList();
|
|
$dict = new CFDictionary();
|
|
$dict->add('test', new CFUid(1));
|
|
$plist->add($dict);
|
|
|
|
$plist1 = new CFPropertyList(TEST_UID_BPLIST);
|
|
$this->assertEquals($plist1->toBinary(), $plist->toBinary());
|
|
}
|
|
}
|
|
|
|
|
|
# eof
|