Skip to content
This repository has been archived by the owner on Dec 7, 2018. It is now read-only.

Commit

Permalink
fix: throw exception on invalid input to setExtraCaptureElement
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergey Tatarintsev committed Nov 17, 2016
1 parent 023bd6f commit 49081ec
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 3 deletions.
6 changes: 4 additions & 2 deletions lib/server-suite-wrapper.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';
const RENDER_TARGET_SELECTOR = '[data-gemini-react] > *';
const _ = require('lodash');
class ServerSuiteWrapper {
/**
* @param {Suite} suite
Expand Down Expand Up @@ -45,9 +46,10 @@ class ServerSuiteWrapper {
}

setExtraCaptureElements(elements) {
if (elements && elements.length) {
this._captureElements = this._captureElements.concat(elements);
if (!Array.isArray(elements) && !_.isString(elements)) {
throw new Error('setExtraCaptureElements accepts an array or string');
}
this._captureElements = this._captureElements.concat(elements);
return this;
}
}
Expand Down
21 changes: 20 additions & 1 deletion test/server-suite-wrapper.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,14 +109,33 @@ describe('server-suite-wrapper', () => {
});

describe('setExtraCaptureElements', () => {
it('should capture additional selectors', () => {
it('should work with a string', () => {
const selector = '.extra-selector';

wrapped.setExtraCaptureElements(selector);
wrapped.render();

assert.calledWithExactly(original.setCaptureElements, [RENDER_TARGET_SELECTOR, selector]);
});

it('should work with an array', () => {
const selector1 = '.selector1';
const selector2 = '.selector2';

wrapped.setExtraCaptureElements([selector1, selector2]);
wrapped.render();

assert.calledWithExactly(
original.setCaptureElements,
[RENDER_TARGET_SELECTOR, selector1, selector2]
);
});

it('should throw on non array and non string argument', () => {
assert.throws(() => {
wrapped.setExtraCaptureElements(1234);
}, 'setExtraCaptureElements accepts an array or string');
});
});
});
});

0 comments on commit 49081ec

Please sign in to comment.