Ajout du FR
Ajout du FR + correction du "functions.php"
This commit is contained in:
161
vendor/ocramius/proxy-manager/tests/ProxyManagerTest/Inflector/ClassNameInflectorTest.php
vendored
Normal file
161
vendor/ocramius/proxy-manager/tests/ProxyManagerTest/Inflector/ClassNameInflectorTest.php
vendored
Normal file
@@ -0,0 +1,161 @@
|
||||
<?php
|
||||
/*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the MIT license.
|
||||
*/
|
||||
|
||||
namespace ProxyManagerTest\Inflector;
|
||||
|
||||
use PHPUnit_Framework_TestCase;
|
||||
use ProxyManager\Inflector\ClassNameInflector;
|
||||
use ProxyManager\Inflector\ClassNameInflectorInterface;
|
||||
|
||||
/**
|
||||
* Tests for {@see \ProxyManager\Inflector\ClassNameInflector}
|
||||
*
|
||||
* @author Marco Pivetta <ocramius@gmail.com>
|
||||
* @license MIT
|
||||
*
|
||||
* @group Coverage
|
||||
*/
|
||||
class ClassNameInflectorTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @dataProvider getClassNames
|
||||
*
|
||||
* @covers \ProxyManager\Inflector\ClassNameInflector::__construct
|
||||
* @covers \ProxyManager\Inflector\ClassNameInflector::getUserClassName
|
||||
* @covers \ProxyManager\Inflector\ClassNameInflector::getProxyClassName
|
||||
* @covers \ProxyManager\Inflector\ClassNameInflector::isProxyClassName
|
||||
*/
|
||||
public function testInflector($realClassName, $proxyClassName)
|
||||
{
|
||||
$inflector = new ClassNameInflector('ProxyNS');
|
||||
|
||||
$this->assertFalse($inflector->isProxyClassName($realClassName));
|
||||
$this->assertTrue($inflector->isProxyClassName($proxyClassName));
|
||||
$this->assertStringMatchesFormat($realClassName, $inflector->getUserClassName($realClassName));
|
||||
$this->assertStringMatchesFormat($proxyClassName, $inflector->getProxyClassName($proxyClassName));
|
||||
$this->assertStringMatchesFormat($proxyClassName, $inflector->getProxyClassName($realClassName));
|
||||
$this->assertStringMatchesFormat($realClassName, $inflector->getUserClassName($proxyClassName));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \ProxyManager\Inflector\ClassNameInflector::getProxyClassName
|
||||
*/
|
||||
public function testGeneratesSameClassNameWithSameParameters()
|
||||
{
|
||||
$inflector = new ClassNameInflector('ProxyNS');
|
||||
|
||||
$this->assertSame($inflector->getProxyClassName('Foo\\Bar'), $inflector->getProxyClassName('Foo\\Bar'));
|
||||
$this->assertSame(
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('baz' => 'tab')),
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('baz' => 'tab'))
|
||||
);
|
||||
$this->assertSame(
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('tab' => 'baz')),
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('tab' => 'baz'))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \ProxyManager\Inflector\ClassNameInflector::getProxyClassName
|
||||
*/
|
||||
public function testGeneratesDifferentClassNameWithDifferentParameters()
|
||||
{
|
||||
$inflector = new ClassNameInflector('ProxyNS');
|
||||
|
||||
$this->assertNotSame(
|
||||
$inflector->getProxyClassName('Foo\\Bar'),
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('foo' => 'bar'))
|
||||
);
|
||||
$this->assertNotSame(
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('baz' => 'tab')),
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('tab' => 'baz'))
|
||||
);
|
||||
$this->assertNotSame(
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('foo' => 'bar', 'tab' => 'baz')),
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('foo' => 'bar'))
|
||||
);
|
||||
$this->assertNotSame(
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('foo' => 'bar', 'tab' => 'baz')),
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('tab' => 'baz', 'foo' => 'bar'))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \ProxyManager\Inflector\ClassNameInflector::getProxyClassName
|
||||
*/
|
||||
public function testGeneratesCorrectClassNameWhenGivenLeadingBackslash()
|
||||
{
|
||||
$inflector = new ClassNameInflector('ProxyNS');
|
||||
|
||||
$this->assertSame(
|
||||
$inflector->getProxyClassName('\\Foo\\Bar', array('tab' => 'baz')),
|
||||
$inflector->getProxyClassName('Foo\\Bar', array('tab' => 'baz'))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \ProxyManager\Inflector\ClassNameInflector::getProxyClassName
|
||||
*
|
||||
* @dataProvider getClassAndParametersCombinations
|
||||
*
|
||||
* @param string $className
|
||||
* @param array $parameters
|
||||
*/
|
||||
public function testClassNameIsValidClassIdentifier($className, array $parameters)
|
||||
{
|
||||
$inflector = new ClassNameInflector('ProxyNS');
|
||||
|
||||
$this->assertRegExp(
|
||||
'/([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+)(\\\\[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+)*/',
|
||||
$inflector->getProxyClassName($className, $parameters),
|
||||
'Class name string is a valid class identifier'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Data provider.
|
||||
*
|
||||
* @return array[]
|
||||
*/
|
||||
public function getClassNames()
|
||||
{
|
||||
return array(
|
||||
array('Foo', 'ProxyNS\\' . ClassNameInflectorInterface::PROXY_MARKER . '\\Foo\\%s'),
|
||||
array('Foo\\Bar', 'ProxyNS\\' . ClassNameInflectorInterface::PROXY_MARKER . '\\Foo\\Bar\\%s'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Data provider.
|
||||
*
|
||||
* @return array[]
|
||||
*/
|
||||
public function getClassAndParametersCombinations()
|
||||
{
|
||||
return array(
|
||||
array('Foo', array()),
|
||||
array('Foo\\Bar', array()),
|
||||
array('Foo', array(null)),
|
||||
array('Foo\\Bar', array(null)),
|
||||
array('Foo', array('foo' => 'bar')),
|
||||
array('Foo\\Bar', array('foo' => 'bar')),
|
||||
array('Foo', array("\0" => "very \0 bad")),
|
||||
array('Foo\\Bar', array("\0" => "very \0 bad")),
|
||||
);
|
||||
}
|
||||
}
|
||||
66
vendor/ocramius/proxy-manager/tests/ProxyManagerTest/Inflector/Util/ParameterEncoderTest.php
vendored
Normal file
66
vendor/ocramius/proxy-manager/tests/ProxyManagerTest/Inflector/Util/ParameterEncoderTest.php
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the MIT license.
|
||||
*/
|
||||
|
||||
namespace ProxyManagerTest\Inflector\Util;
|
||||
|
||||
use PHPUnit_Framework_TestCase;
|
||||
use ProxyManager\Inflector\Util\ParameterEncoder;
|
||||
|
||||
/**
|
||||
* Tests for {@see \ProxyManager\Inflector\Util\ParameterEncoder}
|
||||
*
|
||||
* @author Marco Pivetta <ocramius@gmail.com>
|
||||
* @license MIT
|
||||
*
|
||||
* @group Coverage
|
||||
*/
|
||||
class ParameterEncoderTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @dataProvider getParameters
|
||||
*
|
||||
* @covers \ProxyManager\Inflector\Util\ParameterEncoder::encodeParameters
|
||||
*/
|
||||
public function testGeneratesValidClassName(array $parameters)
|
||||
{
|
||||
$encoder = new ParameterEncoder();
|
||||
|
||||
$this->assertRegExp(
|
||||
'/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+/',
|
||||
$encoder->encodeParameters($parameters),
|
||||
'Encoded string is a valid class identifier'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getParameters()
|
||||
{
|
||||
return array(
|
||||
array(array()),
|
||||
array(array('foo' => 'bar')),
|
||||
array(array('bar' => 'baz')),
|
||||
array(array(null)),
|
||||
array(array(null, null)),
|
||||
array(array('bar' => null)),
|
||||
array(array('bar' => 12345)),
|
||||
array(array('foo' => 'bar', 'bar' => 'baz')),
|
||||
);
|
||||
}
|
||||
}
|
||||
62
vendor/ocramius/proxy-manager/tests/ProxyManagerTest/Inflector/Util/ParameterHasherTest.php
vendored
Normal file
62
vendor/ocramius/proxy-manager/tests/ProxyManagerTest/Inflector/Util/ParameterHasherTest.php
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
/*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the MIT license.
|
||||
*/
|
||||
|
||||
namespace ProxyManagerTest\Inflector\Util;
|
||||
|
||||
use PHPUnit_Framework_TestCase;
|
||||
use ProxyManager\Inflector\Util\ParameterHasher;
|
||||
|
||||
/**
|
||||
* Tests for {@see \ProxyManager\Inflector\Util\ParameterHasher}
|
||||
*
|
||||
* @author Marco Pivetta <ocramius@gmail.com>
|
||||
* @license MIT
|
||||
*
|
||||
* @group Coverage
|
||||
*/
|
||||
class ParameterHasherTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @dataProvider getParameters
|
||||
*
|
||||
* @covers \ProxyManager\Inflector\Util\ParameterHasher::hashParameters
|
||||
*/
|
||||
public function testGeneratesValidClassName(array $parameters, $expectedHash)
|
||||
{
|
||||
$encoder = new ParameterHasher();
|
||||
|
||||
$this->assertSame($expectedHash, $encoder->hashParameters($parameters));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getParameters()
|
||||
{
|
||||
return array(
|
||||
array(array(), '40cd750bba9870f18aada2478b24840a'),
|
||||
array(array('foo' => 'bar'), '49a3696adf0fbfacc12383a2d7400d51'),
|
||||
array(array('bar' => 'baz'), '6ed41c8a63c1571554ecaeb998198757'),
|
||||
array(array(null), '38017a839aaeb8ff1a658fce9af6edd3'),
|
||||
array(array(null, null), '12051f9a58288e5328ad748881cc4e00'),
|
||||
array(array('bar' => null), '0dbb112e1c4e6e4126232de2daa2d660'),
|
||||
array(array('bar' => 12345), 'eb6291ea4973741bf9b6571f49b4ffd2'),
|
||||
array(array('foo' => 'bar', 'bar' => 'baz'), '4447ff857f244d24c31bd84d7a855eda'),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user