mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
Fix #218 #491 #517 #518 - introduce breaking changes: "Mac OS" => "macOS", "Chromium OS" => "Chrome OS"
This commit is contained in:
parent
41f8d76968
commit
6821276669
@ -84,8 +84,6 @@
|
|||||||
OPERA = 'Opera',
|
OPERA = 'Opera',
|
||||||
FACEBOOK = 'Facebook',
|
FACEBOOK = 'Facebook',
|
||||||
|
|
||||||
CHROMIUM_OS = 'Chromium OS',
|
|
||||||
MAC_OS = 'Mac OS',
|
|
||||||
WINDOWS = 'Windows';
|
WINDOWS = 'Windows';
|
||||||
|
|
||||||
var NAVIGATOR = (typeof window !== UNDEF_TYPE && window.navigator) ?
|
var NAVIGATOR = (typeof window !== UNDEF_TYPE && window.navigator) ?
|
||||||
@ -783,7 +781,7 @@
|
|||||||
], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [
|
], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [
|
||||||
/(mac os x) ?([\w\. ]*)/i,
|
/(mac os x) ?([\w\. ]*)/i,
|
||||||
/(macintosh|mac_powerpc\b)(?!.+haiku)/i // Mac OS
|
/(macintosh|mac_powerpc\b)(?!.+haiku)/i // Mac OS
|
||||||
], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [
|
], [[NAME, 'macOS'], [VERSION, /_/g, '.']], [
|
||||||
|
|
||||||
// Mobile OSes
|
// Mobile OSes
|
||||||
/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS
|
/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS
|
||||||
@ -809,7 +807,7 @@
|
|||||||
/crkey\/([\d\.]+)/i // Google Chromecast
|
/crkey\/([\d\.]+)/i // Google Chromecast
|
||||||
], [VERSION, [NAME, CHROME+'cast']], [
|
], [VERSION, [NAME, CHROME+'cast']], [
|
||||||
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i // Chromium OS
|
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i // Chromium OS
|
||||||
], [[NAME, CHROMIUM_OS], VERSION],[
|
], [[NAME, "Chrome OS"], VERSION],[
|
||||||
|
|
||||||
// Smart TVs
|
// Smart TVs
|
||||||
/panasonic;(viera)/i, // Panasonic Viera
|
/panasonic;(viera)/i, // Panasonic Viera
|
||||||
@ -1110,9 +1108,7 @@
|
|||||||
]);
|
]);
|
||||||
this.parse();
|
this.parse();
|
||||||
if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM] && NAVIGATOR_UADATA[PLATFORM] != 'Unknown') {
|
if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM] && NAVIGATOR_UADATA[PLATFORM] != 'Unknown') {
|
||||||
this.set(NAME, NAVIGATOR_UADATA[PLATFORM]
|
this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);
|
||||||
.replace(/chrome os/i, CHROMIUM_OS)
|
|
||||||
.replace(/macos/i, MAC_OS)); // backward compatibility
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UAParserOS.prototype = new UAParserItem();
|
UAParserOS.prototype = new UAParserItem();
|
||||||
|
@ -670,7 +670,7 @@
|
|||||||
"ua" : "Mozilla/5.0 (X11; CrOS x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.0.0 Safari/537.36",
|
"ua" : "Mozilla/5.0 (X11; CrOS x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.0.0 Safari/537.36",
|
||||||
"expect" :
|
"expect" :
|
||||||
{
|
{
|
||||||
"name" : "Chromium OS",
|
"name" : "Chrome OS",
|
||||||
"version" : "undefined"
|
"version" : "undefined"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -679,7 +679,7 @@
|
|||||||
"ua" : "Mozilla/5.0 (X11; CrOS x86_64 10575.58.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
|
"ua" : "Mozilla/5.0 (X11; CrOS x86_64 10575.58.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
|
||||||
"expect" :
|
"expect" :
|
||||||
{
|
{
|
||||||
"name" : "Chromium OS",
|
"name" : "Chrome OS",
|
||||||
"version" : "10575.58.0"
|
"version" : "10575.58.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -796,7 +796,7 @@
|
|||||||
"ua" : "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)",
|
"ua" : "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)",
|
||||||
"expect" :
|
"expect" :
|
||||||
{
|
{
|
||||||
"name" : "Mac OS",
|
"name" : "macOS",
|
||||||
"version" : "undefined"
|
"version" : "undefined"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -805,7 +805,7 @@
|
|||||||
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0",
|
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0",
|
||||||
"expect" :
|
"expect" :
|
||||||
{
|
{
|
||||||
"name" : "Mac OS",
|
"name" : "macOS",
|
||||||
"version" : "x.y"
|
"version" : "x.y"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -814,7 +814,7 @@
|
|||||||
"ua" : "Mozilla/5.0 (Macintosh; PPC Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0",
|
"ua" : "Mozilla/5.0 (Macintosh; PPC Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0",
|
||||||
"expect" :
|
"expect" :
|
||||||
{
|
{
|
||||||
"name" : "Mac OS",
|
"name" : "macOS",
|
||||||
"version" : "x.y"
|
"version" : "x.y"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -823,7 +823,7 @@
|
|||||||
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36",
|
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36",
|
||||||
"expect" :
|
"expect" :
|
||||||
{
|
{
|
||||||
"name" : "Mac OS",
|
"name" : "macOS",
|
||||||
"version" : "10.6.8"
|
"version" : "10.6.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -229,11 +229,12 @@ describe('is() utility method', function () {
|
|||||||
|
|
||||||
it('Should get result after reassignment', function () {
|
it('Should get result after reassignment', function () {
|
||||||
uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36");
|
uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36");
|
||||||
assert.strictEqual(uap.getOS().name, "Mac OS");
|
assert.strictEqual(uap.getOS().name, "macOS");
|
||||||
assert.strictEqual(uap.getOS().is("Mac OS"), true);
|
assert.strictEqual(uap.getOS().is("Mac OS"), true);
|
||||||
|
assert.strictEqual(uap.getOS().is("macOS"), true);
|
||||||
|
assert.strictEqual(uap.getOS().is("mac OS"), true);
|
||||||
|
|
||||||
assert.strictEqual(uap.getOS().is("M ac"), false);
|
assert.strictEqual(uap.getOS().is("M ac"), false);
|
||||||
assert.strictEqual(uap.getOS().is("macOS"), true);
|
|
||||||
assert.strictEqual(uap.getOS().is("mac OS"), true);
|
|
||||||
assert.strictEqual(uap.getOS().is("M a c "), false);
|
assert.strictEqual(uap.getOS().is("M a c "), false);
|
||||||
assert.strictEqual(uap.getOS().is("Mac OS OS"), false);
|
assert.strictEqual(uap.getOS().is("Mac OS OS"), false);
|
||||||
assert.strictEqual(uap.getOS().is("Mac OS X"), false);
|
assert.strictEqual(uap.getOS().is("Mac OS X"), false);
|
||||||
@ -542,7 +543,7 @@ describe('Map UA-CH JS', () => {
|
|||||||
assert.strictEqual(result_without_ch.browser.name, undefined);
|
assert.strictEqual(result_without_ch.browser.name, undefined);
|
||||||
|
|
||||||
uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36");
|
uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36");
|
||||||
assert.strictEqual(uap.getOS().name, "Mac OS");
|
assert.strictEqual(uap.getOS().name, "macOS");
|
||||||
|
|
||||||
// TODO : create full tests
|
// TODO : create full tests
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user