Test Setup Failed
Push — test ( 4e9ef0...2bbcf6 )
by Jonathan
02:51
created

IntegrationTest::testStore()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace Kint\Test;
4
5
use Kint;
6
use Kint\Object\BlobObject;
7
use PHPUnit_Framework_AssertionFailedError;
8
use PHPUnit_Framework_Exception;
9
10
class IntegrationTest extends KintTestCase
11
{
12
    /**
13
     * @covers \d
14
     * @covers \s
15
     * @covers \Kint::dump
16
     */
17
    public function testBasicDumps()
18
    {
19
        $testdata = array(
20
            1234,
21
            (object) array('abc' => 'def'),
22
            1234.5678,
23
            'Good news everyone! I\'ve got some bad news!',
24
            null,
25
        );
26
27
        $testdata[] = &$testdata;
28
29
        $array_structure = array(
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
30
            '0', 'integer', '1234',
31
            '1', 'stdClass', '1',
32
            'public', 'abc', 'string', '3', 'def',
33
            '2', 'double', '1234.5678',
34
            '3', 'string', '43', 'Good news everyone! I\'ve got some bad news!',
35
            '4', 'null',
36
        );
37
38
        Kint::$return = true;
39
        Kint::$cli_detection = false;
40
        Kint::$display_called_from = false;
41
42
        Kint::$enabled_mode = Kint::MODE_RICH;
43
        $richbase = d($testdata);
44
45
        $this->assertLike(
46
            array_merge(
47
                $array_structure,
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
48
                array('&amp;array', '6'),
49
                $array_structure,
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
50
                array('&amp;array', 'Recursion')
51
            ),
52
            $richbase
53
        );
54
55
        Kint::$enabled_mode = true;
56
        $this->assertSame($richbase, d($testdata));
57
        $this->assertSame($richbase, Kint::dump($testdata));
58
59
        Kint::$enabled_mode = Kint::MODE_PLAIN;
60
        $plainbase = d($testdata);
61
62
        $this->assertLike(
63
            array_merge(
64
                $array_structure,
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
65
                array('&amp;array', '6'),
66
                $array_structure,
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
67
                array('&amp;array', 'RECURSION')
68
            ),
69
            $plainbase
70
        );
71
72
        $this->assertSame($plainbase, Kint::dump($testdata));
73
74
        Kint::$enabled_mode = true;
75
        $this->assertSame($plainbase, s($testdata));
76
77
        Kint::$enabled_mode = Kint::MODE_CLI;
78
        $clibase = d($testdata);
79
80
        $this->assertLike(
81
            array_merge(
82
                $array_structure,
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
83
                array('&array', '6'),
84
                $array_structure,
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
85
                array('&array', 'RECURSION')
86
            ),
87
            $clibase
88
        );
89
90
        $this->assertSame($clibase, Kint::dump($testdata));
91
92
        Kint::$enabled_mode = true;
93
        Kint::$cli_detection = true;
94
        $this->assertSame($clibase, d($testdata));
95
        $this->assertSame($clibase, s($testdata));
96
        Kint::$cli_detection = false;
97
98
        Kint::$enabled_mode = Kint::MODE_TEXT;
99
        $textbase = d($testdata);
100
101
        $this->assertLike(
102
            array_merge(
103
                $array_structure,
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
104
                array('&array', '6'),
105
                $array_structure,
0 ignored issues
show
Coding Style introduced by
$array_structure does not seem to conform to the naming convention (^[a-z][a-zA-Z0-9]*$).

This check examines a number of code elements and verifies that they conform to the given naming conventions.

You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.

Loading history...
106
                array('&array', 'RECURSION')
107
            ),
108
            $textbase
109
        );
110
111
        $this->assertSame($textbase, Kint::dump($testdata));
112
113
        Kint::$return = false;
114
        Kint::$enabled_mode = true;
115
        ob_start();
116
        ~d($testdata);
117
        $this->assertSame($textbase, ob_get_clean());
118
119
        Kint::$enabled_mode = false;
120
        $this->assertSame(0, d($testdata));
121
        $this->assertSame(0, s($testdata));
122
    }
123
124
    /**
125
     * Test this test suite's restore after test.
126
     *
127
     * @covers \Kint\Test\KintTestCase::setUp
128
     * @covers \Kint\Test\KintTestCase::tearDown
129
     */
130
    public function testStore()
131
    {
132
        Kint::$file_link_format = 'test_store';
133
        $this->assertEquals('test_store', Kint::$file_link_format);
134
        BlobObject::$char_encodings[] = 'this_is_not_a_real_encoding';
135
        $this->assertContains('this_is_not_a_real_encoding', BlobObject::$char_encodings);
136
    }
137
138
    /**
139
     * @covers \Kint\Test\KintTestCase::setUp
140
     * @covers \Kint\Test\KintTestCase::tearDown
141
     */
142
    public function testRestore()
143
    {
144
        $this->assertNotEquals('test_store', Kint::$file_link_format);
145
        $this->assertNotContains('this_is_not_a_real_encoding', BlobObject::$char_encodings);
146
    }
147
148
    /**
149
     * @covers \Kint\Test\KintTestCase::assertLike
150
     */
151
    public function testLike()
152
    {
153
        $this->assertLike(array('a', 'b', 'c'), 'foo a bar baz c buzz');
154
    }
155
156
    /**
157
     * @covers \Kint\Test\KintTestCase::assertLike
158
     */
159
    public function testNotLike()
160
    {
161
        try {
162
            $this->assertLike(array('a', 'b', 'c', 'o'), 'foo a bar baz c buzz');
163
        } catch (PHPUnit_Framework_AssertionFailedError $e) {
164
            return;
165
        }
166
167
        self::fail('Failed to mismatch');
168
    }
169
170
    /**
171
     * @covers \Kint\Test\KintTestCase::assertLike
172
     */
173
    public function testLikeNonString()
174
    {
175
        try {
176
            $this->assertLike(array('a', 'b', 'c'), array('a', 'b', 'c'));
177
        } catch (PHPUnit_Framework_Exception $e) {
178
            return;
179
        }
180
181
        self::fail('Failed to throw');
182
    }
183
}
184