mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-09 07:20:15 +00:00
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.
54 lines
1.6 KiB
PHP
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");
|
|
}
|
|
}
|