File: ObjectHelpers.getSuggestion%28%29.phpt

package info (click to toggle)
php-nette-utils 4.0.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,420 kB
  • sloc: php: 4,069; xml: 12; makefile: 4
file content (52 lines) | stat: -rw-r--r-- 2,143 bytes parent folder | download | duplicates (3)
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
<?php

/**
 * Test: Nette\Utils\ObjectHelpers::getSuggestion()
 */

declare(strict_types=1);

use Nette\Utils\ObjectHelpers;
use Tester\Assert;


require __DIR__ . '/../bootstrap.php';


Assert::same(null, ObjectHelpers::getSuggestion([], ''));
Assert::same(null, ObjectHelpers::getSuggestion([], 'a'));
Assert::same(null, ObjectHelpers::getSuggestion(['a'], 'a'));
Assert::same('a', ObjectHelpers::getSuggestion(['a', 'b'], ''));
Assert::same('b', ObjectHelpers::getSuggestion(['a', 'b'], 'a')); // ignore 100% match
Assert::same('a1', ObjectHelpers::getSuggestion(['a1', 'a2'], 'a')); // take first
Assert::same(null, ObjectHelpers::getSuggestion(['aaa', 'bbb'], 'a'));
Assert::same(null, ObjectHelpers::getSuggestion(['aaa', 'bbb'], 'ab'));
Assert::same(null, ObjectHelpers::getSuggestion(['aaa', 'bbb'], 'abc'));
Assert::same('bar', ObjectHelpers::getSuggestion(['foo', 'bar', 'baz'], 'baz'));
Assert::same('abcd', ObjectHelpers::getSuggestion(['abcd'], 'acbd'));
Assert::same('abcd', ObjectHelpers::getSuggestion(['abcd'], 'axbd'));
Assert::same(null, ObjectHelpers::getSuggestion(['abcd'], 'axyd')); // 'tags' vs 'this'
Assert::same(null, ObjectHelpers::getSuggestion(['setItem'], 'item'));
Assert::same('setItem', ObjectHelpers::getSuggestion(['setItem'], 'Item'));
Assert::same('setItem', ObjectHelpers::getSuggestion(['setItem'], 'addItem'));
Assert::same(null, ObjectHelpers::getSuggestion(['addItem'], 'addItem'));
Assert::same('set', ObjectHelpers::getSuggestion(['set'], 'get'));
Assert::same('getA', ObjectHelpers::getSuggestion(['getA'], 'gtA'));
Assert::same('trim', ObjectHelpers::getSuggestion([new ReflectionFunction('trim')], 'trm'));
Assert::same('trim', ObjectHelpers::getSuggestion([new ReflectionFunction('trim')], 'getTrim'));
Assert::same(null, ObjectHelpers::getSuggestion(['123'], 'x'));


/*
length  allowed ins/del  replacements
-------------------------------------
0       1                0
1       1                1
2       1                1
3       1                1
4       2                1
5       2                2
6       2                2
7       2                2
8       3                2
*/