]> git.proxmox.com Git - mirror_xterm.js.git/commitdiff
Fix tests
authorParis Kasidiaris <paris@sourcelair.com>
Fri, 4 Nov 2016 17:36:30 +0000 (19:36 +0200)
committerParis Kasidiaris <paris@sourcelair.com>
Fri, 4 Nov 2016 17:36:30 +0000 (19:36 +0200)
src/utils/Browser.js
src/utils/Generic.js
src/xterm.js
test/test.js

index e7b1180a5d4130255ee34ac3d2f2b7065fe62b30..5240afadf19305123d1d68764799c212231674e2 100644 (file)
@@ -11,8 +11,9 @@
 
 import { contains } from './Generic.js';
 
-let userAgent = navigator.userAgent;
-let platform = navigator.platform;
+let isNode = (typeof navigator == 'undefined') ? true : false;
+let userAgent = (isNode) ? 'node' : navigator.userAgent;
+let platform = (isNode) ? 'node' : navigator.platform;
 
 export let isFirefox = !!~userAgent.indexOf('Firefox');
 export let isMSIE = !!~userAgent.indexOf('MSIE');
@@ -20,7 +21,7 @@ export let isMSIE = !!~userAgent.indexOf('MSIE');
 // Find the users platform. We use this to interpret the meta key
 // and ISO third level shifts.
 // http://stackoverflow.com/q/19877924/577598
-export let isMac = contains(platform, ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K']);
+export let isMac = contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);
 export let isIpad = platform === 'iPad';
 export let isIphone = platform === 'iPhone';
-export let isMSWindows = contains(platform, ['Windows', 'Win16', 'Win32', 'WinCE']);
+export let isMSWindows = contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);
index 5097b610758581556c0dce6643814e1a3f4183f1..9e48a721a2551c590a0e48105ee4188e9502d608 100644 (file)
@@ -9,11 +9,11 @@
  * @module xterm/utils/Generic
  */
 
-export let contains = function(el, arr) {
-  for (var i = 0; i < arr.length; i += 1) {
-    if (el === arr[i]) {
-      return true;
-    }
-  }
-  return false;
+/**
+ * Return if the given array contains the given element
+ * @param {Array} array The array to search for the given element.
+ * @param {Object} el The element to look for into the array
+ */
+export let contains = function(arr, el) {
+  return arr.indexOf(el) >= 0;
 };
index 63f0ac28765f05e5da7c703d54f0d5aa9af694de..7f0f24207d30b7cba82ab0d27a7ff12a6f1867c1 100644 (file)
@@ -35,7 +35,7 @@ import { CompositionHelper } from './CompositionHelper.js';
 import { EventEmitter } from './EventEmitter.js';
 import { Viewport } from './Viewport.js';
 import { rightClickHandler, pasteHandler, copyHandler } from './handlers/Clipboard.js';
-import { isFirefox, isMSIE, isMac, isIpad, isIphone, isMSWindows } from './utils/Browser';
+import * as Browser from './utils/Browser';
 
 /**
  * Terminal Emulation References:
@@ -79,6 +79,7 @@ function Terminal(options) {
     return new Terminal(arguments[0], arguments[1], arguments[2]);
   }
 
+  self.browser = Browser;
   self.cancel = Terminal.cancel;
 
   EventEmitter.call(this);
@@ -453,7 +454,7 @@ Terminal.prototype.initGlobal = function() {
     rightClickHandler.call(this, ev, term);
   }
 
-  if (isFirefox || isMSIE) {
+  if (term.browser.isFirefox || term.browser.isMSIE) {
     on(this.element, 'mousedown', function (ev) {
       if (ev.button == 2) {
         rightClickHandlerWrapper(ev);
@@ -835,7 +836,7 @@ Terminal.prototype.bindMouse = function() {
           ? ev.which - 1
         : null;
 
-        if (isMSIE) {
+        if (self.browser.isMSIE) {
           button = button === 1 ? 0 : button === 4 ? 1 : button;
         }
         break;
@@ -2704,7 +2705,7 @@ Terminal.prototype.evaluateKeyEscapeSequence = function(ev) {
           // ^] - group sep
           result.key = String.fromCharCode(29);
         }
-      } else if (!isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {
+      } else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {
         // On Mac this is a third level shift. Use <Esc> instead.
         if (ev.keyCode >= 65 && ev.keyCode <= 90) {
           result.key = '\x1b' + String.fromCharCode(ev.keyCode + 32);
@@ -4913,8 +4914,8 @@ function indexOf(obj, el) {
 
 function isThirdLevelShift(term, ev) {
   var thirdLevelKey =
-      (isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||
-      (isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);
+      (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||
+      (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);
 
   if (ev.type == 'keypress') {
     return thirdLevelKey;
index eb34a44e2a83fa4f357b92a5cf23b5d984a34574..a6bbfdc6e440a06980d20d7f953fef9eb01b1cfe 100644 (file)
@@ -368,7 +368,7 @@ describe('xterm.js', function() {
 
     describe('On Mac OS', function() {
       beforeEach(function() {
-        xterm.isMac = true;
+        xterm.browser.isMac = true;
       });
 
       it('should not interfere with the alt key on keyDown', function() {