Passed
Push — master ( 9205ea...6109ae )
by Gordon
01:38
created

SluggableTest::textMixedCase()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
namespace Suilven\Sluggable\Tests;
3
4
use SilverStripe\CMS\Model\SiteTree;
0 ignored issues
show
Bug introduced by
The type SilverStripe\CMS\Model\SiteTree was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
5
use SilverStripe\Core\Config\Config;
0 ignored issues
show
Bug introduced by
The type SilverStripe\Core\Config\Config was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
use SilverStripe\Core\Injector\Injector;
0 ignored issues
show
Bug introduced by
The type SilverStripe\Core\Injector\Injector was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
use SilverStripe\Core\Kernel;
0 ignored issues
show
Bug introduced by
The type SilverStripe\Core\Kernel was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
8
use SilverStripe\Core\Startup\ScheduledFlushDiscoverer;
0 ignored issues
show
Bug introduced by
The type SilverStripe\Core\Startup\ScheduledFlushDiscoverer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
9
use SilverStripe\Dev\SapphireTest;
0 ignored issues
show
Bug introduced by
The type SilverStripe\Dev\SapphireTest was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
10
use Suilven\Sluggable\Extension\Sluggable;
11
use Suilven\Sluggable\Helper\SluggableHelper;
12
13
class SluggableTest extends SapphireTest
14
{
15
    public static function setUpBeforeClass()
16
    {
17
        parent::setUpBeforeClass();
18
19
        /**
20
         * @todo How does one add an extension during tests?
21
        \Page::add_extension(Sluggable::class);
22
        $kernel = Injector::inst()->get(Kernel::class);
23
        ScheduledFlushDiscoverer::scheduleFlush($kernel);
24
         * */
25
    }
26
27
    public function testLowerCase()
28
    {
29
        $this->assertEquals('this-is-lower-case', $this->getSlug('this is lower case'));
30
    }
31
32
    public function testUpperCase()
33
    {
34
        $this->assertEquals('this-is-upper-case', $this->getSlug('THIS IS UPPER CASE'));
35
36
    }
37
38
    public function textMixedCase()
39
    {
40
        $this->assertEquals('this-is-mixed-case', $this->getSlug('THIs-Is-Mixed-case'));
41
42
    }
43
44
    public function testEmptyString()
45
    {
46
        $this->assertEquals('', $this->getSlug(''));
47
48
    }
49
50
    private function getSlug($title)
51
    {
52
        $helper = new SluggableHelper();
53
        return $helper->getSlug($title);
54
    }
55
}
56