From dfab332285da6c664457c1fe436f42b3f2c1bc70 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sat, 2 Nov 2013 14:57:58 -0700 Subject: [PATCH] Auto create platforms list based on test url params. --- test/saucelabs.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/test/saucelabs.js b/test/saucelabs.js index a01a9488e..d8aa3853b 100644 --- a/test/saucelabs.js +++ b/test/saucelabs.js @@ -23,6 +23,10 @@ : '/test/index.html'; }()); + var runnerQuery = url.parse(runnerPathname, true).query, + isMobile = /\bmobile\b/i.test(runnerQuery.build), + isModern = /\bmodern\b/i.test(runnerQuery.build); + var platforms = [ ['Windows 7', 'chrome', ''], ['Windows 7', 'firefox', '25'], @@ -41,7 +45,8 @@ ['Windows 7', 'safari', '5'] ]; - if (url.parse(runnerPathname, true).query.compat) { + // test IE compat mode + if (runnerQuery.compat) { platforms = [ ['WIN8.1', 'internet explorer', '11'], ['Windows 7', 'internet explorer', '10'], @@ -49,6 +54,20 @@ ['Windows 7', 'internet explorer', '8'] ]; } + // test mobile & modern browsers + if (isMobile || isModern) { + platforms = platforms.filter(function(platform) { + var browser = platform[1], + version = +platform[2]; + + switch (browser) { + case 'firefox': return version >= 10; + case 'internet explorer': return version >= 9; + case 'safari': return version >= (isMobile ? 5 : 6); + } + return true + }); + } // create a web server for the local dir var mount = ecstatic({