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