Wordpress/tests/qunit/editor/tinymce/ui/TabPanel.js

134 lines
3.3 KiB
JavaScript

(function() {
module("tinymce.ui.TabPanel", {
setup: function() {
document.getElementById('view').innerHTML = '';
},
teardown: function() {
tinymce.dom.Event.clean(document.getElementById('view'));
}
});
function createTabPanel(settings) {
return tinymce.ui.Factory.create(tinymce.extend({
type: 'tabpanel',
items: [
{title: 'a', type: 'spacer', classes: 'red'},
{title: 'b', type: 'spacer', classes: 'green'},
{title: 'c', type: 'spacer', classes: 'blue'}
]
}, settings)).renderTo(document.getElementById('view')).reflow();
}
test("panel width: 100, height: 100", function() {
var panel = createTabPanel({
width: 100,
height: 100,
layout: 'fit'
});
deepEqual(Utils.rect(panel), [0, 0, 100, 100]);
Utils.nearlyEqualRects(Utils.rect(panel.items()[0]), [0, 31, 100, 69], 4);
});
test("panel width: 100, height: 100, border: 1", function() {
var panel = createTabPanel({
width: 100,
height: 100,
border: 1,
layout: 'fit'
});
deepEqual(Utils.rect(panel), [0, 0, 100, 100]);
Utils.nearlyEqualRects(Utils.rect(panel.items()[0]), [0, 31, 100, 69], 4);
});
test("panel width: 100, height: 100, activeTab: 1", function() {
var panel = createTabPanel({
width: 100,
height: 100,
activeTab: 1,
layout: 'fit'
});
deepEqual(Utils.rect(panel), [0, 0, 100, 100]);
Utils.nearlyEqualRects(Utils.rect(panel.items()[1]), [0, 31, 100, 69], 4);
});
test("panel width: auto, height: auto, mixed sized widgets", function() {
var panel = createTabPanel({
items: [
{title: 'a', type: 'spacer', classes: 'red', style: 'width: 100px; height: 100px'},
{title: 'b', type: 'spacer', classes: 'green', style: 'width: 70px; height: 70px'},
{title: 'c', type: 'spacer', classes: 'blue', style: 'width: 120px; height: 120px'}
]
});
Utils.nearlyEqualRects(Utils.rect(panel), [0, 0, 120, 151], 4);
Utils.nearlyEqualRects(Utils.rect(panel.items()[0]), [0, 31, 120, 120], 4);
panel.activateTab(1);
Utils.nearlyEqualRects(Utils.rect(panel.items()[1]), [0, 31, 120, 120], 4);
panel.activateTab(2);
Utils.nearlyEqualRects(Utils.rect(panel.items()[2]), [0, 31, 120, 120], 4);
});
test("panel width: auto, height: auto, mixed sized containers", function() {
var panel = createTabPanel({
items: [
{
title: 'a',
type: 'panel',
layout: 'flex',
align: 'stretch',
items: {
type: 'spacer',
classes: 'red',
flex: 1,
minWidth: 100,
minHeight: 100
}
},
{
title: 'b',
type: 'panel',
layout: 'flex',
align: 'stretch',
items: {
type: 'spacer',
flex: 1,
classes: 'green',
minWidth: 70,
minHeight: 70
}
},
{
title: 'c',
type: 'panel',
layout: 'flex',
align: 'stretch',
items: {
type: 'spacer',
classes: 'blue',
flex: 1,
minWidth: 120,
minHeight: 120
}
}
]
});
Utils.nearlyEqualRects(Utils.rect(panel), [0, 0, 120, 151], 4);
Utils.nearlyEqualRects(Utils.rect(panel.items()[0]), [0, 31, 120, 120], 4);
panel.activateTab(1);
Utils.nearlyEqualRects(Utils.rect(panel.items()[1]), [0, 31, 120, 120], 4);
panel.activateTab(2);
Utils.nearlyEqualRects(Utils.rect(panel.items()[2]), [0, 31, 120, 120], 4);
});
})();