|
@@ 225-255 (lines=31) @@
|
| 222 |
|
$this->assertSame(is_serialized_string($value), $result); |
| 223 |
|
} |
| 224 |
|
|
| 225 |
|
public function data_is_serialized_string() |
| 226 |
|
{ |
| 227 |
|
return array( |
| 228 |
|
// Not a string. |
| 229 |
|
array( 0, false ), |
| 230 |
|
|
| 231 |
|
// Too short when trimmed. |
| 232 |
|
array( 's:3 ', false ), |
| 233 |
|
|
| 234 |
|
// Too short. |
| 235 |
|
array( 's:3', false ), |
| 236 |
|
|
| 237 |
|
// No colon in second position. |
| 238 |
|
array( 's!3:"foo";', false ), |
| 239 |
|
|
| 240 |
|
// No trailing semicolon. |
| 241 |
|
array( 's:3:"foo"', false ), |
| 242 |
|
|
| 243 |
|
// Wrong type. |
| 244 |
|
array( 'a:3:"foo";', false ), |
| 245 |
|
|
| 246 |
|
// No closing quote. |
| 247 |
|
array( 'a:3:"foo;', false ), |
| 248 |
|
|
| 249 |
|
// Wrong number of characters is close enough for is_serialized_string(). |
| 250 |
|
array( 's:12:"foo";', true ), |
| 251 |
|
|
| 252 |
|
// Okay. |
| 253 |
|
array( 's:3:"foo";', true ), |
| 254 |
|
|
| 255 |
|
); |
| 256 |
|
} |
| 257 |
|
|
| 258 |
|
/** |
|
@@ 484-532 (lines=49) @@
|
| 481 |
|
$this->assertEquals($expected, $actual); |
| 482 |
|
} |
| 483 |
|
|
| 484 |
|
function data_device_can_upload() |
| 485 |
|
{ |
| 486 |
|
return array( |
| 487 |
|
// iPhone iOS 5.0.1, Safari 5.1 |
| 488 |
|
array( |
| 489 |
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A406)', |
| 490 |
|
false, |
| 491 |
|
), |
| 492 |
|
// iPad iOS 3.2, Safari 4.0.4 |
| 493 |
|
array( |
| 494 |
|
'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10', |
| 495 |
|
false, |
| 496 |
|
), |
| 497 |
|
// iPod iOS 4.3.3, Safari 5.0.2 |
| 498 |
|
array( |
| 499 |
|
'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5', |
| 500 |
|
false, |
| 501 |
|
), |
| 502 |
|
// iPhone iOS 6.0.0, Safari 6.0 |
| 503 |
|
array( |
| 504 |
|
'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25', |
| 505 |
|
true, |
| 506 |
|
), |
| 507 |
|
// iPad iOS 6.0.0, Safari 6.0 |
| 508 |
|
array( |
| 509 |
|
'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25', |
| 510 |
|
true, |
| 511 |
|
), |
| 512 |
|
// Android 2.2, Android Webkit Browser |
| 513 |
|
array( |
| 514 |
|
'Mozilla/5.0 (Android 2.2; Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4', |
| 515 |
|
true, |
| 516 |
|
), |
| 517 |
|
// BlackBerry 9900, BlackBerry browser |
| 518 |
|
array( |
| 519 |
|
'Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+', |
| 520 |
|
true, |
| 521 |
|
), |
| 522 |
|
// Windows Phone 8.0, Internet Explorer 10.0; |
| 523 |
|
array( |
| 524 |
|
'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)', |
| 525 |
|
true, |
| 526 |
|
), |
| 527 |
|
// Ubuntu desktop, Firefox 41.0 |
| 528 |
|
array( |
| 529 |
|
'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0', |
| 530 |
|
true, |
| 531 |
|
), |
| 532 |
|
); |
| 533 |
|
} |
| 534 |
|
|
| 535 |
|
/** |