c9-core/plugins/c9.ide.ui/docklayout_test.js

99 wiersze
3.5 KiB
JavaScript

/*global describe, it, before, expect, after, bar */
"use client";
require(["lib/architect/architect", "lib/chai/chai"], function (architect, chai) {
var expect = chai.expect;
expect.setupArchitectTest([
"plugins/c9.core/ext",
"plugins/c9.core/util",
"plugins/c9.ide.ui/docklayout",
{
consumes: ["DockableLayout", "DockableWidget", "DockableAbsoluteRenderer"],
provides: [],
setup: main
}
], architect);
function main(options, imports, register) {
var DockableLayout = imports.DockableLayout;
var DockableWidget = imports.DockableWidget;
var DockableAbsoluteRenderer = imports.DockableAbsoluteRenderer;
expect.html.setConstructor(function(aml) {
if (typeof aml == "object")
return aml.$ext;
});
function countEvents(count, expected, done) {
if (count == expected)
done();
else
throw new Error("Wrong Event Count: "
+ count + " of " + expected);
}
var container;
describe('DockableLayout', function() {
before(function() {
container = document.createElement("div");
document.body.appendChild(container);
container.style.position = "absolute";
container.style.left = "20px";
container.style.right = "20px";
container.style.top = "20px";
container.style.bottom = "20px";
// container.style.height = "500px";
container.style.backgroundColor = "rgba(0,0,0,0.1)";
// container.onmousedown = function(e) {
// var x = e.x;
// document.onmousemove = function(e) {
// container.style.width = (e.x - (x - e.x) - 20) + "px";
// layout.resize();
// }
// }
});
var layout = "";
describe("Basic Layout", function() {
it('should add widgets to the layout', function(done) {
layout = new DockableLayout("Ajax.org", [], {
parent: container,
renderer: new DockableAbsoluteRenderer()
});
layout.load("DockLayout1");
layout.columns = "200px, 1, 100px";
layout.rows = "50px, 100px, 1, 1";
layout.edge = "10 10 10 10"; // "20 30 40 50";
layout.padding = 5;
layout.add(new DockableWidget("", []), 0, 0, 1, 3);
layout.add(new DockableWidget("", []), 0, 3, 3, 1);
layout.add(new DockableWidget("", []), 1, 0, 2, 1);
layout.add(new DockableWidget("", []), 1, 1, 1, 1);
layout.add(new DockableWidget("", []), 1, 2, 1, 1);
layout.add(new DockableWidget("", []), 2, 1, 1, 2);
// done();
});
});
if (!onload.remain) {
after(function(done) {
document.body.style.marginBottom = "";
done();
});
}
});
register();
}
});