226 lines
7.0 KiB
JavaScript
226 lines
7.0 KiB
JavaScript
// Copyright 2014 The Closure Library Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS-IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
goog.provide('goog.userAgent.keyboardTest');
|
|
goog.setTestOnly('goog.userAgent.keyboardTest');
|
|
|
|
goog.require('goog.labs.userAgent.testAgents');
|
|
goog.require('goog.labs.userAgent.util');
|
|
goog.require('goog.testing.MockUserAgent');
|
|
goog.require('goog.testing.jsunit');
|
|
goog.require('goog.userAgent.keyboard');
|
|
goog.require('goog.userAgentTestUtil');
|
|
|
|
|
|
var mockAgent;
|
|
|
|
function setUp() {
|
|
mockAgent = new goog.testing.MockUserAgent();
|
|
mockAgent.install();
|
|
}
|
|
|
|
function tearDown() {
|
|
mockAgent.dispose();
|
|
goog.labs.userAgent.util.setUserAgent(null);
|
|
goog.userAgentTestUtil.reinitializeUserAgent();
|
|
}
|
|
|
|
function testAndroid() {
|
|
mockAgent.setNavigator({platform: 'Linux'});
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.ANDROID_BROWSER_235);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.ANDROID_BROWSER_221);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.ANDROID_BROWSER_233);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.ANDROID_BROWSER_403);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.ANDROID_BROWSER_403_ALT);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testIe() {
|
|
mockAgent.setNavigator({platform: 'Windows'});
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.IE_6);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.IE_7);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.IE_8);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.IE_8_COMPATIBILITY);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.IE_9);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.IE_10);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.IE_10_COMPATIBILITY);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.IE_11);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.IE_11_COMPATIBILITY_MSIE_7);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.IE_11_COMPATIBILITY_MSIE_9);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testFirefoxMac() {
|
|
mockAgent.setNavigator({platform: 'Macintosh'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.FIREFOX_MAC);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testFirefoxNotMac() {
|
|
mockAgent.setNavigator({platform: 'X11'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.FIREFOX_LINUX);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
mockAgent.setNavigator({platform: 'Windows'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.FIREFOX_WINDOWS);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testSafari() {
|
|
mockAgent.setNavigator({platform: 'Macintosh'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.SAFARI_6);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.SAFARI_MAC);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
mockAgent.setNavigator({platform: 'iPhone'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.SAFARI_IPHONE_32);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.SAFARI_IPHONE_421);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.SAFARI_IPHONE_431);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.SAFARI_IPHONE_6);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
mockAgent.setNavigator({platform: 'iPod'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.SAFARI_IPOD);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testSafariWndows() {
|
|
mockAgent.setNavigator({platform: 'Macintosh'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.SAFARI_WINDOWS);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testOperaMac() {
|
|
mockAgent.setNavigator({platform: 'Macintosh'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.OPERA_MAC);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testOperaNonMac() {
|
|
mockAgent.setNavigator({platform: 'X11'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.OPERA_LINUX);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
mockAgent.setNavigator({platform: 'Windows'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.OPERA_15);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testIPad() {
|
|
mockAgent.setNavigator({platform: 'iPad'});
|
|
setUserAgent(goog.labs.userAgent.testAgents.IPAD_4);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.IPAD_5);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
setUserAgent(goog.labs.userAgent.testAgents.IPAD_6);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testChromeMac() {
|
|
mockAgent.setNavigator({platform: 'Macintosh'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.CHROME_MAC);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
mockAgent.setNavigator({platform: 'iPhone'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.CHROME_IPHONE);
|
|
assertTrue(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function testChromeNonMac() {
|
|
mockAgent.setNavigator({platform: 'Linux'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.CHROME_ANDROID);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
mockAgent.setNavigator({platform: 'X11'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.CHROME_OS);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
mockAgent.setNavigator({platform: 'X11'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.CHROME_LINUX);
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
|
|
mockAgent.setNavigator({platform: 'Windows'});
|
|
setUserAgent(
|
|
goog.labs.userAgent.testAgents.CHROME_25);
|
|
|
|
assertFalse(goog.userAgent.keyboard.MAC_KEYBOARD);
|
|
}
|
|
|
|
function setUserAgent(ua) {
|
|
mockAgent.setUserAgentString(ua);
|
|
goog.labs.userAgent.util.setUserAgent(ua);
|
|
goog.userAgentTestUtil.reinitializeUserAgent();
|
|
}
|