BasicTest::testStrange()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 16
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 23
rs 9.7333
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