mirror of
https://github.com/php/php-src.git
synced 2024-09-27 04:47:22 +00:00
MFB: Tests for get_browser().
This commit is contained in:
parent
7a6170b389
commit
3d539dacd6
16927
ext/standard/tests/misc/browscap.ini
Normal file
16927
ext/standard/tests/misc/browscap.ini
Normal file
File diff suppressed because it is too large
Load Diff
51
ext/standard/tests/misc/browsernames.php
Normal file
51
ext/standard/tests/misc/browsernames.php
Normal file
@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Common browser names. Used with: get_browser()
|
||||
*/
|
||||
return array(
|
||||
"Opera/7.11 (Windows NT 5.1; U) [en]",
|
||||
"Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en]",
|
||||
"Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 4.0) Opera 7.0 [en]",
|
||||
"Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [en]",
|
||||
"Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 5.0 [en]",
|
||||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Opera 8.60 [en]",
|
||||
"Opera/9.00 (Windows NT 5.1; U; en)",
|
||||
"Opera/9.26 (Macintosh; PPC Mac OS X; U; en)",
|
||||
|
||||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)",
|
||||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)",
|
||||
"Mozilla/4.0 (compatible; MSIE 5.22; Mac_PowerPC)",
|
||||
"Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC; e504460WanadooNL)",
|
||||
"Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1; .NET CLR 3.0.04506.30)",
|
||||
"Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1)",
|
||||
"Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 6.0)",
|
||||
|
||||
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/74 (KHTML, like Gecko) Safari/74",
|
||||
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/51 (like Gecko) Safari/51",
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en) AppleWebKit/522.11.3 (KHTML, like Gecko) Version/3.0 Safari/522.11.3",
|
||||
"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C28 Safari/419.3",
|
||||
"Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A100a Safari/419.3",
|
||||
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; ru-ru) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.18",
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/526.9 (KHTML, like Gecko) Version/4.0dp1 Safari/526.8",
|
||||
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.1.12) Gecko/20080206 Camino/1.5.5",
|
||||
|
||||
"Mozilla/5.0 (compatible; Konqueror/3.1; Linux; X11; i686)",
|
||||
"Mozilla/5.0 (compatible; Konqueror/3.1; Linux 2.4.19-32mdkenterprise; X11; i686; ar, en_US)",
|
||||
"Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)",
|
||||
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4b) Gecko/20030504 Mozilla",
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2a) Gecko/20020910",
|
||||
"Mozilla/5.0 (X11; U; Linux 2.4.3-20mdk i586; en-US; rv:0.9.1) Gecko/20010611",
|
||||
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/20050711",
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9) Gecko/2008052906",
|
||||
|
||||
"Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.3a) Gecko/20021207 Phoenix/0.5",
|
||||
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030516 Mozilla Firebird/0.6",
|
||||
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030423 Firebird Browser/0.6",
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040206 Firefox/0.8",
|
||||
"Mozilla/5.0 (Windows 98; U; en; rv:1.8.0) Gecko/20060728 Firefox/1.5.0",
|
||||
"Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en; rv:1.8.0) Gecko/20060728 Firefox/1.5.0",
|
||||
"Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.1.12) Gecko/20080210 Firefox/2.0.0.12",
|
||||
"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.12) Gecko/20080214 Firefox/2.0.0.12",
|
||||
);
|
1477
ext/standard/tests/misc/get_browser_basic.phpt
Normal file
1477
ext/standard/tests/misc/get_browser_basic.phpt
Normal file
File diff suppressed because it is too large
Load Diff
128
ext/standard/tests/misc/get_browser_error.phpt
Normal file
128
ext/standard/tests/misc/get_browser_error.phpt
Normal file
@ -0,0 +1,128 @@
|
||||
--TEST--
|
||||
Test get_browser() function : error functionality
|
||||
--INI--
|
||||
browscap=ext/standard/tests/misc/browscap.ini
|
||||
unicode.runtime_encoding = utf-8
|
||||
unicode.output_encoding = utf-8
|
||||
--SKIPIF--
|
||||
<?php
|
||||
/**
|
||||
* Basic test, it would be pretty much coincidence if there's
|
||||
* a browscap.ini on another place that isn't valid.
|
||||
*/
|
||||
if(! is_readable( ini_get( 'browscap' ) ) ) {
|
||||
die( 'skip: browscap.ini file ' . ini_get('browscap') . " not readable" );
|
||||
}
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : mixed get_browser([string browser_name [, bool return_array]])
|
||||
* Description: Get information about the capabilities of a browser.
|
||||
* If browser_name is omitted or null, HTTP_USER_AGENT is used.
|
||||
* Returns an object by default; if return_array is true, returns an array.
|
||||
*
|
||||
* Source code: ext/standard/browscap.c
|
||||
* Alias to functions:
|
||||
*/
|
||||
|
||||
$browsers = include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'browsernames.php';
|
||||
|
||||
/* Needed for the unicode_decode() call later */
|
||||
unicode_set_error_mode( TO_UNICODE, U_CONV_ERROR_ESCAPE_UNICODE );
|
||||
|
||||
echo "*** Testing get_browser() : error functionality ***\n";
|
||||
|
||||
/* Unknown browser uses defaults. */
|
||||
$result = @get_browser( 'foobar', true );
|
||||
foreach( $result as $k => $val ) {
|
||||
$result[$k] = unicode_decode( $val, 'UTF-8' );
|
||||
}
|
||||
var_dump( $result );
|
||||
|
||||
/* More than expected arguments */
|
||||
var_dump( get_browser( 'foobar', true, 15 ) );
|
||||
|
||||
/* Some wrong parameters, no HTTP_USER_AGENT set */
|
||||
var_dump( get_browser( null, 'foobar' ) );
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing get_browser() : error functionality ***
|
||||
array(34) {
|
||||
["browser_name_regex"]=>
|
||||
unicode(12) "%XA7^.*$%XA7"
|
||||
["browser_name_pattern"]=>
|
||||
unicode(1) "*"
|
||||
["browser"]=>
|
||||
unicode(15) "Default Browser"
|
||||
["version"]=>
|
||||
unicode(1) "0"
|
||||
["majorver"]=>
|
||||
unicode(1) "0"
|
||||
["minorver"]=>
|
||||
unicode(1) "0"
|
||||
["platform"]=>
|
||||
unicode(7) "unknown"
|
||||
["alpha"]=>
|
||||
unicode(0) ""
|
||||
["beta"]=>
|
||||
unicode(0) ""
|
||||
["win16"]=>
|
||||
unicode(0) ""
|
||||
["win32"]=>
|
||||
unicode(0) ""
|
||||
["win64"]=>
|
||||
unicode(0) ""
|
||||
["frames"]=>
|
||||
unicode(1) "1"
|
||||
["iframes"]=>
|
||||
unicode(0) ""
|
||||
["tables"]=>
|
||||
unicode(1) "1"
|
||||
["cookies"]=>
|
||||
unicode(0) ""
|
||||
["backgroundsounds"]=>
|
||||
unicode(0) ""
|
||||
["authenticodeupdate"]=>
|
||||
unicode(1) "0"
|
||||
["cdf"]=>
|
||||
unicode(0) ""
|
||||
["vbscript"]=>
|
||||
unicode(0) ""
|
||||
["javaapplets"]=>
|
||||
unicode(0) ""
|
||||
["javascript"]=>
|
||||
unicode(0) ""
|
||||
["activexcontrols"]=>
|
||||
unicode(0) ""
|
||||
["stripper"]=>
|
||||
unicode(0) ""
|
||||
["isbanned"]=>
|
||||
unicode(0) ""
|
||||
["wap"]=>
|
||||
unicode(0) ""
|
||||
["ismobiledevice"]=>
|
||||
unicode(0) ""
|
||||
["issyndicationreader"]=>
|
||||
unicode(0) ""
|
||||
["crawler"]=>
|
||||
unicode(0) ""
|
||||
["css"]=>
|
||||
unicode(1) "0"
|
||||
["cssversion"]=>
|
||||
unicode(1) "0"
|
||||
["supportscss"]=>
|
||||
unicode(0) ""
|
||||
["aol"]=>
|
||||
unicode(0) ""
|
||||
["aolversion"]=>
|
||||
unicode(1) "0"
|
||||
}
|
||||
|
||||
Warning: get_browser() expects at most 2 parameters, 3 given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: get_browser(): HTTP_USER_AGENT variable is not set, cannot determine user agent name in %s on line %d
|
||||
bool(false)
|
||||
===DONE===
|
1408
ext/standard/tests/misc/get_browser_variation1.phpt
Normal file
1408
ext/standard/tests/misc/get_browser_variation1.phpt
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user