diff --git a/lib/LocalBinary.js b/lib/LocalBinary.js index 8d694b2..cad4d8e 100644 --- a/lib/LocalBinary.js +++ b/lib/LocalBinary.js @@ -93,7 +93,11 @@ function LocalBinary(){ this.getBinaryFilename = function() { if(this.hostOS.match(/darwin|mac os/i)){ - return 'BrowserStackLocal-darwin-x64'; + if(this.isArm64) { + return 'BrowserStackLocal-darwin-arm64'; + } else { + return 'BrowserStackLocal-darwin-x64'; + } } else if(this.hostOS.match(/mswin|msys|mingw|cygwin|bccwin|wince|emc|win32/i)) { this.windows = true; return 'BrowserStackLocal.exe'; diff --git a/test/local.js b/test/local.js index 576ad79..31c1437 100644 --- a/test/local.js +++ b/test/local.js @@ -393,10 +393,19 @@ describe('LocalBinary', function () { it('should return darwin binary filename', function() { ['darwin', 'mac os'].forEach(function(os) { localBinary.hostOS = os; + localBinary.isArm64 = false; expect(localBinary.getBinaryFilename()).to.equal('BrowserStackLocal-darwin-x64'); }); }); + it('should return darwin arm64 binary filename', function() { + ['darwin', 'mac os'].forEach(function(os) { + localBinary.hostOS = os; + localBinary.isArm64 = true; + expect(localBinary.getBinaryFilename()).to.equal('BrowserStackLocal-darwin-arm64'); + }); + }); + it('should return exe binary filename', function() { ['mswin', 'msys', 'mingw', 'cygwin', 'bccwin', 'wince', 'emc', 'win32'].forEach(function(os) { localBinary.hostOS = os;