diff --git a/client/modules/view/index.js b/client/modules/view/index.js index 263f8d1c..aa167d02 100644 --- a/client/modules/view/index.js +++ b/client/modules/view/index.js @@ -158,6 +158,8 @@ function createIframe(src) { element.addEventListener('load', () => { element.contentWindow.addEventListener('keydown', listener); }); + + return element; } module.exports._viewHtml = viewHtml; diff --git a/client/modules/view/index.spec.js b/client/modules/view/index.spec.js index 36df5ee6..3a3bea75 100644 --- a/client/modules/view/index.spec.js +++ b/client/modules/view/index.spec.js @@ -80,3 +80,42 @@ test('cloudcmd: client: view: html', (t) => { t.end(); }); +test('cloudcmd: client: view: createIframe', (t) => { + const addEventListener = stub(); + const el = { + addEventListener, + }; + const createElement = stub().returns(el); + + mockRequire('@cloudcmd/create-element', createElement); + const {_createIframe} = reRequire('.'); + + const src = '/hello.html'; + _createIframe(src); + + const expected = { + src, + height: '100%', + width: '100%', + }; + + t.calledWith(createElement, ['iframe', expected]); + t.end(); +}); + +test('cloudcmd: client: view: createIframe: returns', (t) => { + const addEventListener = stub(); + const el = { + addEventListener, + }; + const createElement = stub().returns(el); + + mockRequire('@cloudcmd/create-element', createElement); + const {_createIframe} = reRequire('.'); + + const src = '/hello.html'; + const result = _createIframe(src); + + t.equal(result, el); + t.end(); +});