kopia lustrzana https://github.com/c9/core
105 wiersze
3.6 KiB
JavaScript
105 wiersze
3.6 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",
|
|
|
|
// Mock plugins
|
|
{
|
|
consumes: [],
|
|
provides: ["c9"],
|
|
setup: expect.html.mocked
|
|
},
|
|
{
|
|
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();
|
|
});
|
|
}
|
|
});
|
|
|
|
onload && onload();
|
|
}
|
|
}); |