Skip to content

Commit fd25249

Browse files
authored
Merge pull request #52 from bim-g/version_boss
[UPD] rename validation schema, but removing "V" before it name.
2 parents ee2f8e1 + 48dfa3c commit fd25249

12 files changed

+49
-34
lines changed

.phpunit.result.cache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version":1,"defects":{"Test\\Schema\\SCHStringTest::testStringObject":4,"Test\\Schema\\SCHStringTest::testStringObjectIsNotKey":3,"Test\\Schema\\SCHStringTest::testStringEmailKey":3,"Test\\Schema\\SCHStringTest::testStringObjectIsKey":4,"Test\\Schema\\StringSchemaTest::testStringURLKey":4,"Test\\Schema\\StringSchemaTest::testStringMatchKey":4,"Test\\Schema\\StringSchemaTest::testStringMinimumKey":4,"Test\\Schema\\NumberSchemaTest::testStringIsObject":4,"Test\\Schema\\NumberSchemaTest::testRequiredKey":4,"Test\\Schema\\DateSchemaTest::testDateTodayKey":4,"Test\\Schema\\BooleanSchemaTest::testBooleanIsRequireddKey":4,"Test\\Script\\StringValidationTest::testStringIsObject":4,"Test\\Script\\StringValidationTest::testStringObjectException":4,"Test\\Script\\StringValidationTest::testException":3,"Test\\Script\\StringValidationTest::testStringMin":3,"Test\\Script\\StringValidationTest::testStringMaxError":4,"Test\\Script\\StringValidationTest::testStringMaxSuccess":3,"Test\\Script\\StringValidationTest::testStringValidationSourceDataException":4,"Test\\Script\\StringValidationTest::testStringValidationSchemaException":4,"Test\\Script\\StringValidationTest::testStringMinError":4,"Test\\Script\\StringValidationTest::testStringMinSuccess":3,"Test\\Script\\StringValidationTest::testStringEmailError":3,"Test\\Script\\StringValidationTest::testStringURLSuccess":4,"Test\\Script\\StringValidationTest::testStringRequiredSuccess":4,"Test\\Script\\StringValidationTest::testStringRequiredErrors":3,"Test\\Script\\StringValidationTest::testStringRequiredErrorsUnknown":4,"Test\\Script\\StringValidationTest::testStringMatchSuccess":3,"Test\\Script\\StringValidationTest::testStringMatchErrors":3,"Test\\Schema\\StringSchemaTest::testStringIsObject":4,"Test\\Schema\\StringSchemaTest::testStringObjectIsKey":4,"Test\\Schema\\StringSchemaTest::testStringEmailKey":4,"Test\\Schema\\StringSchemaTest::testStringMaximumKey":4,"Test\\Schema\\DateSchemaTest::testStringIsObject":4,"Test\\Schema\\DateSchemaTest::testStringObjectIsKey":4,"Test\\Schema\\DateSchemaTest::testDateNowKey":4,"Test\\Schema\\NumberSchemaTest::testStringObjectIsKey":4,"Test\\Schema\\NumberSchemaTest::testNumberPositiveKey":4},"times":{"Test\\Schema\\SCHStringTest::testStringObject":0.021,"Test\\Schema\\SCHStringTest::testStringObjectIsKey":0,"Test\\Schema\\SCHStringTest::testStringObjectIsNotKey":0.01,"Test\\Schema\\SCHStringTest::testStringEmailKey":0.001,"Test\\Schema\\SCHStringTest::testStringIsObject":0.008,"Test\\Schema\\StringSchemaTest::testStringIsObject":0.009,"Test\\Schema\\StringSchemaTest::testStringObjectIsKey":0.001,"Test\\Schema\\StringSchemaTest::testStringEmailKey":0.001,"Test\\Schema\\StringSchemaTest::testStringURLKey":0,"Test\\Schema\\StringSchemaTest::testStringMatchKey":0,"Test\\Schema\\StringSchemaTest::testStringMinimumKey":0,"Test\\Schema\\StringSchemaTest::testStringMaximumKey":0,"Test\\Schema\\NumberSchemaTest::testStringIsObject":0.008,"Test\\Schema\\NumberSchemaTest::testStringObjectIsKey":0,"Test\\Schema\\NumberSchemaTest::testRequiredKey":0,"Test\\Schema\\NumberSchemaTest::testNumberPositiveKey":0,"Test\\Schema\\DateSchemaTest::testStringIsObject":0.022,"Test\\Schema\\DateSchemaTest::testStringObjectIsKey":0.002,"Test\\Schema\\DateSchemaTest::testDateNowKey":0.002,"Test\\Schema\\DateSchemaTest::testDateTodayKey":0,"Test\\Schema\\BooleanSchemaTest::testBooleanIsObject":0.007,"Test\\Schema\\BooleanSchemaTest::testStringObjectIsKey":0.001,"Test\\Schema\\BooleanSchemaTest::testBooleanIsRequireddKey":0.001,"Test\\Schema\\BooleanSchemaTest::testBooleanIsValidKey":0,"Test\\Script\\StringValidationTest::testStringIsObject":0,"Test\\Script\\StringValidationTest::testStringObjectException":0.006,"Test\\Script\\StringValidationTest::testException":0.007,"Test\\Script\\StringValidationTest::testStringMin":0.001,"Test\\Script\\StringValidationTest::testStringValidationException":0.006,"Test\\Script\\StringValidationTest::testStringValidationSchemaException":0,"Test\\Script\\StringValidationTest::testStringValidationSourceDataException":0.007,"Test\\Script\\StringValidationTest::testStringMinError":0,"Test\\Script\\StringValidationTest::testStringMinSuccess":0,"Test\\Script\\StringValidationTest::testStringMaxError":0,"Test\\Script\\StringValidationTest::testStringMaxSuccess":0,"Test\\Script\\StringValidationTest::testStringEmailError":0.001,"Test\\Script\\StringValidationTest::testStringEmailSuccess":0,"Test\\Script\\StringValidationTest::testStringUrlError":0.008,"Test\\Script\\StringValidationTest::testStringURLError":0,"Test\\Script\\StringValidationTest::testStringURLSuccess":0.008,"Test\\Script\\StringValidationTest::testStringRequiredSuccess":0.001,"Test\\Script\\StringValidationTest::testStringRequiredErrors":0,"Test\\Script\\StringValidationTest::testStringRequiredErrorsUnknow":0,"Test\\Script\\StringValidationTest::testStringRequiredErrorsUnknown":0,"Test\\Script\\StringValidationTest::testStringMatchErrors":0,"Test\\Script\\StringValidationTest::testStringMatchSuccess":0,"Test\\Script\\StringValidationTest::testStringValidationFieldNotDefinedException":0,"Test\\ValidationTest::testValidationObject":0.008}}
1+
{"version":1,"defects":{"Test\\Schema\\SCHStringTest::testStringObject":4,"Test\\Schema\\SCHStringTest::testStringObjectIsNotKey":3,"Test\\Schema\\SCHStringTest::testStringEmailKey":3,"Test\\Schema\\SCHStringTest::testStringObjectIsKey":4,"Test\\Schema\\StringSchemaTest::testStringURLKey":4,"Test\\Schema\\StringSchemaTest::testStringMatchKey":4,"Test\\Schema\\StringSchemaTest::testStringMinimumKey":4,"Test\\Schema\\NumberSchemaTest::testStringIsObject":4,"Test\\Schema\\NumberSchemaTest::testRequiredKey":4,"Test\\Schema\\DateSchemaTest::testDateTodayKey":4,"Test\\Schema\\BooleanSchemaTest::testBooleanIsRequireddKey":4,"Test\\Script\\StringValidationTest::testStringIsObject":4,"Test\\Script\\StringValidationTest::testStringObjectException":4,"Test\\Script\\StringValidationTest::testException":3,"Test\\Script\\StringValidationTest::testStringMin":3,"Test\\Script\\StringValidationTest::testStringMaxError":4,"Test\\Script\\StringValidationTest::testStringMaxSuccess":3,"Test\\Script\\StringValidationTest::testStringValidationSourceDataException":4,"Test\\Script\\StringValidationTest::testStringValidationSchemaException":4,"Test\\Script\\StringValidationTest::testStringMinError":4,"Test\\Script\\StringValidationTest::testStringMinSuccess":3,"Test\\Script\\StringValidationTest::testStringEmailError":3,"Test\\Script\\StringValidationTest::testStringURLSuccess":4,"Test\\Script\\StringValidationTest::testStringRequiredSuccess":4,"Test\\Script\\StringValidationTest::testStringRequiredErrors":3,"Test\\Script\\StringValidationTest::testStringRequiredErrorsUnknown":4,"Test\\Script\\StringValidationTest::testStringMatchSuccess":3,"Test\\Script\\StringValidationTest::testStringMatchErrors":3,"Test\\Schema\\StringSchemaTest::testStringIsObject":4,"Test\\Schema\\StringSchemaTest::testStringObjectIsKey":4,"Test\\Schema\\StringSchemaTest::testStringEmailKey":4,"Test\\Schema\\StringSchemaTest::testStringMaximumKey":4,"Test\\Schema\\DateSchemaTest::testStringIsObject":4,"Test\\Schema\\DateSchemaTest::testStringObjectIsKey":4,"Test\\Schema\\DateSchemaTest::testDateNowKey":4,"Test\\Schema\\NumberSchemaTest::testStringObjectIsKey":4,"Test\\Schema\\NumberSchemaTest::testNumberPositiveKey":4,"Test\\Schema\\BooleanSchemaTest::testBooleanIsObject":4,"Test\\Schema\\BooleanSchemaTest::testStringObjectIsKey":4,"Test\\Schema\\BooleanSchemaTest::testBooleanIsValidKey":3,"Test\\ValidationTest::testValidationStringObject":3,"Test\\ValidationTest::testValidationStringErrorObject":3},"times":{"Test\\Schema\\SCHStringTest::testStringObject":0.021,"Test\\Schema\\SCHStringTest::testStringObjectIsKey":0,"Test\\Schema\\SCHStringTest::testStringObjectIsNotKey":0.01,"Test\\Schema\\SCHStringTest::testStringEmailKey":0.001,"Test\\Schema\\SCHStringTest::testStringIsObject":0.008,"Test\\Schema\\StringSchemaTest::testStringIsObject":0.005,"Test\\Schema\\StringSchemaTest::testStringObjectIsKey":0,"Test\\Schema\\StringSchemaTest::testStringEmailKey":0,"Test\\Schema\\StringSchemaTest::testStringURLKey":0,"Test\\Schema\\StringSchemaTest::testStringMatchKey":0,"Test\\Schema\\StringSchemaTest::testStringMinimumKey":0,"Test\\Schema\\StringSchemaTest::testStringMaximumKey":0,"Test\\Schema\\NumberSchemaTest::testStringIsObject":0.005,"Test\\Schema\\NumberSchemaTest::testStringObjectIsKey":0,"Test\\Schema\\NumberSchemaTest::testRequiredKey":0,"Test\\Schema\\NumberSchemaTest::testNumberPositiveKey":0,"Test\\Schema\\DateSchemaTest::testStringIsObject":0.006,"Test\\Schema\\DateSchemaTest::testStringObjectIsKey":0,"Test\\Schema\\DateSchemaTest::testDateNowKey":0,"Test\\Schema\\DateSchemaTest::testDateTodayKey":0,"Test\\Schema\\BooleanSchemaTest::testBooleanIsObject":0.005,"Test\\Schema\\BooleanSchemaTest::testStringObjectIsKey":0,"Test\\Schema\\BooleanSchemaTest::testBooleanIsRequireddKey":0,"Test\\Schema\\BooleanSchemaTest::testBooleanIsValidKey":0,"Test\\Script\\StringValidationTest::testStringIsObject":0,"Test\\Script\\StringValidationTest::testStringObjectException":0.006,"Test\\Script\\StringValidationTest::testException":0.007,"Test\\Script\\StringValidationTest::testStringMin":0.001,"Test\\Script\\StringValidationTest::testStringValidationException":0.006,"Test\\Script\\StringValidationTest::testStringValidationSchemaException":0,"Test\\Script\\StringValidationTest::testStringValidationSourceDataException":0.007,"Test\\Script\\StringValidationTest::testStringMinError":0,"Test\\Script\\StringValidationTest::testStringMinSuccess":0,"Test\\Script\\StringValidationTest::testStringMaxError":0,"Test\\Script\\StringValidationTest::testStringMaxSuccess":0,"Test\\Script\\StringValidationTest::testStringEmailError":0.001,"Test\\Script\\StringValidationTest::testStringEmailSuccess":0,"Test\\Script\\StringValidationTest::testStringUrlError":0.008,"Test\\Script\\StringValidationTest::testStringURLError":0,"Test\\Script\\StringValidationTest::testStringURLSuccess":0.008,"Test\\Script\\StringValidationTest::testStringRequiredSuccess":0.001,"Test\\Script\\StringValidationTest::testStringRequiredErrors":0,"Test\\Script\\StringValidationTest::testStringRequiredErrorsUnknow":0,"Test\\Script\\StringValidationTest::testStringRequiredErrorsUnknown":0,"Test\\Script\\StringValidationTest::testStringMatchErrors":0,"Test\\Script\\StringValidationTest::testStringMatchSuccess":0,"Test\\Script\\StringValidationTest::testStringValidationFieldNotDefinedException":0,"Test\\ValidationTest::testValidationObject":0.016,"Test\\ValidationTest::testValidationStringObject":0.005,"Test\\ValidationTest::testValidationStringErrorObject":0.009}}

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright [yyyy] [name of copyright owner]
189+
Copyright 2022 Ibrahim Mussa Boss
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

