@@ -21,25 +21,25 @@ var sharedDriver = null;
2121function getBrowserVersion ( ) {
2222 var browser = process . env . BROWSER ;
2323 var browserChannel = process . env . BVER ;
24- var symlink = './browsers/bin/' + browser + '-' + browserChannel + '/' ;
25- var symPath = fs . readlink ( symlink ) ;
2624
2725 // Browser reg expressions and position to look for the milestone version.
28- var chromeExp = '/Chrom(e|ium)\/([0-9] +)\./' ;
29- var firefoxExp = '/Firefox\/([0-9] +)\./' ;
30- var chromePos = 2 ;
31- var firefoxPos = 1 ;
32-
33- var browserVersion = function ( path , expr , pos ) {
34- var match = path . match ( expr ) ;
35- return match && match . length >= pos && parseInt ( match [ pos ] , 10 ) ;
26+ var chromeExp = / \/ c h r o m e \/ ( \d + ) \. / ;
27+ var firefoxExp = / \/ f i r e f o x \/ ( \d + ) \. / ;
28+
29+ var browserVersion = function ( expr ) {
30+ var symlink = './browsers/bin/' + browser + '-' + browserChannel ;
31+ var pathToBrowser = fs . readlinkSync ( symlink ) ;
32+ var match = pathToBrowser . match ( expr ) ;
33+ return match && match . length >= 1 && parseInt ( match [ 1 ] , 10 ) ;
3634 } ;
3735
3836 switch ( browser ) {
3937 case 'chrome' :
40- return browserVersion ( symPath , chromeExp , chromePos ) ;
38+ return browserVersion ( chromeExp ) ;
4139 case 'firefox' :
42- return browserVersion ( symPath , firefoxExp , firefoxPos ) ;
40+ return browserVersion ( firefoxExp ) ;
41+ case 'safari' :
42+ return browserChannel ;
4343 default :
4444 return 'non supported browser.' ;
4545 }
@@ -85,7 +85,7 @@ function buildDriver() {
8585 . setLoggingPrefs ( prefs ) ;
8686
8787 // Only enable this for Chrome >= 49.
88- if ( process . env . BROWSER === 'chrome' && getBrowserVersion >= '49' ) {
88+ if ( process . env . BROWSER === 'chrome' && getBrowserVersion ( ) >= 49 ) {
8989 chromeOptions . addArguments ( '--enable-experimental-web-platform-features' ) ;
9090 }
9191
@@ -97,7 +97,7 @@ function buildDriver() {
9797 . setChromeOptions ( chromeOptions )
9898 . setEdgeOptions ( edgeOptions ) ;
9999
100- if ( process . env . BROWSER === 'firefox' && getBrowserVersion >= '47' ) {
100+ if ( process . env . BROWSER === 'firefox' && getBrowserVersion ( ) >= 47 ) {
101101 sharedDriver . getCapabilities ( ) . set ( 'marionette' , true ) ;
102102 }
103103 sharedDriver = sharedDriver . build ( ) ;
0 commit comments