update v 1.0.7.5

This commit is contained in:
Sujit Prasad
2016-06-13 20:41:55 +05:30
parent aa9786d829
commit 283d97e3ea
5078 changed files with 339851 additions and 175995 deletions

View File

@@ -1,9 +1,9 @@
<?php
/*
* This file is part of Psy Shell
* This file is part of Psy Shell.
*
* (c) 2012-2014 Justin Hileman
* (c) 2012-2015 Justin Hileman
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@@ -53,49 +53,49 @@ class ValidClassNamePassTest extends CodeCleanerTestCase
array('trait stdClass {}', true),
// collisions inside the same code snippet
array("
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
"),
array("
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
trait Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
", true),
array("
', true),
array('
trait Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
", true),
array("
', true),
array('
trait Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
interface Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
", true),
array("
', true),
array('
interface Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
trait Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
", true),
array("
', true),
array('
interface Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
"),
array("
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
interface Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {}
"),
'),
// namespaced collisions
array("
array('
namespace Psy\\Test\\CodeCleaner {
class ValidClassNamePassTest {}
}
"),
array("
'),
array('
namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass {
class Beta {}
}
namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass {
class Beta {}
}
"),
'),
// extends and implements
array('class ValidClassNamePassTest extends NotAClass {}'),
@@ -107,11 +107,11 @@ class ValidClassNamePassTest extends CodeCleanerTestCase
// class instantiations
array('new Psy_Test_CodeCleaner_ValidClassNamePass_Gamma();'),
array("
array('
namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass {
new Psy_Test_CodeCleaner_ValidClassNamePass_Delta();
}
"),
'),
// class constant fetch
array('Psy\\Test\\CodeCleaner\\ValidClassNamePass\\NotAClass::FOO'),
@@ -133,53 +133,147 @@ class ValidClassNamePassTest extends CodeCleanerTestCase
public function getValid()
{
return array(
$valid = array(
// class declarations
array('class Psy_Test_CodeCleaner_ValidClassNamePass_Epsilon {}'),
array('namespace Psy\Test\CodeCleaner\ValidClassNamePass; class Zeta {}'),
array("
array('
namespace { class Psy_Test_CodeCleaner_ValidClassNamePass_Eta {}; }
namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass {
class Psy_Test_CodeCleaner_ValidClassNamePass_Eta {}
}
"),
'),
array('namespace Psy\Test\CodeCleaner\ValidClassNamePass { class stdClass {} }'),
// class instantiations
array('new stdClass();'),
array('new stdClass();'),
array("
array('
namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass {
class Theta {}
}
namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass {
new Theta();
}
"),
array("
'),
array('
namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass {
class Iota {}
new Iota();
}
"),
array("
'),
array('
namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass {
class Kappa {}
}
namespace {
new \\Psy\\Test\\CodeCleaner\\ValidClassNamePass\\Kappa();
}
"),
'),
// Class constant fetch (ValidConstantPassTest validates the actual constant)
array('class A {} A::FOO'),
array('$a = new DateTime; $a::ATOM'),
array('interface A { const B = 1; } A::B'),
// static call
array('DateTime::createFromFormat()'),
array('DateTime::$someMethod()'),
array('Psy\Test\CodeCleaner\Fixtures\ClassWithStatic::doStuff()'),
array('Psy\Test\CodeCleaner\Fixtures\ClassWithCallStatic::doStuff()'),
// Allow `self` and `static` as class names.
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function getInstance() {
return new self();
}
}
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function getInstance() {
return new SELF();
}
}
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function getInstance() {
return new self;
}
}
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function getInstance() {
return new static();
}
}
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function getInstance() {
return new Static();
}
}
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function getInstance() {
return new static;
}
}
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function foo() {
return parent::bar();
}
}
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function foo() {
return self::bar();
}
}
'),
array('
class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic {
public static function foo() {
return static::bar();
}
}
'),
array('class A { static function b() { return new A; } }'),
array('
class A {
const B = 123;
function c() {
return A::B;
}
}
'),
array('class A {} class B { function c() { return new A; } }'),
);
// Ugh. There's gotta be a better way to test for this.
if (class_exists('PhpParser\ParserFactory')) {
// PHP 7.0 anonymous classes, only supported by PHP Parser v2.x
$valid[] = array('$obj = new class() {}');
}
if (version_compare(PHP_VERSION, '5.5', '>=')) {
$valid[] = array('interface A {} A::class');
$valid[] = array('interface A {} A::CLASS');
$valid[] = array('class A {} A::class');
$valid[] = array('class A {} A::CLASS');
$valid[] = array('A::class');
$valid[] = array('A::CLASS');
}
return $valid;
}
}