1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
<?php
namespace Wikimedia\Tests;
use Cookie;
use PHPUnit\Framework\TestCase;
/**
* @covers \Cookie
*/
class CookieTest extends TestCase {
/**
* @dataProvider cookieDomains
* @covers \Cookie::validateCookieDomain
*/
public function testValidateCookieDomain( $expected, $domain, $origin = null ) {
if ( $origin ) {
$ok = Cookie::validateCookieDomain( $domain, $origin );
$msg = "$domain against origin $origin";
} else {
$ok = Cookie::validateCookieDomain( $domain );
$msg = "$domain";
}
$this->assertEquals( $expected, $ok, $msg );
}
public static function cookieDomains() {
return [
[ false, "org" ],
[ false, ".org" ],
[ true, "wikipedia.org" ],
[ true, ".wikipedia.org" ],
[ false, "co.uk" ],
[ false, ".co.uk" ],
[ false, "gov.uk" ],
[ false, ".gov.uk" ],
[ true, "supermarket.uk" ],
[ false, "uk" ],
[ false, ".uk" ],
[ false, "127.0.0." ],
[ false, "127." ],
[ false, "127.0.0.1." ],
[ true, "127.0.0.1" ],
[ false, "333.0.0.1" ],
[ true, "example.com" ],
[ false, "example.com." ],
[ true, ".example.com" ],
[ true, ".example.com", "www.example.com" ],
[ false, "example.com", "www.example.com" ],
[ true, "127.0.0.1", "127.0.0.1" ],
[ false, "127.0.0.1", "localhost" ],
];
}
}
|