Code Duplication    Length = 31-49 lines in 2 locations

tests/phpunit/tests/functions.php 2 locations

@@ 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
    /**