You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ra...@apache.org on 2019/10/30 14:56:41 UTC

[cordova-serve] branch master updated: Spec cleanup (#20)

This is an automated email from the ASF dual-hosted git repository.

raphinesse pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-serve.git


The following commit(s) were added to refs/heads/master by this push:
     new 32ea9f2  Spec cleanup (#20)
32ea9f2 is described below

commit 32ea9f23e6ab747355041e0ed8be8477c9b9bf48
Author: Raphael von der Grün <ra...@gmail.com>
AuthorDate: Wed Oct 30 15:56:34 2019 +0100

    Spec cleanup (#20)
    
    * Let Jasmine handle promises
    
    * Wrap regItemPattern tests in common describe block
    
    * DRY regItemPattern tests
    
    * Don't use done for sync tests
    
    * Get fresh test subject beforeEach test
---
 spec/browser.spec.js | 82 ++++++++++++++++++++++------------------------------
 spec/server.spec.js  |  4 +--
 2 files changed, 36 insertions(+), 50 deletions(-)

diff --git a/spec/browser.spec.js b/spec/browser.spec.js
index 79f68ea..44d91f8 100644
--- a/spec/browser.spec.js
+++ b/spec/browser.spec.js
@@ -17,9 +17,6 @@
 
 var rewire = require('rewire');
 
-var browser = rewire('../src/browser');
-var regItemPattern = browser.__get__('regItemPattern');
-
 function expectPromise (obj) {
     // 3 slightly different ways of verifying a promise
     expect(typeof obj.then).toBe('function');
@@ -28,70 +25,59 @@ function expectPromise (obj) {
 }
 
 describe('browser', function () {
+    let browser;
+    beforeEach(() => {
+        browser = rewire('../src/browser');
+        browser.__set__('open', jasmine.createSpy('mockOpen'));
+    });
 
     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'); // so we can be nice and restore it later
-
-        browser.__set__('open', mockOpen);
-
+    it('should return a promise', function () {
         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);
-            });
+        return result;
     });
 
-    it('should call open() when target is `default`', function (done) {
-        var mockOpen = jasmine.createSpy('mockOpen');
-        var origOpen = browser.__get__('open'); // so we can be nice and restore it later
-
-        browser.__set__('open', mockOpen);
-
+    it('should call open() when target is `default`', function () {
         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();
+        return result.then(() => {
+            expect(browser.__get__('open')).toHaveBeenCalledWith(mockUrl);
+        });
     });
 
-    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();
+    describe('regItemPattern', () => {
+        let regItemPattern;
+        beforeEach(() => {
+            regItemPattern = browser.__get__('regItemPattern');
+        });
+
+        const regPath = 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\chrome.EXE';
+        const appPath = 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe';
+        function expectPatternToExtractPathFrom (input) {
+            expect(regItemPattern.exec(input)[2]).toBe(appPath);
+        }
+
+        it('should recognize browser from registry with key "Default" on English Windows 10', function () {
+            expectPatternToExtractPathFrom(`${regPath} (Default)    REG_SZ    ${appPath}`);
+        });
+
+        it('should recognize browser from registry with key "Standard" on non-English Windows 10', function () {
+            expectPatternToExtractPathFrom(`${regPath} (Standard)    REG_SZ    ${appPath}`);
+        });
+
+        it('should recognize browser with non-Latin registry key on Russian Windows 10', function () {
+            expectPatternToExtractPathFrom(`${regPath} (�� 㬮�砭��)    REG_SZ    ${appPath}`);
+        });
     });
 });
diff --git a/spec/server.spec.js b/spec/server.spec.js
index d36d512..3010c2a 100644
--- a/spec/server.spec.js
+++ b/spec/server.spec.js
@@ -31,10 +31,10 @@ describe('server', function () {
         expect(typeof server).toBe('function');
     });
 
-    it('should return a promise', function (done) {
+    it('should return a promise', function () {
         var result = server({ port: 8008, noServerInfo: 1 });
         expect(result).toBeDefined();
         expectPromise(result);
-        result.then(done, done);
+        return result;
     });
 });


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org