12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
-
- var child_process = require('child_process');
- var rewire = require('rewire');
-
- var browser = rewire("../src/browser");
- var regItemPattern = browser.__get__("regItemPattern");
-
- function expectPromise(obj){
-
- expect(typeof obj.then).toBe('function');
- expect(obj instanceof Promise).toBe(true);
- expect(obj).toBe(Promise.resolve(obj));
- }
-
- describe('browser', function() {
-
- it('exists and has expected properties', function() {
- expect(browser).toBeDefined();
- expect(typeof browser).toBe('function');
- });
-
- it('should return a promise', function(done) {
- var mockOpen = jasmine.createSpy('mockOpen');
- var origOpen = browser.__get__('open');
-
- browser.__set__('open',mockOpen);
-
- var result = browser();
- expect(result).toBeDefined();
- expectPromise(result);
-
- result.then(function(res) {
- browser.__set__('open', origOpen);
- done();
- })
- .catch(function(err) {
- browser.__set__('open', origOpen);
- done(err);
- });
- });
-
- it('should call open() when target is `default`', function(done) {
- var mockOpen = jasmine.createSpy('mockOpen');
- var origOpen = browser.__get__('open');
-
- browser.__set__('open',mockOpen);
-
- var mockUrl = 'this is the freakin url';
-
- var result = browser({target:'default',url:mockUrl});
- expect(result).toBeDefined();
- expectPromise(result);
-
- result.then(function(res) {
- expect(mockOpen).toHaveBeenCalledWith(mockUrl);
- browser.__set__('open', origOpen);
- done();
- })
- .catch(function(err) {
- browser.__set__('open', origOpen);
- done(err);
- });
- });
-
- it('should recognize browser from registry with key "Default" on English Windows 10', function(done) {
- var result = regItemPattern.exec("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\chrome.EXE (Default) REG_SZ C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
- expect(result[2]).toBe("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe")
- done();
- });
-
- it('should recognize browser from registry with key "Standard" on non-English Windows 10', function(done) {
- var result = regItemPattern.exec("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\chrome.EXE (Standard) REG_SZ C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
- expect(result[2]).toBe("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe")
- done();
- });
-
- it('should recognize browser with non-Latin registry key on Russian Windows 10', function(done) {
- var result = regItemPattern.exec("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\chrome.EXE (�� 㬮�砭��) REG_SZ C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
- expect(result[2]).toBe("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe")
- done();
- });
- });
|