ua-parser-js 0.7.7 → 0.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ua-parser-js might be problematic. Click here for more details.
- package/.travis.yml +9 -1
- package/bower.json +1 -27
- package/dist/ua-parser.html +1 -0
- package/dist/ua-parser.min.js +3 -4
- package/dist/ua-parser.pack.js +8 -0
- package/package.js +3 -3
- package/package.json +22 -14
- package/readme.md +80 -61
- package/src/ua-parser.js +105 -53
- package/test/browser-test.json +214 -74
- package/test/device-test.json +241 -0
- package/test/engine-test.json +9 -0
- package/test/mediaplayer-test.json +582 -0
- package/test/os-test.json +36 -9
- package/test/test.js +26 -9
- package/ua-parser-js.jquery.json +1 -1
- package/build/build.sh +0 -37
- package/build/verup.js +0 -112
- package/component.json +0 -24
- package/test/browser&mediaplayer-test.json +0 -1232
package/test/test.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
var assert = require('assert');
|
2
|
+
var requirejs = require('requirejs');
|
2
3
|
var UAParser = require('./../src/ua-parser');
|
3
4
|
var browsers = require('./browser-test.json');
|
4
5
|
var cpus = require('./cpu-test.json');
|
@@ -43,15 +44,6 @@ describe('UAParser()', function () {
|
|
43
44
|
assert.deepEqual(UAParser(ua), new UAParser().setUA(ua).getResult());
|
44
45
|
});
|
45
46
|
|
46
|
-
describe('Injected Browser', function () {
|
47
|
-
var uaString = 'ownbrowser/1.3';
|
48
|
-
var ownBrowser = [[/(ownbrowser)\/((\d+)?[\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, UAParser.BROWSER.MAJOR]];
|
49
|
-
var parser = new UAParser(uaString, {browser: ownBrowser});
|
50
|
-
assert.equal(parser.getBrowser().name, 'ownbrowser');
|
51
|
-
assert.equal(parser.getBrowser().major, '1');
|
52
|
-
assert.equal(parser.getBrowser().version, '1.3');
|
53
|
-
});
|
54
|
-
|
55
47
|
for (var i in methods) {
|
56
48
|
describe(methods[i]['title'], function () {
|
57
49
|
for (var j in methods[i]['list']) {
|
@@ -72,3 +64,28 @@ for (var i in methods) {
|
|
72
64
|
}
|
73
65
|
});
|
74
66
|
}
|
67
|
+
|
68
|
+
describe('Extending Regex', function () {
|
69
|
+
var uaString = 'Mozilla/5.0 MyOwnBrowser/1.3';
|
70
|
+
var myOwnBrowser = [[/(myownbrowser)\/((\d+)?[\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, UAParser.BROWSER.MAJOR]];
|
71
|
+
var parser = new UAParser(uaString, {browser: myOwnBrowser});
|
72
|
+
assert.equal(parser.getBrowser().name, 'MyOwnBrowser');
|
73
|
+
assert.equal(parser.getBrowser().version, '1.3');
|
74
|
+
assert.equal(parser.getBrowser().major, '1');
|
75
|
+
});
|
76
|
+
|
77
|
+
describe('Using Require.js', function () {
|
78
|
+
it('should loaded automatically', function(done) {
|
79
|
+
requirejs.config({
|
80
|
+
baseUrl : 'dist',
|
81
|
+
paths : {
|
82
|
+
'ua-parser-js' : 'ua-parser.min'
|
83
|
+
}
|
84
|
+
});
|
85
|
+
requirejs(['ua-parser-js'], function(ua) {
|
86
|
+
var parser = new ua('Dillo/1.0');
|
87
|
+
assert.deepEqual(parser.getBrowser().name, 'Dillo');
|
88
|
+
done();
|
89
|
+
});
|
90
|
+
});
|
91
|
+
});
|
package/ua-parser-js.jquery.json
CHANGED
package/build/build.sh
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
# dependencies
|
4
|
-
JSHINT_DIR="node_modules/jshint/bin/jshint"
|
5
|
-
MOCHA_DIR="node_modules/mocha/bin/mocha"
|
6
|
-
UGLIFY_DIR="node_modules/uglify-js/bin/uglifyjs"
|
7
|
-
|
8
|
-
# check module directory & install if not found
|
9
|
-
function check_module {
|
10
|
-
if ! type $2 &> /dev/null
|
11
|
-
then
|
12
|
-
echo "$2 is not found"
|
13
|
-
if ! type "npm" &> /dev/null
|
14
|
-
then
|
15
|
-
echo "npm is not installed"
|
16
|
-
echo "Exiting"
|
17
|
-
exit 1
|
18
|
-
else
|
19
|
-
echo "Installing $1..."
|
20
|
-
npm install $1
|
21
|
-
fi
|
22
|
-
fi
|
23
|
-
}
|
24
|
-
|
25
|
-
check_module "jshint" $JSHINT_DIR
|
26
|
-
check_module "mocha" $MOCHA_DIR
|
27
|
-
check_module "uglify-js" $UGLIFY_DIR
|
28
|
-
|
29
|
-
echo "Verifiying code..."
|
30
|
-
$JSHINT_DIR src/ua-parser.js
|
31
|
-
|
32
|
-
echo "Running test..."
|
33
|
-
$MOCHA_DIR -R nyan test/test.js
|
34
|
-
|
35
|
-
echo "Minifying script..."
|
36
|
-
$UGLIFY_DIR src/ua-parser.js > dist/ua-parser.min.js --comments '/UAParser\.js/'
|
37
|
-
echo "OK"
|
package/build/verup.js
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
/**
|
3
|
-
* Increment and update version in all project files.
|
4
|
-
*
|
5
|
-
* Ussage:
|
6
|
-
*
|
7
|
-
* Increment revision by 1:
|
8
|
-
* node verup.js 1
|
9
|
-
*
|
10
|
-
* Increment minor version by 1:
|
11
|
-
* node verup.js 1.0
|
12
|
-
*
|
13
|
-
* Increment major version by 1:
|
14
|
-
* node verup.js 1.0.0
|
15
|
-
*
|
16
|
-
*
|
17
|
-
* @author Dumitru Uzun (DUzun.Me)
|
18
|
-
* @version 1.1.0
|
19
|
-
*/
|
20
|
-
|
21
|
-
var path = require('path');
|
22
|
-
var fs = require('fs');
|
23
|
-
|
24
|
-
var _root = path.join(__dirname, '..');
|
25
|
-
var files = [
|
26
|
-
'ua-parser-js.jquery.json',
|
27
|
-
'component.json',
|
28
|
-
'bower.json',
|
29
|
-
'package.js',
|
30
|
-
'src/ua-parser.js'
|
31
|
-
];
|
32
|
-
|
33
|
-
var ver_reg = [
|
34
|
-
/^((?:\$|@|(\s*(?:var|,)?\s+))(?:LIBVERSION|version)[\s\:='"]+)([0-9]+(?:\.[0-9]+){2,2})/
|
35
|
-
, /^(\s?\*.*v)([0-9]+(?:\.[0-9]+){2,2})/
|
36
|
-
];
|
37
|
-
|
38
|
-
var packFile = path.join(_root, 'package.json');
|
39
|
-
var packo = require(packFile);
|
40
|
-
|
41
|
-
if ( !packo ) {
|
42
|
-
console.error('Can\'t read package.json file');
|
43
|
-
process.exit(1);
|
44
|
-
}
|
45
|
-
|
46
|
-
var over = packo.version;
|
47
|
-
|
48
|
-
/*
|
49
|
-
* bump should be 1 for revision, 1.0 for minor and 1.0.0 for major version
|
50
|
-
*/
|
51
|
-
var bump = (process.argv[2] || '1').split('.').reverse();
|
52
|
-
|
53
|
-
if ( over ) {
|
54
|
-
var nver = over.split('.').reverse();
|
55
|
-
var b, l;
|
56
|
-
while(bump.length && !(b = parseInt(bump.pop())));
|
57
|
-
l = bump.length;
|
58
|
-
|
59
|
-
// console.log({b:b,nver:nver,over:over,l:l,bump:bump})
|
60
|
-
nver[l] = +nver[l] + b;
|
61
|
-
bump.forEach(function (v,i) { nver[i] = v; });
|
62
|
-
|
63
|
-
nver = nver.reverse().join('.');
|
64
|
-
packo.version = nver;
|
65
|
-
|
66
|
-
console.log('Bumping version: ' + over + ' -> ' + nver);
|
67
|
-
|
68
|
-
var buf = JSON.stringify(packo, null, 2);
|
69
|
-
|
70
|
-
if ( buf && over != nver ) {
|
71
|
-
buf += "\n";
|
72
|
-
fs.writeFileSync(packFile, buf);
|
73
|
-
}
|
74
|
-
|
75
|
-
files.forEach(function (f) {
|
76
|
-
var fn = path.join(_root, f);
|
77
|
-
var cnt = fs.readFileSync(fn, 'utf8');
|
78
|
-
var ext = path.extname(f);
|
79
|
-
var buf;
|
80
|
-
|
81
|
-
switch(ext) {
|
82
|
-
case '.json': {
|
83
|
-
var packo = JSON.parse(cnt);
|
84
|
-
packo.version = nver;
|
85
|
-
buf = JSON.stringify(packo, null, 2);
|
86
|
-
if ( buf ) {
|
87
|
-
buf += "\n";
|
88
|
-
}
|
89
|
-
} break;
|
90
|
-
|
91
|
-
default: {
|
92
|
-
buf = cnt
|
93
|
-
.split('\n')
|
94
|
-
.map(function (l) {
|
95
|
-
for(var i=ver_reg.length; i--;) {
|
96
|
-
if ( ver_reg[i].test(l) ) {
|
97
|
-
return l.replace(ver_reg[i], function ($0,$1) { return $1 + nver })
|
98
|
-
}
|
99
|
-
}
|
100
|
-
return l;
|
101
|
-
})
|
102
|
-
.join("\n")
|
103
|
-
;
|
104
|
-
}
|
105
|
-
}
|
106
|
-
if ( buf && buf != cnt ) {
|
107
|
-
console.log("\t" + fn.replace(_root, ''));
|
108
|
-
fs.writeFileSync(fn, buf);
|
109
|
-
}
|
110
|
-
});
|
111
|
-
|
112
|
-
}
|
package/component.json
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "ua-parser-js",
|
3
|
-
"version": "0.7.7",
|
4
|
-
"description": "Lightweight JavaScript-based user-agent string parser",
|
5
|
-
"keywords": [
|
6
|
-
"user-agent",
|
7
|
-
"parser",
|
8
|
-
"browser",
|
9
|
-
"engine",
|
10
|
-
"os",
|
11
|
-
"device",
|
12
|
-
"cpu"
|
13
|
-
],
|
14
|
-
"scripts": [
|
15
|
-
"src/ua-parser.js"
|
16
|
-
],
|
17
|
-
"main": "src/ua-parser.js",
|
18
|
-
"license": "MIT",
|
19
|
-
"development": {
|
20
|
-
"jshint/jshint": "*",
|
21
|
-
"visionmedia/mocha": "*",
|
22
|
-
"mishoo/uglifyjs2": "*"
|
23
|
-
}
|
24
|
-
}
|