GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( bd17d5...23c909 )
by Jonny
03:33
created

testInvalidExecutableExceptionIsThrownIfPhantomJSPathIsInvalid()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
c 0
b 0
f 0
rs 9.4285
cc 1
eloc 4
nc 1
nop 0
1
<?php
2
3
/*
4
 * This file is part of the php-phantomjs.
5
 *
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 */
9
namespace JonnyW\PhantomJs\Tests\Unit;
10
11
use JonnyW\PhantomJs\Engine;
12
13
/**
14
 * PHP PhantomJs
15
 *
16
 * @author Jon Wenmoth <[email protected]>
17
 */
18
class EngineTest extends \PHPUnit_Framework_TestCase
19
{
20
21
/** +++++++++++++++++++++++++++++++++++ **/
22
/** ++++++++++++++ TESTS ++++++++++++++ **/
23
/** +++++++++++++++++++++++++++++++++++ **/
24
25
    /**
26
     * Test invalid executable exception is thrown
27
     * if phantom JS path is invalid.
28
     *
29
     * @access public
30
     * @return void
31
     */
32
    public function testInvalidExecutableExceptionIsThrownIfPhantomJSPathIsInvalid()
33
    {
34
        $this->setExpectedException('\JonnyW\PhantomJs\Exception\InvalidExecutableException');
0 ignored issues
show
Deprecated Code introduced by
The method PHPUnit_Framework_TestCase::setExpectedException() has been deprecated with message: Method deprecated since Release 5.2.0

This method has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.

Loading history...
35
36
        $engine = $this->getEngine();
37
        $engine->setPath('/invalid/phantomjs/path');
38
    }
39
40
    /**
41
     * Test default phantom JS path is returned
42
     * if no custom path is set.
43
     *
44
     * @access public
45
     * @return void
46
     */
47
    public function testDefaultPhantomJSPathIsReturnedIfNoCustomPathIsSet()
48
    {
49
        $engine = $this->getEngine();
50
51
        $this->assertSame('bin/phantomjs', $engine->getPath());
52
    }
53
54
    /**
55
     * Test can log data.
56
     *
57
     * @access public
58
     * @return void
59
     */
60
    public function testCanLogData()
61
    {
62
        $log = 'Test log info';
63
64
        $engine = $this->getEngine();
65
        $engine->log($log);
66
67
        $this->assertSame($log, $engine->getLog());
68
    }
69
70
    /**
71
     * Test can clear log.
72
     *
73
     * @access public
74
     * @return void
75
     */
76
    public function testCanClearLog()
77
    {
78
        $log = 'Test log info';
79
80
        $engine = $this->getEngine();
81
        $engine->log($log);
82
        $engine->clearLog();
83
84
        $this->assertEmpty($engine->getLog());
85
    }
86
87
    /**
88
     * Test can add run option.
89
     *
90
     * @access public
91
     * @return void
92
     */
93
    public function testCanAddRunOption()
94
    {
95
        $options = array(
96
            'option1',
97
            'option2'
98
        );
99
100
        $engine = $this->getEngine();
101
        $engine->setOptions($options);
102
        $engine->addOption('option3');
103
104
        array_push($options, 'option3');
105
106
        $this->assertSame($options, $engine->getOptions());
107
    }
108
109
    /**
110
     * Test invalid executable exception is thrown when
111
     * building command if path to phantom JS is valid.
112
     *
113
     * @access public
114
     * @return void
115
     */
116
    public function testInvalidExecutableExceptionIsThrownWhenBuildingCommandIfPathToPhantomJSIsInvalid()
117
    {
118
        $this->setExpectedException('\JonnyW\PhantomJs\Exception\InvalidExecutableException');
0 ignored issues
show
Deprecated Code introduced by
The method PHPUnit_Framework_TestCase::setExpectedException() has been deprecated with message: Method deprecated since Release 5.2.0

This method has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.

Loading history...
119
120
        $engine = $this->getEngine();
121
122
        $phantomJs = new \ReflectionProperty(get_class($engine), 'path');
123
        $phantomJs->setAccessible(true);
124
        $phantomJs->setValue($engine, 'invalid/path');
125
126
        $engine->getCommand();
127
    }
128
129
    /**
130
     * Test command contains phantom JS executable
131
     *
132
     * @access public
133
     * @return void
134
     */
135
    public function testCommandContainsPhantomJSExecutable()
136
    {
137
        $engine = $this->getEngine();
138
139
        $this->assertContains($engine->getPath(), $engine->getCommand());
140
    }
141
142
    /**
143
     * Test debug flag can be set.
144
     *
145
     * @access public
146
     * @return void
147
     */
148
    public function testDebugFlagCanBeSet()
149
    {
150
        $engine = $this->getEngine();
151
        $engine->debug(true);
152
153
        $this->assertContains('--debug=true', $engine->getCommand());
154
    }
155
156
    /**
157
     * Test debug flag is not set if
158
     * debugging is not enabled.
159
     *
160
     * @access public
161
     * @return void
162
     */
163
    public function testDebugFlagIsNotSetIfDebuggingIsNotEnabled()
164
    {
165
        $engine = $this->getEngine();
166
        $engine->debug(false);
167
168
        $this->assertNotContains('--debug=true', $engine->getCommand());
169
    }
170
171
    /**
172
     * Test disk cache flag can be set.
173
     *
174
     * @access public
175
     * @return void
176
     */
177
    public function testDiskCacheFlagCanBeSet()
178
    {
179
        $engine = $this->getEngine();
180
        $engine->cache(true);
181
182
        $this->assertContains('--disk-cache=true', $engine->getCommand());
183
    }
184
185
    /**
186
     * Test disk cache flag is not set if
187
     * caching is not enabled.
188
     *
189
     * @access public
190
     * @return void
191
     */
192
    public function testDiskCacheFlagIsNotSetIfCachingIsNotEnabled()
193
    {
194
        $engine = $this->getEngine();
195
        $engine->cache(false);
196
197
        $this->assertNotContains('--disk-cache=true', $engine->getCommand());
198
    }
199
200
    /**
201
     * Test command contains run options.
202
     *
203
     * @access public
204
     * @return void
205
     */
206
    public function testCommandContainsRunOptions()
207
    {
208
        $option1 = '--local-storage-path=/some/path';
209
        $option2 = '--local-storage-quota=5';
210
        $option3 = '--local-to-remote-url-access=true';
211
212
        $engine = $this->getEngine();
213
        $engine->addOption($option1);
214
        $engine->addOption($option2);
215
        $engine->addOption($option3);
216
217
        $command = $engine->getCommand();
218
219
        $this->assertContains($option1, $command);
220
        $this->assertContains($option2, $command);
221
        $this->assertContains($option3, $command);
222
    }
223
224
    /**
225
     * Test debug flag is set if runs options
226
     * are also set.
227
     *
228
     * @access public
229
     * @return void
230
     */
231
    public function testDebugFlagIsSetIfRunOptionsAreAlsoSet()
232
    {
233
        $option = '--local-storage-path=/some/path';
234
235
        $engine = $this->getEngine();
236
        $engine->addOption($option);
237
        $engine->debug(true);
238
239
        $command = $engine->getCommand();
240
241
        $this->assertContains($option, $command);
242
        $this->assertContains('--debug=true', $command);
243
    }
244
245
/** +++++++++++++++++++++++++++++++++++ **/
246
/** ++++++++++ TEST ENTITIES ++++++++++ **/
247
/** +++++++++++++++++++++++++++++++++++ **/
248
249
    /**
250
     * Get client instance
251
     *
252
     * @return \JonnyW\PhantomJs\Engine
253
     */
254
    protected function getEngine()
255
    {
256
        $engine = new Engine();
257
258
        return $engine;
259
    }
260
}
261