Index: /sites/trunk/api.wordpress.org/public_html/core/browse-happy/1.0/parse.php
===================================================================
--- /sites/trunk/api.wordpress.org/public_html/core/browse-happy/1.0/parse.php (revision 5979)
+++ /sites/trunk/api.wordpress.org/public_html/core/browse-happy/1.0/parse.php (revision 5980)
@@ -72,6 +72,10 @@
}
+ // No indentifiers provided
+ if ( empty( $result['name'] ) ) {
+ $data['name'] = 'unknown';
+ }
// Opera
- if (
+ elseif (
false !== ( $key = array_search( 'Opera Mini', $result['name'] ) )
||
@@ -123,5 +127,6 @@
} else {
$key = 0;
- $data['name'] = 'webkit';
+ $data['name'] = 'unknown';
+ $result['version'][ $key ] = '';
}
$data['version'] = $result['version'][ $key ];
Index: /sites/trunk/api.wordpress.org/public_html/core/browse-happy/1.0/tests/phpunit/tests/browse-happy.php
===================================================================
--- /sites/trunk/api.wordpress.org/public_html/core/browse-happy/1.0/tests/phpunit/tests/browse-happy.php (revision 5979)
+++ /sites/trunk/api.wordpress.org/public_html/core/browse-happy/1.0/tests/phpunit/tests/browse-happy.php (revision 5980)
@@ -450,4 +450,23 @@
],
+ // Unknown
+
+ [
+ 'Dalvik/1.6.0 (Linux; U; Android 4.1.1; BroadSign Xpress 1.0.14 B- (720) Build/JRO03H)',
+ 'Android unknown',
+ ],
+ [ // on Galaxy SIII
+ 'Dalvik/1.6.0 (Linux; U; Android 4.4.2; SCH-I535 Build/KOT49H)',
+ 'Android unknown',
+ ],
+ [
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69 [FBAN/FBIOS;FBAV/59.0.0.51.142;FBBV/33266808;FBRV/0;FBDV/iPhone7,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/9.3.2;FBSS/3;FBCR/Telkomsel;FBID/phone;FBLC/en_US;FBOP/5] evaliant',
+ 'iPhone unknown', // Actually: iPhone Facebook App 59.0.0.51.142
+ ],
+ [
+ 'Nokia-MIT-Browser/3.0',
+ 'unknown', // It's really a Nokia Browser, but not critical to recognize as such.
+ ],
+
];
}
@@ -463,5 +482,5 @@
$result = $parsed['platform'] . ' ' . $parsed['name'] . ' ' . $parsed['version'];
- $this->assertEquals( $expected, $result );
+ $this->assertEquals( $expected, trim( $result ) );
}