258 lines
7.3 KiB
PHP
258 lines
7.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* DomFramework - Tests
|
|
* @package domframework
|
|
* @author Dominique Fournier <dominique@fournier38.fr>
|
|
* @license BSD
|
|
*/
|
|
|
|
namespace Domframework\Tests;
|
|
|
|
use Domframework\Inifile;
|
|
|
|
/**
|
|
* Test the Inifile.php file
|
|
*/
|
|
class InifileTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
public function testsetString001()
|
|
{
|
|
$this->setExpectedException("Exception");
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(1, true);
|
|
}
|
|
|
|
public function testsetString002()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString([], true);
|
|
$this->assertSame("", $res);
|
|
}
|
|
|
|
//// TEST OF THE SECTION PART ////
|
|
public function testsetString103()
|
|
{
|
|
$this->setExpectedException("Exception");
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1"], true);
|
|
}
|
|
|
|
public function testsetString104()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1" => []], true);
|
|
$this->assertSame("[section1]\n\n", $res);
|
|
}
|
|
|
|
public function testsetString105()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1" => [0]], true);
|
|
$this->assertSame("[section1]\n0 = \"0\"\n\n", $res);
|
|
}
|
|
|
|
public function testsetString106()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1" => [0 => 1]], true);
|
|
$this->assertSame("[section1]\n0 = \"1\"\n\n", $res);
|
|
}
|
|
|
|
public function testsetString107()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1" => [0 => null]], true);
|
|
$this->assertSame("[section1]\n0 = \"null\"\n\n", $res);
|
|
}
|
|
|
|
public function testsetString108()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null, 1 => 1]],
|
|
true
|
|
);
|
|
$this->assertSame("[section1]\n0 = \"null\"\n1 = \"1\"\n\n", $res);
|
|
}
|
|
|
|
public function testsetString109()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null,
|
|
1 => 1, 2 => "str"]],
|
|
true
|
|
);
|
|
$this->assertSame(
|
|
"[section1]\n0 = \"null\"\n1 = \"1\"\n2 = \"str\"\n\n",
|
|
$res
|
|
);
|
|
}
|
|
|
|
public function testsetString110()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null,
|
|
1 => 1, 2 => "str",
|
|
3 => [1,2,3]]],
|
|
true
|
|
);
|
|
$this->assertSame(
|
|
"[section1]\n0 = \"null\"\n1 = \"1\"\n2 = \"str\"\n" .
|
|
"3[0] = \"1\"\n3[1] = \"2\"\n3[2] = \"3\"\n\n",
|
|
$res
|
|
);
|
|
}
|
|
|
|
public function testsetString111()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null,
|
|
1 => 1, 2 => "str",
|
|
3 => []]],
|
|
true
|
|
);
|
|
$this->assertSame(
|
|
"[section1]\n0 = \"null\"\n1 = \"1\"\n2 = \"str\"\n\n",
|
|
$res
|
|
);
|
|
}
|
|
|
|
public function testsetString112()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null,
|
|
1 => 1, 2 => "str",
|
|
"chain" => ["key" => 1,2]]],
|
|
true
|
|
);
|
|
$this->assertSame(
|
|
"[section1]\n0 = \"null\"\n1 = \"1\"\n2 = \"str\"\n" .
|
|
"chain[key] = \"1\"\nchain[0] = \"2\"\n\n",
|
|
$res
|
|
);
|
|
}
|
|
|
|
//// TEST OF THE NOT SECTION PART ////
|
|
public function testsetString203()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1"], false);
|
|
$this->assertSame("0 = \"section1\"\n\n", $res);
|
|
}
|
|
|
|
public function testsetString204()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1" => []], false);
|
|
$this->assertSame("\n", $res);
|
|
}
|
|
|
|
public function testsetString205()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1" => [0]], false);
|
|
$this->assertSame("section1[0] = \"0\"\n\n", $res);
|
|
}
|
|
|
|
public function testsetString206()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1" => [0 => 1]], false);
|
|
$this->assertSame("section1[0] = \"1\"\n\n", $res);
|
|
}
|
|
|
|
public function testsetString207()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(["section1" => [0 => null]], false);
|
|
$this->assertSame("section1[0] = \"null\"\n\n", $res);
|
|
}
|
|
|
|
public function testsetString208()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null, 1 => 1]],
|
|
false
|
|
);
|
|
$this->assertSame(
|
|
"section1[0] = \"null\"\nsection1[1] = \"1\"\n\n",
|
|
$res
|
|
);
|
|
}
|
|
|
|
public function testsetString209()
|
|
{
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null,
|
|
1 => 1, 2 => "str"]],
|
|
false
|
|
);
|
|
$this->assertSame(
|
|
"section1[0] = \"null\"\nsection1[1] = \"1\"\n" .
|
|
"section1[2] = \"str\"\n\n",
|
|
$res
|
|
);
|
|
}
|
|
|
|
public function testsetString210()
|
|
{
|
|
$this->setExpectedException("Exception");
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null,
|
|
1 => 1, 2 => "str",
|
|
3 => [1,2,3]]],
|
|
false
|
|
);
|
|
}
|
|
|
|
public function testsetString211()
|
|
{
|
|
$this->setExpectedException("Exception");
|
|
$inifile = new Inifile();
|
|
$res = $inifile->setString(
|
|
["section1" => [0 => null,
|
|
1 => 1, 2 => "str",
|
|
3 => []]],
|
|
false
|
|
);
|
|
}
|
|
|
|
|
|
//// LOOP TEST : CREATE AN INI STRING AND PARSE IT ////
|
|
public function testLoop406()
|
|
{
|
|
$inifile = new Inifile();
|
|
$loop = $inifile->setString(["section1" => [0 => 1]], false);
|
|
var_dump($loop);
|
|
$res = $inifile->getString($loop, false);
|
|
var_dump($res);
|
|
$this->assertSame(["section1" => [0 => 1]], $res);
|
|
}
|
|
|
|
public function testLoop407()
|
|
{
|
|
$inifile = new Inifile();
|
|
$loop = $inifile->setString(["section1" => [0 => null]], false);
|
|
$res = $inifile->getString($loop, false);
|
|
$this->assertSame(["section1" => [0 => null]], $res);
|
|
}
|
|
|
|
public function testLoop408()
|
|
{
|
|
$inifile = new Inifile();
|
|
$loop = $inifile->setString(["section1" => [0 => "toto"]], false);
|
|
var_dump($loop);
|
|
$res = $inifile->getString($loop, false);
|
|
var_dump($res);
|
|
$this->assertSame(["section1" => [0 => "toto"]], $res);
|
|
}
|
|
}
|