PocketMine-MP/tests/phpunit/level/format/io/LevelProviderManagerTest.php
Dylan K. Taylor f787552e97 Remove LevelProvider::getProviderName()
This is problematic because child level providers can forget to override the provider name of their parents, and then override them by error. Instead, they should be used in a mapping fashion to make sure they are unique and not inherited.
Also, the old method did not permit registering multiple aliases for the same provider. This now makes that possible.
2018-10-04 14:56:42 +01:00

54 lines
1.6 KiB
PHP

<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
declare(strict_types=1);
namespace pocketmine\level\format\io;
use PHPUnit\Framework\TestCase;
class LevelProviderManagerTest extends TestCase{
public function testAddNonClassProvider() : void{
$this->expectException(\InvalidArgumentException::class);
LevelProviderManager::addProvider("lol", "nope");
}
public function testAddAbstractClassProvider() : void{
$this->expectException(\InvalidArgumentException::class);
LevelProviderManager::addProvider(AbstractLevelProvider::class, "abstract");
}
public function testAddInterfaceProvider() : void{
$this->expectException(\InvalidArgumentException::class);
LevelProviderManager::addProvider(InterfaceLevelProvider::class, "interface");
}
public function testAddWrongClassProvider() : void{
$this->expectException(\InvalidArgumentException::class);
LevelProviderManager::addProvider(LevelProviderManagerTest::class, "bad_class");
}
}