-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSlug.php
55 lines (46 loc) · 2.47 KB
/
Slug.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
declare(strict_types=1);
/*
* This file is part of the QuidPHP package <https://quidphp.com>
* Author: Pierre-Philippe Emond <emondpph@gmail.com>
* License: https://github.com/quidphp/base/blob/master/LICENSE
*/
namespace Quid\Test\Base;
use Quid\Base;
// slug
// class for testing Quid\Base\Slug
class Slug extends Base\Test
{
// trigger
final public static function trigger(array $data):bool
{
// is
assert(Base\Slug::is('test-testtes1'));
// keepAlphanumeric
assert('test-testtes1' === Base\Slug::keepAlphanumeric('testé-test tes1'));
// implode
// parse
assert(Base\Slug::parse(['testé ok! la vie','JAMÉS'],Base\Slug::option(['sliceLength'=>[3,30]])) === ['teste',3=>'vie',4=>'JAMES']);
// parseValue
assert(Base\Slug::parseValue('test!é',true) === 'teste');
assert(Base\Slug::parseValue('test!é',false) === 'test');
// other
assert(Base\Slug::str('test ok [ok]') === 'test-ok-ok');
assert(Base\Slug::str(['test_k',2]) === 'test-2');
assert(Base\Slug::str(['test_2','ok']) === 'test-2-ok');
assert(Base\Slug::sameWithSegments('lavie-[james]','lavie-ok'));
assert(Base\Slug::arr('tÉst bla - ok la') === ['tEst','bla','ok','la']);
assert('' === Base\Slug::str(''));
assert('teste-bla-ca123-html-tag-html-asds' === Base\Slug::str('-testé_bla!ça123 <html>tag</html>-ASDS !-'));
assert(Base\Slug::str('-testé_bla!ça123 ASDS !----',['append'=>'test','prepend'=>'MAX! -asd@#@']) === 'max-asd-teste-bla-ca123-asds-test');
assert('max-teste-bla-ca123-asds-test' === Base\Slug::str('-testé_bla!ça123 ASDS !----',['append'=>'test','prepend'=>'MAX!']));
assert('teste-bla-ca123-asds-test' === Base\Slug::str('-testé_bla!ça123 ASDS !----',['append'=>'test']));
assert('teste-ca123-test' === Base\Slug::str('-testé_bla!ça123 ASDS !----',['append'=>'test','sliceLength'=>[5,50]]));
assert('teste-ca123-test' === Base\Slug::str('-testé_bla!ça123 ASDS !----',['append'=>'test','sliceLength'=>[5,50]]));
assert('asds-test' === Base\Slug::str('-testé_bla!ça123 ASDS !----',['append'=>'test','totalLength'=>10]));
assert('ca123-asds-test' === Base\Slug::str('-testé_bla!ça123 ASDS !----',['append'=>'test','totalLength'=>18]));
assert('teste-bla-ca123-asds-test' === Base\Slug::str('-testé_bla!ça123 ASDS !----',['append'=>'test','totalLength'=>25]));
return true;
}
}
?>