Mercurial > hg > isophonics-drupal-site
diff vendor/psy/psysh/test/CodeCleaner/ExitPassTest.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/psy/psysh/test/CodeCleaner/ExitPassTest.php Mon Apr 23 09:33:26 2018 +0100 @@ -0,0 +1,59 @@ +<?php + +/* + * This file is part of Psy Shell. + * + * (c) 2012-2018 Justin Hileman + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Psy\Test\CodeCleaner; + +use Psy\CodeCleaner\ExitPass; + +class ExitPassTest extends CodeCleanerTestCase +{ + /** + * @var string + */ + private $expectedExceptionString = '\\Psy\\Exception\\BreakException::exitShell()'; + + public function setUp() + { + $this->setPass(new ExitPass()); + } + + /** + * @dataProvider dataProviderExitStatement + */ + public function testExitStatement($from, $to) + { + $this->assertProcessesAs($from, $to); + } + + /** + * Data provider for testExitStatement. + * + * @return array + */ + public function dataProviderExitStatement() + { + return [ + ['exit;', "{$this->expectedExceptionString};"], + ['exit();', "{$this->expectedExceptionString};"], + ['die;', "{$this->expectedExceptionString};"], + ['exit(die(die));', "{$this->expectedExceptionString};"], + ['if (true) { exit; }', "if (true) {\n {$this->expectedExceptionString};\n}"], + ['if (false) { exit; }', "if (false) {\n {$this->expectedExceptionString};\n}"], + ['1 and exit();', "1 and {$this->expectedExceptionString};"], + ['foo() or die', "foo() or {$this->expectedExceptionString};"], + ['exit and 1;', "{$this->expectedExceptionString} and 1;"], + ['if (exit) { echo $wat; }', "if ({$this->expectedExceptionString}) {\n echo \$wat;\n}"], + ['exit or die;', "{$this->expectedExceptionString} or {$this->expectedExceptionString};"], + ['switch (die) { }', "switch ({$this->expectedExceptionString}) {\n}"], + ['for ($i = 1; $i < 10; die) {}', "for (\$i = 1; \$i < 10; {$this->expectedExceptionString}) {\n}"], + ]; + } +}