| // 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(); |
| } |