supprimer tests qui sont encore dans nur/ture
This commit is contained in:
parent
a3116e5dac
commit
e8abaca6ae
@ -1,67 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\php\access;
|
||||
|
||||
use nulib\tests\TestCase;
|
||||
use nulib\wip\php\access\KeyAccess;
|
||||
use stdClass;
|
||||
|
||||
class KeyAccessTest extends TestCase {
|
||||
function testAccess() {
|
||||
$default = new stdClass();
|
||||
$array = ["null" => null, "false" => false, "empty" => ""];
|
||||
|
||||
#
|
||||
$a = new KeyAccess($array, "inexistant");
|
||||
self::assertFalse($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$a = new KeyAccess($array, "null");
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame(null, $a->get($default));
|
||||
|
||||
$a = new KeyAccess($array, "false");
|
||||
self::assertTrue($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$a = new KeyAccess($array, "empty");
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame("", $a->get($default));
|
||||
|
||||
#
|
||||
$a = new KeyAccess($array, "null", ["allow_null" => false]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$a = new KeyAccess($array, "null", ["allow_null" => true]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame(null, $a->get($default));
|
||||
|
||||
#
|
||||
$a = new KeyAccess($array, "false", ["allow_false" => false]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$a = new KeyAccess($array, "false", ["allow_false" => true]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame(false, $a->get($default));
|
||||
|
||||
#
|
||||
$a = new KeyAccess($array, "empty", ["allow_empty" => false]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$a = new KeyAccess($array, "empty", ["allow_empty" => true]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame("", $a->get($default));
|
||||
}
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\php\access;
|
||||
|
||||
use nulib\tests\TestCase;
|
||||
use nulib\wip\php\access\ValueAccess;
|
||||
use stdClass;
|
||||
|
||||
class ValueAccessTest extends TestCase {
|
||||
function testAccess() {
|
||||
$default = new stdClass();
|
||||
|
||||
#
|
||||
$i = null;
|
||||
$a = new ValueAccess($i);
|
||||
self::assertFalse($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$i = false;
|
||||
$a = new ValueAccess($i);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame(false, $a->get($default));
|
||||
|
||||
$i = "";
|
||||
$a = new ValueAccess($i);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame("", $a->get($default));
|
||||
|
||||
#
|
||||
$i = null;
|
||||
$a = new ValueAccess($i, ["allow_null" => false]);
|
||||
self::assertFalse($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$i = null;
|
||||
$a = new ValueAccess($i, ["allow_null" => true]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame(null, $a->get($default));
|
||||
|
||||
#
|
||||
$i = false;
|
||||
$a = new ValueAccess($i, ["allow_false" => false]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$i = false;
|
||||
$a = new ValueAccess($i, ["allow_false" => true]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame(false, $a->get($default));
|
||||
|
||||
#
|
||||
$i = "";
|
||||
$a = new ValueAccess($i, ["allow_empty" => false]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertFalse($a->available());
|
||||
self::assertSame($default, $a->get($default));
|
||||
|
||||
$i = "";
|
||||
$a = new ValueAccess($i, ["allow_empty" => true]);
|
||||
self::assertTrue($a->exists());
|
||||
self::assertTrue($a->available());
|
||||
self::assertSame("", $a->get($default));
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\php\content;
|
||||
|
||||
use nulib\php\content\impl\html;
|
||||
use nulib\wip\web\content\v;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class cTest extends TestCase {
|
||||
function testTo_string() {
|
||||
self::assertSame("", c::to_string(null));
|
||||
self::assertSame("", c::to_string(false));
|
||||
self::assertSame("pouet<q/>", c::to_string("pouet<q/>"));
|
||||
self::assertSame("pouet<q/>", c::to_string(["pouet<q/>"]));
|
||||
self::assertSame("hello world", c::to_string(["hello", "world"]));
|
||||
self::assertSame("hello1 world", c::to_string(["hello1", "world"]));
|
||||
self::assertSame("hello<world>", c::to_string(["hello", "<world>"]));
|
||||
self::assertSame("<hello>world", c::to_string(["<hello>", "world"]));
|
||||
self::assertSame("hello,world", c::to_string(["hello,", "world"]));
|
||||
self::assertSame("hello world", c::to_string(["hello ", "world"]));
|
||||
self::assertSame("hello. world", c::to_string(["hello.", "world"]));
|
||||
self::assertSame("hello.<world>", c::to_string(["hello.", "<world>"]));
|
||||
|
||||
self::assertSame(
|
||||
"<h1>title<q/></h1><p>hello<nq/><span>brave<q/></span><span>world<nq/></span></p>",
|
||||
c::to_string([
|
||||
[html::H1, "title<q/>"],
|
||||
[html::P, [
|
||||
"hello<nq/>",
|
||||
[html::SPAN, "brave<q/>"],
|
||||
[html::SPAN, ["world<nq/>"]],
|
||||
]],
|
||||
]));
|
||||
}
|
||||
|
||||
function testXxx() {
|
||||
$content = [[v::h1, "hello"]];
|
||||
self::assertSame("<h1>hello</h1>", c::to_string($content));
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\php\content\impl;
|
||||
|
||||
use nulib\php\content\IContent;
|
||||
|
||||
class AContent implements IContent {
|
||||
function getContent(): iterable {
|
||||
return ["<span>content</span>"];
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\php\content\impl;
|
||||
|
||||
use nulib\php\content\IPrintable;
|
||||
|
||||
class APrintable implements IPrintable {
|
||||
function print(): void {
|
||||
echo "<p>printable</p>";
|
||||
}
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\php\content\impl;
|
||||
|
||||
use nulib\php\content\c;
|
||||
use nulib\php\content\IContent;
|
||||
|
||||
class ATag implements IContent {
|
||||
function __construct(string $tag, $content=null) {
|
||||
$this->tag = $tag;
|
||||
$this->content = $content;
|
||||
}
|
||||
|
||||
protected $tag;
|
||||
protected $content;
|
||||
|
||||
function getContent(): iterable {
|
||||
return [
|
||||
"<$this->tag>",
|
||||
...c::q($this->content),
|
||||
"</$this->tag>",
|
||||
];
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\php\content\impl;
|
||||
|
||||
class html {
|
||||
const H1 = [self::class, "h1"];
|
||||
const DIV = [self::class, "div"];
|
||||
const P = [self::class, "p"];
|
||||
const SPAN = [self::class, "span"];
|
||||
|
||||
static function h1($content) { return new ATag("h1", $content); }
|
||||
static function div($content) { return new ATag("div", $content); }
|
||||
static function p($content) { return new ATag("p", $content); }
|
||||
static function span($content) { return new ATag("span", $content); }
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\schema\_scalar;
|
||||
|
||||
use nulib\tests\TestCase;
|
||||
use nulib\wip\schema\_scalar\ScalarSchema;
|
||||
use nulib\wip\schema\SchemaException;
|
||||
|
||||
class ScalarSchemaTest extends TestCase {
|
||||
const NULL_SCHEMA = [
|
||||
"type" => [null],
|
||||
"default" => null,
|
||||
"title" => null,
|
||||
"required" => false,
|
||||
"nullable" => true,
|
||||
"desc" => null,
|
||||
"analyzer_func" => null,
|
||||
"extractor_func" => null,
|
||||
"parser_func" => null,
|
||||
"normalizer_func" => null,
|
||||
"messages" => null,
|
||||
"formatter_func" => null,
|
||||
"format" => null,
|
||||
"" => ["scalar"],
|
||||
"name" => null,
|
||||
"pkey" => null,
|
||||
"header" => null,
|
||||
"composite" => null,
|
||||
];
|
||||
|
||||
static function schema(array $schema): array {
|
||||
return array_merge(self::NULL_SCHEMA, $schema);
|
||||
}
|
||||
|
||||
function testNormalize() {
|
||||
self::assertSame(self::NULL_SCHEMA, ScalarSchema::normalize(null));
|
||||
self::assertSame(self::NULL_SCHEMA, ScalarSchema::normalize([]));
|
||||
self::assertSame(self::NULL_SCHEMA, ScalarSchema::normalize([null]));
|
||||
self::assertException(SchemaException::class, function () {
|
||||
ScalarSchema::normalize([[]]);
|
||||
});
|
||||
self::assertException(SchemaException::class, function () {
|
||||
ScalarSchema::normalize([[null]]);
|
||||
});
|
||||
|
||||
$string = self::schema(["type" => ["string"], "nullable" => false]);
|
||||
self::assertSame($string, ScalarSchema::normalize("string"));
|
||||
self::assertSame($string, ScalarSchema::normalize(["string"]));
|
||||
|
||||
$nstring = self::schema(["type" => ["string"]]);
|
||||
self::assertSame($nstring, ScalarSchema::normalize(["?string"]));
|
||||
self::assertSame($nstring, ScalarSchema::normalize(["?string|null"]));
|
||||
self::assertSame($nstring, ScalarSchema::normalize(["string|null"]));
|
||||
self::assertSame($nstring, ScalarSchema::normalize([["?string", "null"]]));
|
||||
self::assertSame($nstring, ScalarSchema::normalize([["string", "null"]]));
|
||||
self::assertSame($nstring, ScalarSchema::normalize([["string", null]]));
|
||||
|
||||
$key = self::schema(["type" => ["string", "int"], "nullable" => false]);
|
||||
self::assertSame($key, ScalarSchema::normalize("string|int"));
|
||||
|
||||
$nkey = self::schema(["type" => ["string", "int"], "nullable" => true]);
|
||||
self::assertSame($nkey, ScalarSchema::normalize("?string|int"));
|
||||
self::assertSame($nkey, ScalarSchema::normalize("string|?int"));
|
||||
}
|
||||
}
|
@ -1,111 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\schema\types;
|
||||
|
||||
use Exception;
|
||||
use nulib\tests\TestCase;
|
||||
use nulib\schema\_scalar\ScalarValue;
|
||||
use nulib\schema\Schema;
|
||||
|
||||
class boolTest extends TestCase {
|
||||
function commonTests($destv, &$dest, callable $destvSetter): void {
|
||||
$destv->set(true);
|
||||
self::assertSame(true, $destv->get());
|
||||
self::assertSame(true, $dest);
|
||||
self::assertSame("Oui", $destv->format());
|
||||
self::assertSame("Oui", $destv->format("OuiNonNull"));
|
||||
self::assertSame("O", $destv->format("ON"));
|
||||
self::assertSame("O", $destv->format("ONN"));
|
||||
|
||||
$destv->set(false);
|
||||
self::assertSame(false, $destv->get());
|
||||
self::assertSame(false, $dest);
|
||||
self::assertSame("Non", $destv->format());
|
||||
self::assertSame("Non", $destv->format("OuiNonNull"));
|
||||
self::assertSame("N", $destv->format("ON"));
|
||||
self::assertSame("N", $destv->format("ONN"));
|
||||
|
||||
$destv->set("yes");
|
||||
self::assertSame(true, $destv->get());
|
||||
|
||||
$destv->set(" yes ");
|
||||
self::assertSame(true, $destv->get());
|
||||
|
||||
$destv->set("12");
|
||||
self::assertSame(true, $destv->get());
|
||||
|
||||
$destv->set(12);
|
||||
self::assertSame(true, $destv->get());
|
||||
|
||||
$destv->set("no");
|
||||
self::assertSame(false, $destv->get());
|
||||
|
||||
$destv->set(" no ");
|
||||
self::assertSame(false, $destv->get());
|
||||
|
||||
$destv->set("0");
|
||||
self::assertSame(false, $destv->get());
|
||||
|
||||
$destv->set(0);
|
||||
self::assertSame(false, $destv->get());
|
||||
|
||||
$destv->set(12.34);
|
||||
self::assertSame(true, $destv->get());
|
||||
|
||||
self::assertException(Exception::class, $destvSetter("a"));
|
||||
self::assertException(Exception::class, $destvSetter([]));
|
||||
self::assertException(Exception::class, $destvSetter(["a"]));
|
||||
|
||||
}
|
||||
|
||||
function testBool() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, "bool");
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
self::assertException(Exception::class, $destvSetter(null));
|
||||
self::assertException(Exception::class, $destvSetter(""));
|
||||
self::assertException(Exception::class, $destvSetter(" "));
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testNbool() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, "?bool");
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
$destv->set(null);
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("Non", $destv->format());
|
||||
self::assertSame("", $destv->format("OuiNonNull"));
|
||||
self::assertSame("N", $destv->format("ON"));
|
||||
self::assertSame("", $destv->format("ONN"));
|
||||
|
||||
$destv->set("");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("Non", $destv->format());
|
||||
self::assertSame("", $destv->format("OuiNonNull"));
|
||||
self::assertSame("N", $destv->format("ON"));
|
||||
self::assertSame("", $destv->format("ONN"));
|
||||
|
||||
$destv->set(" ");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("Non", $destv->format());
|
||||
self::assertSame("", $destv->format("OuiNonNull"));
|
||||
self::assertSame("N", $destv->format("ON"));
|
||||
self::assertSame("", $destv->format("ONN"));
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
}
|
@ -1,139 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\schema\types;
|
||||
|
||||
use Exception;
|
||||
use nulib\tests\TestCase;
|
||||
use nulib\schema\_scalar\ScalarValue;
|
||||
use nulib\schema\Schema;
|
||||
|
||||
class floatTest extends TestCase {
|
||||
function commonTests($destv, &$dest, callable $destvSetter): void {
|
||||
$destv->set(12);
|
||||
self::assertSame(12.0, $destv->get());
|
||||
self::assertSame(12.0, $dest);
|
||||
self::assertSame("12", $destv->format());
|
||||
self::assertSame("0012", $destv->format("%04u"));
|
||||
|
||||
$destv->set("12");
|
||||
self::assertSame(12.0, $destv->get());
|
||||
|
||||
$destv->set(" 12 ");
|
||||
self::assertSame(12.0, $destv->get());
|
||||
|
||||
$destv->set(12.34);
|
||||
self::assertSame(12.34, $destv->get());
|
||||
|
||||
$destv->set(true);
|
||||
self::assertSame(1.0, $destv->get());
|
||||
|
||||
self::assertException(Exception::class, $destvSetter("a"));
|
||||
self::assertException(Exception::class, $destvSetter([]));
|
||||
self::assertException(Exception::class, $destvSetter(["a"]));
|
||||
}
|
||||
|
||||
function testFloat() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, "float");
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
self::assertException(Exception::class, $destvSetter(null));
|
||||
self::assertException(Exception::class, $destvSetter(""));
|
||||
self::assertException(Exception::class, $destvSetter(" "));
|
||||
|
||||
// valeur non requise donc retourne null
|
||||
$destv->set(false);
|
||||
self::assertNull($destv->get());
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testRequiredFloat() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, [
|
||||
"float", null,
|
||||
"required" => true,
|
||||
]);
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
self::assertException(Exception::class, $destvSetter(null));
|
||||
self::assertException(Exception::class, $destvSetter(""));
|
||||
self::assertException(Exception::class, $destvSetter(" "));
|
||||
|
||||
// valeur requise donc lance une exception
|
||||
self::assertException(Exception::class, $destvSetter(false));
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testNfloat() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, "?float");
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
$destv->set(null);
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
$destv->set("");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
$destv->set(" ");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
// valeur non requise donc retourne null
|
||||
$destv->set(false);
|
||||
self::assertNull($destv->get());
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testRequiredNfloat() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, [
|
||||
"?float", null,
|
||||
"required" => true,
|
||||
]);
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
$destv->set(null);
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
$destv->set("");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
$destv->set(" ");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
// valeur requise donc lance une exception
|
||||
self::assertException(Exception::class, $destvSetter(false));
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
}
|
@ -1,139 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\schema\types;
|
||||
|
||||
use Exception;
|
||||
use nulib\tests\TestCase;
|
||||
use nulib\schema\_scalar\ScalarValue;
|
||||
use nulib\schema\Schema;
|
||||
|
||||
class intTest extends TestCase {
|
||||
function commonTests($destv, &$dest, callable $destvSetter): void {
|
||||
$destv->set(12);
|
||||
self::assertSame(12, $destv->get());
|
||||
self::assertSame(12, $dest);
|
||||
self::assertSame("12", $destv->format());
|
||||
self::assertSame("0012", $destv->format("%04u"));
|
||||
|
||||
$destv->set("12");
|
||||
self::assertSame(12, $destv->get());
|
||||
|
||||
$destv->set(" 12 ");
|
||||
self::assertSame(12, $destv->get());
|
||||
|
||||
$destv->set(12.34);
|
||||
self::assertSame(12, $destv->get());
|
||||
|
||||
$destv->set(true);
|
||||
self::assertSame(1, $destv->get());
|
||||
|
||||
self::assertException(Exception::class, $destvSetter("a"));
|
||||
self::assertException(Exception::class, $destvSetter([]));
|
||||
self::assertException(Exception::class, $destvSetter(["a"]));
|
||||
}
|
||||
|
||||
function testInt() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, "int");
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
self::assertException(Exception::class, $destvSetter(null));
|
||||
self::assertException(Exception::class, $destvSetter(""));
|
||||
self::assertException(Exception::class, $destvSetter(" "));
|
||||
|
||||
// valeur non requise donc retourne null
|
||||
$destv->set(false);
|
||||
self::assertNull($destv->get());
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testRequiredInt() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, [
|
||||
"int", null,
|
||||
"required" => true,
|
||||
]);
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
self::assertException(Exception::class, $destvSetter(null));
|
||||
self::assertException(Exception::class, $destvSetter(""));
|
||||
self::assertException(Exception::class, $destvSetter(" "));
|
||||
|
||||
// valeur requise donc lance une exception
|
||||
self::assertException(Exception::class, $destvSetter(false));
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testNint() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, "?int");
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
$destv->set(null);
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
$destv->set("");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
$destv->set(" ");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
// valeur non requise donc retourne null
|
||||
$destv->set(false);
|
||||
self::assertNull($destv->get());
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testRequiredNint() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, [
|
||||
"?int", null,
|
||||
"required" => true,
|
||||
]);
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
$destv->set(null);
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
$destv->set("");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
$destv->set(" ");
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
// valeur requise donc lance une exception
|
||||
self::assertException(Exception::class, $destvSetter(false));
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
}
|
@ -1,123 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\schema\types;
|
||||
|
||||
use Exception;
|
||||
use nulib\tests\TestCase;
|
||||
use nulib\wip\schema\_scalar\ScalarValue;
|
||||
use nulib\wip\schema\Schema;
|
||||
|
||||
class strTest extends TestCase {
|
||||
function commonTests($destv, &$dest, callable $destvSetter): void {
|
||||
$destv->set("");
|
||||
self::assertSame("", $destv->get());
|
||||
self::assertSame("", $dest);
|
||||
|
||||
$destv->set(" ");
|
||||
self::assertSame(" ", $destv->get());
|
||||
self::assertSame(" ", $dest);
|
||||
|
||||
$destv->set("a");
|
||||
self::assertSame("a", $destv->get());
|
||||
self::assertSame("a", $dest);
|
||||
|
||||
$destv->set("12");
|
||||
self::assertSame("12", $destv->get());
|
||||
|
||||
$destv->set(" 12 ");
|
||||
self::assertSame(" 12 ", $destv->get());
|
||||
|
||||
$destv->set(12);
|
||||
self::assertSame("12", $destv->get());
|
||||
|
||||
$destv->set(12.34);
|
||||
self::assertSame("12.34", $destv->get());
|
||||
|
||||
$destv->set(true);
|
||||
self::assertSame("1", $destv->get());
|
||||
|
||||
self::assertException(Exception::class, $destvSetter([]));
|
||||
self::assertException(Exception::class, $destvSetter(["a"]));
|
||||
}
|
||||
|
||||
function testStr() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, "string");
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
self::assertException(Exception::class, $destvSetter(null));
|
||||
|
||||
// valeur non requise donc retourne null
|
||||
$destv->set(false);
|
||||
self::assertNull($destv->get());
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testRequiredStr() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, [
|
||||
"string", null,
|
||||
"required" => true,
|
||||
]);
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
self::assertException(Exception::class, $destvSetter(null));
|
||||
|
||||
// valeur requise donc lance une exception
|
||||
self::assertException(Exception::class, $destvSetter(false));
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testNstr() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, "?string");
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
$destv->set(null);
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
// valeur non requise donc retourne null
|
||||
$destv->set(false);
|
||||
self::assertNull($destv->get());
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
|
||||
function testRequiredNstr() {
|
||||
/** @var ScalarValue $destv */
|
||||
Schema::nv($destv, $dest, null, $schema, [
|
||||
"?string", null,
|
||||
"required" => true,
|
||||
]);
|
||||
$destvSetter = function($value) use($destv) {
|
||||
return function() use($destv, $value) {
|
||||
$destv->set($value);
|
||||
};
|
||||
};
|
||||
|
||||
$destv->set(null);
|
||||
self::assertNull($destv->get());
|
||||
self::assertNull($dest);
|
||||
self::assertSame("", $destv->format());
|
||||
|
||||
// valeur requise donc lance une exception
|
||||
self::assertException(Exception::class, $destvSetter(false));
|
||||
|
||||
$this->commonTests($destv, $dest, $destvSetter);
|
||||
}
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
<?php
|
||||
namespace nulib\schema\types;
|
||||
|
||||
use nulib\tests\TestCase;
|
||||
use nulib\schema\_scalar\ScalarValue;
|
||||
use nulib\schema\Schema;
|
||||
|
||||
class unionTest extends TestCase {
|
||||
function testUnionTypes() {
|
||||
## l'ordre des types doit être respecté
|
||||
|
||||
# string puis int
|
||||
/** @var ScalarValue $siv */
|
||||
Schema::nv($siv, $si, null, $sis, "string|int");
|
||||
|
||||
$siv->set("12");
|
||||
self::assertSame("12", $si);
|
||||
$siv->set(12);
|
||||
self::assertSame(12, $si);
|
||||
|
||||
# int puis string
|
||||
Schema::nv($isv, $is, null, $iss, "int|string");
|
||||
|
||||
$isv->set("12");
|
||||
self::assertSame("12", $is);
|
||||
$isv->set(12);
|
||||
self::assertSame(12, $is);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user