UnitTest:JQM Unit TC helper has been added,TCs have been modified
[platform/framework/web/web-ui-fw.git] / tests / jqm-tchelper / jquery.browser.js
1 var BrowserDetect = {
2         init: function () {
3                 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
4                 this.version = this.searchVersion(navigator.userAgent)
5                         || this.searchVersion(navigator.appVersion)
6                         || "an unknown version";
7                 this.OS = this.searchString(this.dataOS) || "an unknown OS";
8         },
9         searchString: function (data) {
10                 for (var i=0;i<data.length;i++) {
11                         var dataString = data[i].string;
12                         var dataProp = data[i].prop;
13                         this.versionSearchString = data[i].versionSearch || data[i].identity;
14                         if (dataString) {
15                                 if (dataString.indexOf(data[i].subString) != -1)
16                                         return data[i].identity;
17                         }
18                         else if (dataProp)
19                                 return data[i].identity;
20                 }
21         },
22         searchVersion: function (dataString) {
23                 var index = dataString.indexOf(this.versionSearchString);
24                 if (index == -1) return;
25                 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
26         },
27         dataBrowser: [
28                 {
29                         string: navigator.userAgent,
30                         subString: "Chrome",
31                         identity: "Chrome"
32                 },
33                 {       string: navigator.userAgent,
34                         subString: "OmniWeb",
35                         versionSearch: "OmniWeb/",
36                         identity: "OmniWeb"
37                 },
38                 {
39                         string: navigator.vendor,
40                         subString: "Apple",
41                         identity: "Safari",
42                         versionSearch: "Version"
43                 },
44                 {
45                         prop: window.opera,
46                         identity: "Opera",
47                         versionSearch: "Version"
48                 },
49                 {
50                         string: navigator.vendor,
51                         subString: "iCab",
52                         identity: "iCab"
53                 },
54                 {
55                         string: navigator.vendor,
56                         subString: "KDE",
57                         identity: "Konqueror"
58                 },
59                 {
60                         string: navigator.userAgent,
61                         subString: "Firefox",
62                         identity: "Firefox"
63                 },
64                 {
65                         string: navigator.vendor,
66                         subString: "Camino",
67                         identity: "Camino"
68                 },
69                 {               // for newer Netscapes (6+)
70                         string: navigator.userAgent,
71                         subString: "Netscape",
72                         identity: "Netscape"
73                 },
74                 {
75                         string: navigator.userAgent,
76                         subString: "MSIE",
77                         identity: "Explorer",
78                         versionSearch: "MSIE"
79                 },
80                 {
81                         string: navigator.userAgent,
82                         subString: "Gecko",
83                         identity: "Mozilla",
84                         versionSearch: "rv"
85                 },
86                 {               // for older Netscapes (4-)
87                         string: navigator.userAgent,
88                         subString: "Mozilla",
89                         identity: "Netscape",
90                         versionSearch: "Mozilla"
91                 }
92         ],
93         dataOS : [
94                 {
95                         string: navigator.platform,
96                         subString: "Win",
97                         identity: "Windows"
98                 },
99                 {
100                         string: navigator.platform,
101                         subString: "Mac",
102                         identity: "Mac"
103                 },
104                 {
105                            string: navigator.userAgent,
106                            subString: "iPhone",
107                            identity: "iPhone/iPod"
108             },
109                 {
110                         string: navigator.platform,
111                         subString: "Linux",
112                         identity: "Linux"
113                 }
114         ]
115
116 };
117 BrowserDetect.init();