68 lines
1.4 KiB
JavaScript
Executable File
68 lines
1.4 KiB
JavaScript
Executable File
'use strict';
|
|
|
|
var LOG = true;
|
|
|
|
jasmine.DEFAULT_TIMEOUT_INTERVAL = 4000;
|
|
jasmine.getFixtures().fixturesPath = 'base/spec/javascripts/fixtures';
|
|
|
|
function tearDown(iframe) {
|
|
if (iframe) setTimeout(iframe.iFrameResizer.close, 1);
|
|
window.parentIFrame = undefined;
|
|
}
|
|
|
|
function loadIFrame(filename) {
|
|
loadFixtures(filename);
|
|
}
|
|
|
|
function getTarget(iframe) {
|
|
return iframe.src
|
|
.split('/')
|
|
.slice(0, 3)
|
|
.join('/');
|
|
}
|
|
|
|
function mockPostMsgViaHook(testIFrame, id, msg, callback) {
|
|
return testIFrame('[iFrameSizer]' + id + ':' + msg, callback);
|
|
}
|
|
|
|
function mockPostMsg(id, msg) {
|
|
var message = '[iFrameSizer]' + id + ':' + msg;
|
|
console.log('Mork postMessage: ', message);
|
|
window.postMessage(message, '*');
|
|
}
|
|
|
|
function mockMsgFromIFrame(iframe, msg) {
|
|
mockPostMsg(iframe.id, '0:0:' + msg);
|
|
}
|
|
|
|
function mockInitFromParent(testIFrame, id, log, callback) {
|
|
return mockPostMsgViaHook(
|
|
testIFrame,
|
|
id,
|
|
'8:false:' + log + ':0:true:false:null:max:wheat:null:0:true:child:scroll',
|
|
callback
|
|
);
|
|
}
|
|
|
|
function spyOnPostMessage(target) {
|
|
spyOn(target, 'postMessage');
|
|
}
|
|
|
|
function spyOnWindowPostMessage() {
|
|
spyOnPostMessage(window.parent);
|
|
return window.parent.postMessage;
|
|
}
|
|
|
|
function spyOnIFramePostMessage(iframe) {
|
|
spyOnPostMessage(iframe.contentWindow);
|
|
}
|
|
|
|
function closeChild(window, done) {
|
|
window.parentIFrame.close();
|
|
done();
|
|
}
|
|
|
|
function strEnd(str, num) {
|
|
return str.substr(str.length - num);
|
|
}
|