Source

						public function testPush() {
		$this->skipIf(!extension_loaded('zlib'), 'The zlib extension is not loaded.');
		$this->skipIf(
			ini_get('phar.readonly') == '1',
			'INI setting phar.readonly = On'
		);

		$result = file_put_contents(
			$this->_testPath . '/library_test_plugin/config/library_test_plugin.json',
			json_encode(array(
				'name' => 'library_test_plugin',
				'version' => '1.0',
				'summary' => 'something',
				'sources' => array(
					'phar' => 'http://somewhere.com/download/library_test_plugin.phar.gz'
				)
			))
		);
		$this->assertTrue($result);

		$result = $this->library->archive(
			$this->_testPath . '/library_test_plugin',
			$this->_testPath . '/library_test_plugin'
		);
		$this->assertTrue($result);

		$expected = "library_test_plugin.phar.gz created in {$this->_testPath} from ";
		$expected .= "{$this->_testPath}/library_test_plugin\n";
		$result = $this->library->response->output;
		$this->assertEqual($expected, $result);

		$result = file_exists($this->_testPath . '/library_test_plugin.phar.gz');
		$this->assertTrue($result);
		$this->library->response->output = null;

		$result = $this->library->push('library_test_plugin');
		$this->assertTrue($result);

		$expected = "library_test_plugin added to {$this->library->server}.\n";
		$expected .= "See http://{$this->library->server}/lab/plugins/view/{$result->id}\n";
		$result = $this->library->response->output;
		$this->assertEqual($expected, $result);

		$result = is_dir($this->_testPath . '/library_test_plugin');
		$this->assertTrue($result);

		$this->_cleanUp('tests/library_test_plugin');
		rmdir($this->_testPath . '/library_test_plugin');
	}