From 8a254b60018ccb1a6ceb23a0b6597a9b33508f48 Mon Sep 17 00:00:00 2001
From: Daniel Huigens <d.huigens@protonmail.com>
Date: Thu, 3 May 2018 16:38:26 +0200
Subject: [PATCH] Update Sauce Labs browsers

---
 .travis.yml | 61 ++++++++++++++++++++---------------------------------
 travis.sh   | 26 +++--------------------
 2 files changed, 26 insertions(+), 61 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 48d84e11..fbec9422 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,46 +10,31 @@ matrix:
   fast_finish: true
   include:
     - node_js: "8"
-      env: OPENPGPJSTEST='unit' OPENPGP_NODE_JS='8'
+      env: OPENPGP_NODE_JS='8' OPENPGPJSTEST='unit'
     - node_js: "10"
-      env: OPENPGPJSTEST='unit' OPENPGP_NODE_JS='10'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-0' BROWSER='firefox 38'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-1' BROWSER='firefox 54'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-2' BROWSER='chrome 38'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-3' BROWSER='chrome 59'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-6' BROWSER='safari 8'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-7' BROWSER='safari 10'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-5' BROWSER='microsoft edge 15'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-4' BROWSER='internet explorer 11'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-8' BROWSER='android 4.4'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-9' BROWSER='android 6.0'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-10' BROWSER='iphone 7.0'
-    - node_js: "8"
-      env: OPENPGPJSTEST='end2end-11' BROWSER='iphone 11.0'
+      env: OPENPGP_NODE_JS='10' OPENPGPJSTEST='unit'
+    - node_js: "9"
+      env: BROWSER='Firefox' VERSION='61' PLATFORM='macOS 10.13' OPENPGPJSTEST='saucelabs'
+    - node_js: "9"
+      env: BROWSER='Chrome' VERSION='49' PLATFORM='macOS 10.13' OPENPGPJSTEST='saucelabs' COMPAT=1
+    - node_js: "9"
+      env: BROWSER='Chrome' VERSION='68' PLATFORM='macOS 10.13' OPENPGPJSTEST='saucelabs'
+    - node_js: "9"
+      env: BROWSER='Internet Explorer' VERSION='11.103' PLATFORM='Windows 10' OPENPGPJSTEST='saucelabs' COMPAT=1
+    - node_js: "9"
+      env: BROWSER='MicrosoftEdge' VERSION='17.17134' PLATFORM='Windows 10' OPENPGPJSTEST='saucelabs'
+    - node_js: "9"
+      env: BROWSER='Safari' VERSION='10' PLATFORM='macOS 10.12' OPENPGPJSTEST='saucelabs' COMPAT=1
+    - node_js: "9"
+      env: BROWSER='Safari' VERSION='11' PLATFORM='macOS 10.13' OPENPGPJSTEST='saucelabs'
+    - node_js: "9"
+      env: BROWSER='Android' VERSION='6.0' OPENPGPJSTEST='saucelabs'
+    - node_js: "9"
+      env: BROWSER='iPad' VERSION='10.0' OPENPGPJSTEST='saucelabs' COMPAT=1
+    - node_js: "9"
+      env: BROWSER='iPad' VERSION='11.0' OPENPGPJSTEST='saucelabs'
   allow_failures:
-    - env: OPENPGPJSTEST='end2end-0' BROWSER='firefox 38'
-    - env: OPENPGPJSTEST='end2end-1' BROWSER='firefox 54'
-    - env: OPENPGPJSTEST='end2end-2' BROWSER='chrome 38'
-    - env: OPENPGPJSTEST='end2end-3' BROWSER='chrome 59'
-    - env: OPENPGPJSTEST='end2end-6' BROWSER='safari 8'
-    - env: OPENPGPJSTEST='end2end-7' BROWSER='safari 10'
-    - env: OPENPGPJSTEST='end2end-5' BROWSER='microsoft edge 15'
-    - env: OPENPGPJSTEST='end2end-4' BROWSER='internet explorer 11'
-    - env: OPENPGPJSTEST='end2end-8' BROWSER='android 4.4'
-    - env: OPENPGPJSTEST='end2end-9' BROWSER='android 6.0'
-    - env: OPENPGPJSTEST='end2end-10' BROWSER='iphone 7.0'
-    - env: OPENPGPJSTEST='end2end-11' BROWSER='iphone 11.0'
+    - node_js: "9"
 
 before_script:
   - npm install -g grunt-cli codeclimate-test-reporter