src/Providers/SChemaProvider.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ abstract class SChemaProvider implements SchemaContracts
99
protected array $schema=[];
1010
protected string $source;
1111

12+
function __construct(string $type)
13+
{
14+
$this->source = $type;
15+
$this->schema[$this->source] = [];
16+
}
1217
/**
1318
* @param $rule
1419
* @return SChemaProvider

src/Schema/BooleanSchema.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class BooleanSchema
1919

2020
function __construct()
2121
{
22-
$this->source = "VBolean";
22+
$this->source = "Boolean";
2323
$this->schema[$this->source]=[];
2424
}
2525

src/Schema/DateSchema.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
class DateSchema extends SChemaProvider
1313
{
1414
function __construct() {
15-
$this->source="VDate";
16-
$this->schema[$this->source]=[];
15+
parent::__construct('Date');
1716
}
1817

1918
/**

src/Schema/NumberSchema.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@
1818
class NumberSchema extends SChemaProvider {
1919

2020
function __construct() {
21-
$this->source="VNumber";
22-
$this->schema[$this->source]=[];
21+
parent::__construct("Number");
2322
}
2423

2524
/**

src/Schema/StringSchema.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
class StringSchema extends SChemaProvider {
1818

1919
function __construct() {
20-
$this->source="String";
21-
$this->schema[$this->source]=[];
20+
parent::__construct('String');
2221
}
2322

2423
function email(): StringSchema

test/Schema/BooleanSchemaTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,19 @@ function testBooleanIsObject()
1818
function testStringObjectIsKey()
1919
{
2020
$booleanSchema = new BooleanSchema();
21-
$this->assertArrayHasKey('VBolean', $booleanSchema->check());
21+
$this->assertArrayHasKey('Boolean', $booleanSchema->check());
2222
}
2323

2424
function testBooleanIsRequireddKey()
2525
{
2626
$booleanSchema = new BooleanSchema();
27-
$subset_array = ['VBolean' => ['required' => true]];
27+
$subset_array = ['Boolean' => ['required' => true]];
2828
$this->assertEquals($subset_array, $booleanSchema->required()->check());
2929
}
3030
function testBooleanIsValidKey()
3131
{
3232
$booleanSchema = new BooleanSchema();
33-
$subset_array = ['VBolean' => ['isValid' => true]];
33+
$subset_array = ['Boolean' => ['isValid' => true]];
3434
$this->assertEquals($subset_array, $booleanSchema->isValid()->check());
3535
}
3636
}

test/Schema/DateSchemaTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,19 @@ function testStringIsObject()
1818
function testStringObjectIsKey()
1919
{
2020
$dateSchema = new DateSchema();
21-
$this->assertArrayHasKey('VDate', $dateSchema->check());
21+
$this->assertArrayHasKey('Date', $dateSchema->check());
2222
}
2323

2424
function testDateNowKey()
2525
{
2626
$dateSchema = new DateSchema();
27-
$subset_array = ['VDate' => ['now' => true]];
27+
$subset_array = ['Date' => ['now' => true]];
2828
$this->assertEquals($subset_array, $dateSchema->now()->check());
2929
}
3030
function testDateTodayKey()
3131
{
3232
$dateSchema = new DateSchema();
33-
$subset_array = ['VDate' => ['today' => true]];
33+
$subset_array = ['Date' => ['today' => true]];
3434
$this->assertEquals($subset_array, $dateSchema->today()->check());
3535
}
3636
}

test/Schema/NumberSchemaTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,19 @@ function testStringIsObject()
1818
function testStringObjectIsKey()
1919
{
2020
$numberSchema = new NumberSchema();
21-
$this->assertArrayHasKey('VNumber', $numberSchema->check());
21+
$this->assertArrayHasKey('Number', $numberSchema->check());
2222
}
2323

2424
function testRequiredKey()
2525
{
2626
$numberSchema = new NumberSchema();
27-
$subset_array = ['VNumber' => ['required' => true]];
27+
$subset_array = ['Number' => ['required' => true]];
2828
$this->assertEquals($subset_array, $numberSchema->required()->check());
2929
}
3030
function testNumberPositiveKey()
3131
{
3232
$numberSchema = new NumberSchema();
33-
$subset_array = ['VNumber' => ['positive' => true]];
33+
$subset_array = ['Number' => ['positive' => true]];
3434
$this->assertEquals($subset_array, $numberSchema->positive()->check());
3535
}
3636
}

test/Schema/VBolean.php

Lines changed: 0 additions & 16 deletions
This file was deleted.

test/ValidationTest.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,33 @@ function testValidationObject(){
1313
$validate = new Validate();
1414
$this->assertIsObject($validate);
1515
}
16+
function testValidationStringObject(){
17+
$validate = new Validate();
18+
$schema=["name"=>$validate->string()->min(3)->max(10)->required()->check()];
19+
$expected=[
20+
"name"=>[
21+
"String"=>[
22+
"min"=>3,
23+
"max"=>10,
24+
"required"=>true
25+
]
26+
]
27+
];
28+
$this->assertEquals($schema,$expected);
29+
}
30+
function testValidationStringErrorObject(){
31+
$validate = new Validate();
32+
$schema=["name"=>$validate->string()->min(3)->max(10)->required()];
33+
$expected=[
34+
"name"=>[
35+
"string"=>[
36+
"min"=>3,
37+
"max"=>10,
38+
"required"=>true
39+
]
40+
]
41+
];
42+
$this->assertIsNotArray($schema["name"]);
43+
$this->assertNotEquals($expected,$schema);
44+
}
1645
}

0 commit comments

Comments
 (0)