1--TEST-- 2Phar: bad parameters to various methods 3--SKIPIF-- 4<?php if (!extension_loaded("phar")) die("skip"); ?> 5--INI-- 6phar.readonly=0 7--FILE-- 8<?php 9ini_set('phar.readonly', 1); 10 11try { 12 Phar::mungServer('hi'); 13} catch (TypeError $e) { 14 echo $e->getMessage(), "\n"; 15} 16try { 17 Phar::createDefaultStub(array()); 18} catch (TypeError $e) { 19 echo $e->getMessage(), "\n"; 20} 21try { 22 Phar::loadPhar(array()); 23} catch (TypeError $e) { 24 echo $e->getMessage(), "\n"; 25} 26try { 27 Phar::canCompress('hi'); 28} catch (TypeError $e) { 29 echo $e->getMessage(), "\n"; 30} 31try { 32 $a = new Phar(array()); 33} catch (TypeError $e) { 34 echo $e->getMessage(), "\n"; 35} 36try { 37 $a = new Phar(__DIR__ . '/files/frontcontroller10.phar'); 38} catch (PharException $e) { 39 echo $e->getMessage(), "\n"; 40} 41try { 42 $a->convertToExecutable(array()); 43} catch (TypeError $e) { 44 echo $e->getMessage(), "\n"; 45} 46try { 47 $a->convertToData(array()); 48} catch (TypeError $e) { 49 echo $e->getMessage(), "\n"; 50} 51try { 52 $b = new PharData(__DIR__ . '/whatever.tar'); 53} catch (PharException $e) { 54 echo $e->getMessage(), "\n"; 55} 56try { 57 $c = new PharData(__DIR__ . '/whatever.zip'); 58} catch (PharException $e) { 59 echo $e->getMessage(), "\n"; 60} 61try { 62 $b->delete(array()); 63} catch (TypeError $e) { 64 echo $e->getMessage(), "\n"; 65} 66try { 67 $a->delete('oops'); 68} catch (Exception $e) { 69 echo $e->getMessage() . "\n"; 70} 71try { 72 $b->delete('oops'); 73} catch (Exception $e) { 74 echo $e->getMessage() . "\n"; 75} 76try { 77 echo $a->getPath() . "\n"; 78} catch (TypeError $e) { 79 echo $e->getMessage(), "\n"; 80} 81try { 82 $a->setAlias('oops'); 83} catch (Exception $e) { 84 echo $e->getMessage() . "\n"; 85} 86try { 87 $b->setAlias('oops'); 88} catch (Exception $e) { 89 echo $e->getMessage() . "\n"; 90} 91ini_set('phar.readonly', 0); 92try { 93 $a->setAlias(array()); 94} catch (TypeError $e) { 95 echo $e->getMessage(), "\n"; 96} 97ini_set('phar.readonly', 1); 98try { 99 $b->stopBuffering(); 100} catch (Exception $e) { 101 echo $e->getMessage() . "\n"; 102} 103try { 104 $a->setStub('oops'); 105} catch (Exception $e) { 106 echo $e->getMessage() . "\n"; 107} 108try { 109 $b->setStub('oops'); 110} catch (Exception $e) { 111 echo $e->getMessage() . "\n"; 112} 113ini_set('phar.readonly', 0); 114try { 115 $a->setStub(array()); 116} catch (TypeError $e) { 117 echo $e->getMessage(), "\n"; 118} 119ini_set('phar.readonly', 1); 120try { 121 $b->setDefaultStub('oops'); 122} catch (Exception $e) { 123 echo $e->getMessage() . "\n"; 124} 125try { 126 $a->setDefaultStub(array()); 127} catch (TypeError $e) { 128 echo $e->getMessage(), "\n"; 129} 130try { 131 $a->setDefaultStub('oops'); 132} catch (Exception $e) { 133 echo $e->getMessage() . "\n"; 134} 135try { 136 $a->setSignatureAlgorithm(Phar::MD5); 137} catch (Exception $e) { 138 echo $e->getMessage() . "\n"; 139} 140try { 141 $a->compress(array()); 142} catch (TypeError $e) { 143 echo $e->getMessage(), "\n"; 144} 145try { 146 $a->compress(1); 147} catch (Exception $e) { 148 echo $e->getMessage() . "\n"; 149} 150try { 151 $a->compressFiles(array()); 152} catch (TypeError $e) { 153 echo $e->getMessage(), "\n"; 154} 155try { 156 $a->decompressFiles(); 157} catch (Exception $e) { 158 echo $e->getMessage() . "\n"; 159} 160try { 161 $a->copy(array()); 162} catch (TypeError $e) { 163 echo $e->getMessage(), "\n"; 164} 165try { 166 $a->copy('a', 'b'); 167} catch (Exception $e) { 168 echo $e->getMessage() . "\n"; 169} 170try { 171 $a->offsetExists(array()); 172} catch (TypeError $e) { 173 echo $e->getMessage(), "\n"; 174} 175try { 176 $a->offsetGet(array()); 177} catch (TypeError $e) { 178 echo $e->getMessage(), "\n"; 179} 180ini_set('phar.readonly', 0); 181try { 182 $a->offsetSet(array()); 183} catch (TypeError $e) { 184 echo $e->getMessage(), "\n"; 185} 186ini_set('phar.readonly', 1); 187try { 188 $b->offsetUnset(array()); 189} catch (TypeError $e) { 190 echo $e->getMessage(), "\n"; 191} 192try { 193 $a->offsetUnset('a'); 194} catch (Exception $e) { 195 echo $e->getMessage() . "\n"; 196} 197try { 198 $a->addEmptyDir(array()); 199} catch (TypeError $e) { 200 echo $e->getMessage(), "\n"; 201} 202try { 203 $a->addFile(array()); 204} catch (TypeError $e) { 205 echo $e->getMessage(), "\n"; 206} 207try { 208 $a->addFromString(array()); 209} catch (TypeError $e) { 210 echo $e->getMessage(), "\n"; 211} 212try { 213 $a->setMetadata('a'); 214} catch (Exception $e) { 215 echo $e->getMessage() . "\n"; 216} 217ini_set('phar.readonly', 0); 218try { 219 $a->setMetadata(1,2); 220} catch (TypeError $e) { 221 echo $e->getMessage(), "\n"; 222} 223ini_set('phar.readonly', 1); 224try { 225 $a->delMetadata(); 226} catch (Exception $e) { 227 echo $e->getMessage() . "\n"; 228} 229?> 230--EXPECTF-- 231Phar::mungServer(): Argument #1 ($variables) must be of type array, string given 232Phar::createDefaultStub(): Argument #1 ($index) must be of type ?string, array given 233Phar::loadPhar(): Argument #1 ($filename) must be of type string, array given 234Phar::canCompress(): Argument #1 ($compression) must be of type int, string given 235Phar::__construct(): Argument #1 ($filename) must be of type string, array given 236Phar::convertToExecutable(): Argument #1 ($format) must be of type ?int, array given 237Phar::convertToData(): Argument #1 ($format) must be of type ?int, array given 238PharData::delete(): Argument #1 ($localName) must be of type string, array given 239Cannot write out phar archive, phar is read-only 240Entry oops does not exist and cannot be deleted 241%sfrontcontroller10.phar 242Cannot write out phar archive, phar is read-only 243A Phar alias cannot be set in a plain tar archive 244Phar::setAlias(): Argument #1 ($alias) must be of type string, array given 245Cannot change stub, phar is read-only 246A Phar stub cannot be set in a plain tar archive 247Phar::setStub(): Argument #1 ($stub) must be of type string, array given 248A Phar stub cannot be set in a plain tar archive 249Phar::setDefaultStub(): Argument #1 ($index) must be of type ?string, array given 250Cannot change stub: phar.readonly=1 251Cannot set signature algorithm, phar is read-only 252Phar::compress(): Argument #1 ($compression) must be of type int, array given 253Cannot compress phar archive, phar is read-only 254Phar::compressFiles(): Argument #1 ($compression) must be of type int, array given 255Phar is readonly, cannot change compression 256Phar::copy() expects exactly 2 arguments, 1 given 257Cannot copy "a" to "b", phar is read-only 258Phar::offsetExists(): Argument #1 ($localName) must be of type string, array given 259Phar::offsetGet(): Argument #1 ($localName) must be of type string, array given 260Phar::offsetSet() expects exactly 2 arguments, 1 given 261PharData::offsetUnset(): Argument #1 ($localName) must be of type string, array given 262Write operations disabled by the php.ini setting phar.readonly 263Phar::addEmptyDir(): Argument #1 ($directory) must be of type string, array given 264Phar::addFile(): Argument #1 ($filename) must be of type string, array given 265Phar::addFromString() expects exactly 2 arguments, 1 given 266Write operations disabled by the php.ini setting phar.readonly 267Phar::setMetadata() expects exactly 1 argument, 2 given 268Write operations disabled by the php.ini setting phar.readonly 269