mirror of
https://github.com/predis/predis.git
synced 2026-08-23 15:53:19 +00:00
90da582efc
* Fixed bug with incorrect multiple words processing * Convert subcommand string to lower case * Update SubcommandStrategyResolver.php * Added test coverage * Codestyle fixes --------- Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com>
58 lines
1.5 KiB
PHP
58 lines
1.5 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Predis package.
|
|
*
|
|
* (c) 2009-2020 Daniele Alessandri
|
|
* (c) 2021-2023 Till Krüss
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Predis\Command\Strategy;
|
|
|
|
use InvalidArgumentException;
|
|
use PHPUnit\Framework\TestCase;
|
|
use Predis\Command\Strategy\ContainerCommands\Functions\LoadStrategy;
|
|
|
|
class SubcommandStrategyResolverTest extends TestCase
|
|
{
|
|
/**
|
|
* @group disconnected
|
|
* @return void
|
|
*/
|
|
public function testResolveCorrectStrategy(): void
|
|
{
|
|
$resolver = new SubcommandStrategyResolver();
|
|
$expectedStrategy = new LoadStrategy();
|
|
|
|
$this->assertEquals($expectedStrategy, $resolver->resolve('functions', 'load'));
|
|
}
|
|
|
|
/**
|
|
* @group disconnected
|
|
* @return void
|
|
*/
|
|
public function testResolveCorrectlyResolvesStrategyWithGivenWordSeparator(): void
|
|
{
|
|
$resolver = new SubcommandStrategyResolver('_');
|
|
$expectedStrategy = new LoadStrategy();
|
|
|
|
$this->assertEquals($expectedStrategy, $resolver->resolve('functions_', 'load_'));
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function testResolveThrowsExceptionOnNonExistingStrategy(): void
|
|
{
|
|
$resolver = new SubcommandStrategyResolver();
|
|
|
|
$this->expectException(InvalidArgumentException::class);
|
|
$this->expectExceptionMessage('Non-existing container command given');
|
|
|
|
$resolver->resolve('foo', 'bar');
|
|
}
|
|
}
|