|
1676 | 1676 | }); |
1677 | 1677 |
|
1678 | 1678 | test('platform.parse', function() { |
1679 | | - var actual = platform.parse('Mozilla/5.0 (Windows; U; en-US) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.5'); |
| 1679 | + var parse = function(ua) { return platform.parse(ua + ';'); }; |
| 1680 | + var actual = parse('Mozilla/5.0 (Windows; U; en-US) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.5'); |
1680 | 1681 | var expected = 'Adobe AIR 2.5 (like Safari 4.x)'; |
1681 | 1682 | equal(actual.description, expected, 'parse Adobe Air'); |
1682 | 1683 |
|
1683 | | - actual = platform.parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2'); |
| 1684 | + actual = parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2'); |
1684 | 1685 | expected = 'Chrome 15.0.874.106 on Mac OS X 10.7.2'; |
1685 | 1686 | equal(actual.description, expected, 'parse Chrome'); |
1686 | 1687 |
|
1687 | | - actual = platform.parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:8.0) Gecko/20100101 Firefox/8.0'); |
| 1688 | + actual = parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:8.0) Gecko/20100101 Firefox/8.0'); |
1688 | 1689 | expected = 'Firefox 8.0 on Mac OS X 10.7'; |
1689 | 1690 | equal(actual.description, expected, 'parse Firefox'); |
1690 | 1691 |
|
1691 | | - actual = platform.parse('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0)'); |
| 1692 | + actual = parse('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0)'); |
1692 | 1693 | expected = 'IE 7.0 on Windows XP'; |
1693 | 1694 | equal(actual.description, expected, 'parse IE'); |
1694 | 1695 |
|
1695 | | - actual = platform.parse('Opera/9.80 (Macintosh; Intel Mac OS X 10.7.2; U; Edition Next; en) Presto/2.9.220 Version/12.00'); |
| 1696 | + actual = parse('Opera/9.80 (Macintosh; Intel Mac OS X 10.7.2; U; Edition Next; en) Presto/2.9.220 Version/12.00'); |
1696 | 1697 | expected = 'Opera 12.00 on Mac OS X 10.7.2'; |
1697 | 1698 | equal(actual.description, expected, 'parse Opera'); |
1698 | 1699 |
|
1699 | | - actual = platform.parse('Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 10.10'); |
| 1700 | + actual = parse('Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 10.10'); |
1700 | 1701 | expected = 'Opera 10.10 (identifying as Firefox 2.0.0) on Windows XP'; |
1701 | 1702 | equal(actual.description, expected, 'parse Opera description identifying as Firefox 2.0.0'); |
1702 | 1703 |
|
1703 | 1704 | expected = 'Presto'; |
1704 | 1705 | equal(actual.layout, expected, 'parse Opera layout identifying as Firefox 2.0.0'); |
1705 | 1706 |
|
1706 | | - actual = platform.parse('Mozilla/4.0 (compatible; MSIE 8.0; Mac_PowerPC; en) Opera 10.52'); |
| 1707 | + actual = parse('Mozilla/4.0 (compatible; MSIE 8.0; Mac_PowerPC; en) Opera 10.52'); |
1707 | 1708 | expected = 'Opera 10.52 (identifying as IE 8.0)'; |
1708 | 1709 | equal(actual.description, expected, 'parse Opera description identifying as IE 8.0'); |
1709 | 1710 |
|
1710 | | - actual = platform.parse('Mozilla/5.0 (compatible; MSIE 9.0; Mac_PowerPC; en) Opera 12.00'); |
| 1711 | + actual = parse('Mozilla/5.0 (compatible; MSIE 9.0; Mac_PowerPC; en) Opera 12.00'); |
1711 | 1712 | expected = 'Opera 12.00 (identifying as IE 9.0)'; |
1712 | 1713 | equal(actual.description, expected, 'parse Opera description identifying as IE 9.0'); |
1713 | 1714 |
|
1714 | | - actual = platform.parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7.2; en; rv:2.0) Gecko/20100101 Firefox/4.0'); |
| 1715 | + actual = parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7.2; en; rv:2.0) Gecko/20100101 Firefox/4.0'); |
1715 | 1716 | expected = 'Opera (masking as Firefox 4.0) on Mac OS X 10.7.2'; |
1716 | 1717 | equal(actual.description, expected, 'parse Opera description masking as Firefox 4.0'); |
1717 | 1718 |
|
1718 | | - actual = platform.parse('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; en)'); |
| 1719 | + actual = parse('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; en)'); |
1719 | 1720 | expected = 'Opera (masking as IE 8.0)'; |
1720 | 1721 | equal(actual.description, expected, 'parse Opera description masking as IE 8.0'); |
1721 | 1722 |
|
1722 | | - actual = platform.parse('Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/5.0; en)'); |
| 1723 | + actual = parse('Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/5.0; en)'); |
1723 | 1724 | expected = 'Opera (masking as IE 9.0)'; |
1724 | 1725 | equal(actual.description, expected, 'parse Opera description masking as IE 9.0'); |
1725 | 1726 |
|
1726 | | - actual = platform.parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22'); |
| 1727 | + actual = parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22'); |
1727 | 1728 | expected = 'Safari 5.1.1 on Mac OS X 10.7.2'; |
1728 | 1729 | equal(actual.description, expected, 'parse Safari'); |
1729 | 1730 |
|
1730 | | - actual = platform.parse('Mozilla/5.0 (X11; U; Cygwin; C -) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) PhantomJS/1.0.0'); |
| 1731 | + actual = parse('Mozilla/5.0 (X11; U; Cygwin; C -) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) PhantomJS/1.0.0'); |
1731 | 1732 | expected = 'PhantomJS 1.0.0 (like Safari 4.x) on Cygwin'; |
1732 | 1733 | equal(actual.description, expected, 'parse PhantomJS'); |
1733 | 1734 | }); |
|
0 commit comments