https://www.mediawiki.org/wiki/Special:Code/MediaWiki/102993
Revision: 102993 Author: maxsem Date: 2011-11-14 17:18:26 +0000 (Mon, 14 Nov 2011) Log Message: ----------- MobileFrontend: moved tests away from code they test Modified Paths: -------------- trunk/extensions/MobileFrontend/DeviceDetection.php trunk/extensions/MobileFrontend/MobileFrontend.php trunk/extensions/MobileFrontend/tests/MobileFrontendTest.php Added Paths: ----------- trunk/extensions/MobileFrontend/tests/DeviceDetectionTest.php Modified: trunk/extensions/MobileFrontend/DeviceDetection.php =================================================================== --- trunk/extensions/MobileFrontend/DeviceDetection.php 2011-11-14 17:16:17 UTC (rev 102992) +++ trunk/extensions/MobileFrontend/DeviceDetection.php 2011-11-14 17:18:26 UTC (rev 102993) @@ -259,42 +259,6 @@ } /** - * @return string - */ - public function testFormatName() { - $testResults = ''; - - $userAgents = array(); - $userAgents['android'] = 'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17'; - $userAgents['iphone2'] = 'Mozilla/5.0 (ipod: U;CPU iPhone OS 2_2 like Mac OS X: es_es) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3'; - $userAgents['iphone'] = 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3'; - $userAgents['nokia'] = 'Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/91 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413'; - $userAgents['palm_pre'] = 'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0'; - $userAgents['wii'] = 'Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)'; - $userAgents['operamini'] = 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)'; - $userAgents['iphone'] = 'Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)'; - $userAgents['kindle'] = 'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)'; - $userAgents['kindle2'] = 'Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 824x1200; rotate)'; - $userAgents['capable'] = 'Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1'; - $userAgents['netfront'] = 'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2'; - $userAgents['wap2'] = 'SonyEricssonK608i/R2L/SN356841000828910 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1'; - $userAgents['wap2'] = 'NokiaN73-2/3.0-630.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1'; - $userAgents['psp'] = 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)'; - $userAgents['ps3'] = 'Mozilla/5.0 (PLAYSTATION 3; 1.00)'; - - foreach ( $userAgents as $formatName => $userAgent ) { - if ( $this->formatName( $userAgent ) === $formatName ) { - $result = ' has PASSED!'; - } else { - $result = ' has FAILED!'; - } - - $testResults .= $formatName . $result . '<br/>' . PHP_EOL; - } - return $testResults; - } - - /** * @param $userAgent string * @param $acceptHeader string * @return string Modified: trunk/extensions/MobileFrontend/MobileFrontend.php =================================================================== --- trunk/extensions/MobileFrontend/MobileFrontend.php 2011-11-14 17:16:17 UTC (rev 102992) +++ trunk/extensions/MobileFrontend/MobileFrontend.php 2011-11-14 17:18:26 UTC (rev 102993) @@ -82,6 +82,7 @@ */ function efExtMobileFrontendUnitTests( &$files ) { $files[] = dirname( __FILE__ ) . '/tests/MobileFrontendTest.php'; + $files[] = dirname( __FILE__ ) . '/tests/DeviceDetectionTest.php'; return true; } Added: trunk/extensions/MobileFrontend/tests/DeviceDetectionTest.php =================================================================== --- trunk/extensions/MobileFrontend/tests/DeviceDetectionTest.php (rev 0) +++ trunk/extensions/MobileFrontend/tests/DeviceDetectionTest.php 2011-11-14 17:18:26 UTC (rev 102993) @@ -0,0 +1,36 @@ +<?php + +/** + * @group MobileFrontend + */ + class DeviceDetectionTest extends MediaWikiTestCase { + + /** + * @dataProvider provideTestFormatName + */ + public function testFormatName( $format, $userAgent ) { + $detector = new DeviceDetection(); + $this->assertEquals( $format, $detector->formatName( $userAgent ) ); + } + + public function provideTestFormatName() { + return array( + array( 'android', 'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17' ), + array( 'iphone2', 'Mozilla/5.0 (ipod: U;CPU iPhone OS 2_2 like Mac OS X: es_es) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ), + array( 'iphone', 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ), + array( 'nokia', 'Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/91 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413' ), + array( 'palm_pre', 'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0' ), + array( 'wii', 'Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)' ), + array( 'operamini', 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)' ), + array( 'iphone', 'Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)' ), + array( 'kindle', 'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)' ), + array( 'kindle2', 'Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 824x1200; rotate)' ), + array( 'capable', 'Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' ), + array( 'netfront', 'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2' ), + array( 'wap2', 'SonyEricssonK608i/R2L/SN356841000828910 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1' ), + array( 'wap2', 'NokiaN73-2/3.0-630.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ), + array( 'psp', 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)' ), + array( 'ps3', 'Mozilla/5.0 (PLAYSTATION 3; 1.00)' ), + ); + } +} \ No newline at end of file Modified: trunk/extensions/MobileFrontend/tests/MobileFrontendTest.php =================================================================== --- trunk/extensions/MobileFrontend/tests/MobileFrontendTest.php 2011-11-14 17:16:17 UTC (rev 102992) +++ trunk/extensions/MobileFrontend/tests/MobileFrontendTest.php 2011-11-14 17:18:26 UTC (rev 102993) @@ -1,5 +1,8 @@ <?php +/** + * @group MobileFrontend + */ class ExtMobileFrontendTest extends MediaWikiTestCase { /** * PHP 5.3.2 introduces the ReflectionMethod::setAccessible() method to allow the invocation of _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs