www.gusucode.com > Flarum中文优化论坛PHP源码程序 > FlarumChina-master/vendor/pusher/pusher-php-server/test/unit/pusherConstructorTest.php
<?php class PusherConstructorTest extends PHPUnit_Framework_TestCase { protected function setUp() { } public function testDebugCanBeSetViaLegacyParameter() { $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', true ); $settings = $pusher->getSettings(); $this->assertEquals( true, $settings[ 'debug' ] ); } public function testHostAndSchemeCanBeSetViaLegacyParameter() { $scheme = 'http'; $host = 'test.com'; $legacy_host = "$scheme://$host"; $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', false, $legacy_host ); $settings = $pusher->getSettings(); $this->assertEquals( $scheme, $settings[ 'scheme' ] ); $this->assertEquals( $host, $settings[ 'host' ] ); } public function testLegacyHostParamWithNoSchemeCanBeUsedResultsInHostBeingUsedWithDefaultScheme() { $host = 'test.com'; $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', false, $host ); $settings = $pusher->getSettings(); $this->assertEquals( $host, $settings[ 'host' ] ); } public function testSchemeIsSetViaLegacyParameter() { $host = 'https://test.com'; $port = 90; $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', false, $host, $port ); $settings = $pusher->getSettings(); $this->assertEquals( 'https', $settings[ 'scheme' ] ); } public function testPortCanBeSetViaLegacyParameter() { $host = 'https://test.com'; $port = 90; $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', false, $host, $port ); $settings = $pusher->getSettings(); $this->assertEquals( $port, $settings[ 'port' ] ); } public function testTimeoutCanBeSetViaLegacyParameter() { $host = 'http://test.com'; $port = 90; $timeout = 90; $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', false, $host, $port, $timeout ); $settings = $pusher->getSettings(); $this->assertEquals( $timeout, $settings[ 'timeout' ] ); } public function testEncryptedOptionWillSetHostAndPort() { $options = array( 'encrypted' => true ); $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', $options ); $settings = $pusher->getSettings(); $this->assertEquals( 'https', $settings[ 'scheme' ], 'https' ); $this->assertEquals( 'api.pusherapp.com', $settings[ 'host' ] ); $this->assertEquals( '443', $settings[ 'port' ] ); } public function testEncryptedOptionWillBeOverwrittenByHostAndPortOptionsSetHostAndPort() { $options = array( 'encrytped' => true, 'host' => 'test.com', 'port' => '3000' ); $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', $options ); $settings = $pusher->getSettings(); $this->assertEquals( 'http', $settings[ 'scheme' ] ); $this->assertEquals( $options[ 'host' ], $settings[ 'host' ] ); $this->assertEquals( $options[ 'port' ], $settings[ 'port' ] ); } public function testSchemeIsStrippedAndIgnoredFromHostInOptions() { $options = array( 'host' => 'https://test.com' ); $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', $options ); $settings = $pusher->getSettings(); $this->assertEquals( 'http', $settings[ 'scheme' ] ); $this->assertEquals( 'test.com', $settings[ 'host' ] ); } public function testClusterSetsANewHost() { $options = array( 'cluster' => 'eu' ); $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', $options ); $settings = $pusher->getSettings(); $this->assertEquals( 'api-eu.pusher.com', $settings[ 'host' ] ); } public function testClusterOptionIsOverriddenByHostIfItExists() { $options = array( 'cluster' => 'eu', 'host' => 'api.staging.pusher.com' ); $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', $options ); $settings = $pusher->getSettings(); $this->assertEquals( 'api.staging.pusher.com', $settings[ 'host' ] ); } public function testClusterOptionIsOverriddenByLegacyHostParameter() { $options = array( 'cluster' => 'eu', ); $host = 'api.staging.pusher.com'; $pusher = new Pusher( 'app_key', 'app_secret', 'app_id', $options, $host ); $settings = $pusher->getSettings(); $this->assertEquals( 'api.staging.pusher.com', $settings[ 'host' ] ); } }