ua-parser-js 0.7.10 → 0.7.14

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/test/test.js CHANGED
@@ -1,74 +1,98 @@
1
- var assert = require('assert');
2
- var UAParser = require('./../src/ua-parser');
3
- var browsers = require('./browser-test.json');
4
- var cpus = require('./cpu-test.json');
5
- var devices = require('./device-test.json');
6
- var engines = require('./engine-test.json');
7
- var os = require('./os-test.json');
8
- var parser = new UAParser();
9
- var methods = [
10
- {
11
- title : 'getBrowser',
12
- label : 'browser',
13
- list : browsers,
14
- properties : ['name', 'major', 'version']
15
- },
16
- {
17
- title : 'getCPU',
18
- label : 'cpu',
19
- list : cpus,
20
- properties : ['architecture']
21
- },
22
- {
23
- title : 'getDevice',
24
- label : 'device',
25
- list : devices,
26
- properties : ['model', 'type', 'vendor']
27
- },
28
- {
29
- title : 'getEngine',
30
- label : 'engine',
31
- list : engines,
32
- properties : ['name', 'version']
33
- },
34
- {
35
- title : 'getOS',
36
- label : 'os',
37
- list : os,
38
- properties : ['name', 'version']
39
- }];
40
-
41
- describe('UAParser()', function () {
42
- var ua = 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6';
43
- assert.deepEqual(UAParser(ua), new UAParser().setUA(ua).getResult());
44
- });
45
-
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
- for (var i in methods) {
56
- describe(methods[i]['title'], function () {
57
- for (var j in methods[i]['list']) {
58
- if (!!methods[i]['list'][j].ua) {
59
- describe('[' + methods[i]['list'][j].desc + ']', function () {
60
- describe('"' + methods[i]['list'][j].ua + '"', function () {
61
- var expect = methods[i]['list'][j].expect;
62
- var result = parser.setUA(methods[i]['list'][j].ua).getResult()[methods[i]['label']];
63
-
64
- methods[i]['properties'].forEach(function(m) {
65
- it('should return ' + methods[i]['label'] + ' ' + m + ': ' + expect[m], function () {
66
- assert.equal(result[m], expect[m] != 'undefined' ? expect[m] : undefined);
67
- });
68
- });
69
- });
70
- });
71
- }
72
- }
73
- });
74
- }
1
+ var assert = require('assert');
2
+ var requirejs = require('requirejs');
3
+ var UAParser = require('./../src/ua-parser');
4
+ var browsers = require('./browser-test.json');
5
+ var cpus = require('./cpu-test.json');
6
+ var devices = require('./device-test.json');
7
+ var engines = require('./engine-test.json');
8
+ var os = require('./os-test.json');
9
+ var parser = new UAParser();
10
+ var methods = [
11
+ {
12
+ title : 'getBrowser',
13
+ label : 'browser',
14
+ list : browsers,
15
+ properties : ['name', 'major', 'version']
16
+ },
17
+ {
18
+ title : 'getCPU',
19
+ label : 'cpu',
20
+ list : cpus,
21
+ properties : ['architecture']
22
+ },
23
+ {
24
+ title : 'getDevice',
25
+ label : 'device',
26
+ list : devices,
27
+ properties : ['model', 'type', 'vendor']
28
+ },
29
+ {
30
+ title : 'getEngine',
31
+ label : 'engine',
32
+ list : engines,
33
+ properties : ['name', 'version']
34
+ },
35
+ {
36
+ title : 'getOS',
37
+ label : 'os',
38
+ list : os,
39
+ properties : ['name', 'version']
40
+ }];
41
+
42
+ describe('UAParser()', function () {
43
+ var ua = 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6';
44
+ assert.deepEqual(UAParser(ua), new UAParser().setUA(ua).getResult());
45
+ });
46
+
47
+ for (var i in methods) {
48
+ describe(methods[i]['title'], function () {
49
+ for (var j in methods[i]['list']) {
50
+ if (!!methods[i]['list'][j].ua) {
51
+ describe('[' + methods[i]['list'][j].desc + ']', function () {
52
+ describe('"' + methods[i]['list'][j].ua + '"', function () {
53
+ var expect = methods[i]['list'][j].expect;
54
+ var result = parser.setUA(methods[i]['list'][j].ua).getResult()[methods[i]['label']];
55
+
56
+ methods[i]['properties'].forEach(function(m) {
57
+ it('should return ' + methods[i]['label'] + ' ' + m + ': ' + expect[m], function () {
58
+ assert.equal(result[m], expect[m] != 'undefined' ? expect[m] : undefined);
59
+ });
60
+ });
61
+ });
62
+ });
63
+ }
64
+ }
65
+ });
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
+
72
+ var parser1 = new UAParser(uaString, {browser: myOwnBrowser});
73
+ assert.equal(parser1.getBrowser().name, 'MyOwnBrowser');
74
+ assert.equal(parser1.getBrowser().version, '1.3');
75
+ assert.equal(parser1.getBrowser().major, '1');
76
+
77
+ var parser2 = new UAParser({browser: myOwnBrowser});
78
+ assert.equal(parser2.getBrowser().name, undefined);
79
+ parser2.setUA(uaString);
80
+ assert.equal(parser2.getBrowser().name, 'MyOwnBrowser');
81
+ assert.equal(parser1.getBrowser().version, '1.3');
82
+ });
83
+
84
+ describe('Using Require.js', function () {
85
+ it('should loaded automatically', function(done) {
86
+ requirejs.config({
87
+ baseUrl : 'dist',
88
+ paths : {
89
+ 'ua-parser-js' : 'ua-parser.min'
90
+ }
91
+ });
92
+ requirejs(['ua-parser-js'], function(ua) {
93
+ var parser = new ua('Dillo/1.0');
94
+ assert.deepEqual(parser.getBrowser().name, 'Dillo');
95
+ done();
96
+ });
97
+ });
98
+ });
package/component.json DELETED
@@ -1,24 +0,0 @@
1
- {
2
- "name": "ua-parser-js",
3
- "version": "0.7.10",
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
- }