diff --git a/travis.sh b/travis.sh
index 5db421c2..05438bff 100755
--- a/travis.sh
+++ b/travis.sh
@@ -11,31 +11,11 @@ elif [ $OPENPGPJSTEST = "unit" ]; then
   echo "Running OpenPGP.js unit tests on node.js."
   npm test
 
-elif [[ $OPENPGPJSTEST =~ ^end2end-.* ]]; then
+elif [ $OPENPGPJSTEST = "saucelabs" ]; then
   echo "Running OpenPGP.js browser unit tests on Saucelabs."
 
-  declare -a capabilities=(
-    "export COMPAT=1 SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Firefox\", \"version\":\"34\", \"platform\":\"OS X 10.12\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Firefox\", \"version\":\"54\", \"platform\":\"OS X 10.12\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export COMPAT=1 SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Chrome\", \"version\":\"41\", \"platform\":\"OS X 10.12\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\", \"extendedDebugging\":true}'"
-    "export SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Chrome\", \"version\":\"59\", \"platform\":\"OS X 10.12\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\", \"extendedDebugging\":true}'"
-    "export COMPAT=1 SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Internet Explorer\", \"version\":\"11.103\", \"platform\":\"Windows 10\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"MicrosoftEdge\", \"version\":\"15.15063\", \"platform\":\"Windows 10\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export COMPAT=1 SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Safari\", \"version\":\"8\", \"platform\":\"OS X 10.10\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Safari\", \"version\":\"10\", \"platform\":\"macOS 10.12\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Browser\", \"platformName\":\"Android\", \"platformVersion\": \"4.4\", \"deviceName\": \"Android Emulator\", \"deviceOrientation\": \"portrait\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export SELENIUM_BROWSER_CAPABILITIES='{\"browserName\":\"Chrome\", \"platformName\":\"Android\", \"platformVersion\": \"6.0\", \"deviceName\": \"Android Emulator\", \"deviceOrientation\": \"portrait\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export SELENIUM_BROWSER_CAPABILITIES='{\"browserName\": \"Safari\", \"platformName\":\"iOS\", \"platformVersion\": \"8.1\", \"deviceName\": \"iPad Simulator\", \"deviceOrientation\": \"portrait\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-    "export SELENIUM_BROWSER_CAPABILITIES='{\"browserName\": \"Safari\", \"platformName\":\"iOS\", \"platformVersion\": \"11.0\", \"deviceName\": \"iPad Air 2 Simulator\", \"deviceOrientation\": \"portrait\", \"maxDuration\":\"7200\", \"commandTimeout\":\"600\", \"idleTimeout\":\"270\"}'"
-  )
-
-  testkey=$(echo $OPENPGPJSTEST | cut -f2 -d-)
-
-  ## now loop through the above array
-  capability=${capabilities[${testkey}]}
-
-  echo "Testing Configuration: ${testkey}"
-  eval $capability
+  export SELENIUM_BROWSER_CAPABILITIES="{\"browserName\":\"$BROWSER\", \"version\":\"$VERSION\", \"platform\":\"$PLATFORM\", \"extendedDebugging\":true}"
+  echo "SELENIUM_BROWSER_CAPABILITIES='$SELENIUM_BROWSER_CAPABILITIES'"
   grunt saucelabs --compat=$COMPAT &
   background_process_pid=$!