siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
87 lines (79 loc) • 3.02 kB
HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The source code</title>
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>
<style type="text/css">
.highlight { display: block; background-color: #ddd; }
</style>
<script type="text/javascript">
function highlight() {
document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
}
</script>
</head>
<body onload="prettyPrint(); highlight();">
<pre class="prettyprint lang-js">/*
Siesta 5.6.1
Copyright(c) 2009-2022 Bryntum AB
https://bryntum.com/contact
https://bryntum.com/products/siesta/license
*/
Role('Siesta.Util.Role.CanParseBrowser', {
methods : {
parseBrowser : function (uaString) {
var browser = 'unknown'
var version = ''
var match
if (match = /Edg\/(\d+(\.\d+)*)/i.exec(uaString)) {
browser = "Edge Chromium"
version = match[ 1 ]
}
else if (match = /Firefox\/((?:\d+\.?)+)/.exec(uaString)) {
browser = "Firefox"
version = match[ 1 ]
}
else if (match = /chrome.+? edge\/(\d+(\.\d+)?)/i.exec(uaString)) {
browser = "Edge"
version = match[ 1 ]
}
else if (match = /Chrome\/((?:\d+\.?)+)/.exec(uaString)) {
browser = "Chrome"
version = match[ 1 ]
}
else if (match = /MSIE\s*((?:\d+\.?)+)/.exec(uaString)) {
browser = "IE"
version = match[ 1 ]
}
else if (uaString.match(/trident/i) && (match = /rv.(\d\d\.?\d?)/.exec(uaString))) {
browser = "IE"
version = match[ 1 ]
}
else if (match = /Apple.*Version\/((?:\d+\.?)+)\s*(?=Safari\/((?:\d+\.?)+))/.exec(uaString)) {
browser = "Safari"
version = match[ 1 ] + ' (' + match[ 2 ] + ')'
}
else if (match = /PhantomJS\/(\d+\.\d+\.\d+)/.exec(uaString)) {
browser = "PhantomJS"
version = match[ 1 ]
}
else if (match = /SlimerJS\/(\d+\.\d+\.\d+)/.exec(uaString)) {
browser = "SlimerJS"
version = match[ 1 ]
}
else if (match = /NodeJS\/(.+)/.exec(uaString)) {
browser = "NodeJS"
version = match[ 1 ]
}
return {
name : browser,
version : version
}
}
}
});
</pre>
</body>
</html>