BasicTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 33
c 1
b 0
f 0
dl 0
loc 50
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testStrange() 0 23 1
A testPass() 0 23 1
1
<?php
2
3
namespace ParserTests;
4
5
6
use CommonTestClass;
7
use kalanis\kw_input\Parsers;
8
9
10
class BasicTest extends CommonTestClass
11
{
12
    public function testPass(): void
13
    {
14
        $data = new Parsers\Basic();
15
        $this->assertInstanceOf(Parsers\AParser::class, $data);
16
17
        $dataset = $this->entryDataset();
18
        $entries = $data->parseInput($dataset);
19
20
        $entry = reset($entries);
21
        $this->assertEquals('foo', key($entries));
22
        $this->assertEquals('val1', $entry);
23
24
        $entry = next($entries);
25
        $this->assertEquals('bar', key($entries));
26
        $this->assertEquals(['bal1', 'bal2'], $entry);
27
28
        $entry = next($entries);
29
        $this->assertEquals('baz', key($entries));
30
        $this->assertEquals(true, $entry);
31
32
        $entry = next($entries);
33
        $this->assertEquals('aff', key($entries));
34
        $this->assertEquals(42, $entry);
35
    }
36
37
    public function testStrange(): void
38
    {
39
        $data = new Parsers\Basic();
40
        $this->assertInstanceOf(Parsers\AParser::class, $data);
41
42
        $dataset = $this->strangeEntryDataset();
43
        $entries = $data->parseInput($dataset);
44
45
        $entry = reset($entries);
46
        $this->assertEquals('foo  ', key($entries));
47
        $this->assertEquals('val1', $entry);
48
49
        $entry = next($entries);
50
        $this->assertEquals('bar', key($entries));
51
        $this->assertEquals(["<script>alert('XSS!!!')</script>", 'bal2'], $entry);
52
53
        $entry = next($entries);
54
        $this->assertEquals('b<a>z', key($entries));
55
        $this->assertEquals(false, $entry);
56
57
        $entry = next($entries);
58
        $this->assertEquals('a**ff', key($entries));
59
        $this->assertEquals('<?php echo "ded!";', $entry);
60
    }
61
}
62