Add application.removeWindow, window.close, and fixes for using an empty config

This commit is contained in:
Joshua Granick
2015-01-29 15:34:18 -08:00
parent d1159824bd
commit 05ce36188b
14 changed files with 255 additions and 59 deletions

View File

@@ -12,13 +12,6 @@ class WindowTest {
private var app:Application;
public function new () {
}
@BeforeClass public function beforeClass ():Void {
app = new Application ();
@@ -27,31 +20,158 @@ class WindowTest {
}
@Test public function addWindow ():Void {
@Test public function createEmptyWindow ():Void {
Assert.isNull (app.window);
Assert.areEqual (0, app.windows.length);
var window = new Window ();
Assert.isNull (window.currentRenderer);
Assert.isNull (window.config);
Assert.isFalse (window.fullscreen);
Assert.areEqual (0, window.height);
Assert.areEqual (0, window.width);
Assert.areEqual (0, window.x);
Assert.areEqual (0, window.y);
app.addWindow (window);
Assert.isNotNull (app.window);
Assert.areEqual (1, app.windows.length);
Assert.areEqual (window, app.window);
Assert.areEqual (window, app.windows[0]);
Assert.isNull (window.currentRenderer);
Assert.isNull (window.config);
//Assert.areEqual (0, window.width);
//Assert.areEqual (0, window.height);
#if !html5
// TODO: standardize the behavior of a 0 x 0 window
Assert.isFalse (window.fullscreen);
Assert.areEqual (0, window.height);
Assert.areEqual (0, window.width);
Assert.areEqual (0, window.x);
Assert.areEqual (0, window.y);
#end
app.removeWindow (window);
Assert.isNull (app.window);
Assert.areEqual (0, app.windows.length);
}
@Test public function createBasicWindow ():Void {
Assert.isNull (app.window);
Assert.areEqual (0, app.windows.length);
var window = new Window ();
window.width = 400;
window.height = 300;
Assert.isNull (window.currentRenderer);
Assert.isNull (window.config);
Assert.isFalse (window.fullscreen);
Assert.areEqual (300, window.height);
Assert.areEqual (400, window.width);
Assert.areEqual (0, window.x);
Assert.areEqual (0, window.y);
app.addWindow (window);
Assert.isNull (window.currentRenderer);
Assert.isNull (window.config);
Assert.isFalse (window.fullscreen);
Assert.areEqual (300, window.height);
Assert.areEqual (400, window.width);
Assert.areEqual (0, window.x);
Assert.areEqual (0, window.y);
app.removeWindow (window);
Assert.isNull (app.window);
Assert.areEqual (0, app.windows.length);
}
@Test public function createEmptyWindowFromConfig ():Void {
Assert.isNull (app.window);
Assert.areEqual (0, app.windows.length);
var config = {};
var window = new Window (config);
Assert.isNull (window.currentRenderer);
Assert.areEqual (config, window.config);
Assert.isFalse (window.fullscreen);
Assert.areEqual (0, window.height);
Assert.areEqual (0, window.width);
Assert.areEqual (0, window.x);
Assert.areEqual (0, window.y);
app.addWindow (window);
Assert.isNull (window.currentRenderer);
Assert.areEqual (config, window.config);
#if !html5
Assert.isFalse (window.fullscreen);
Assert.areEqual (0, window.height);
Assert.areEqual (0, window.width);
Assert.areEqual (0, window.x);
Assert.areEqual (0, window.y);
#end
app.removeWindow (window);
Assert.isNull (app.window);
Assert.areEqual (0, app.windows.length);
}
@Test public function createBasicWindowFromConfig ():Void {
Assert.isNull (app.window);
Assert.areEqual (0, app.windows.length);
var config = { width: 400, height: 300 };
var window = new Window (config);
Assert.isNull (window.currentRenderer);
Assert.areEqual (config, window.config);
Assert.isFalse (window.fullscreen);
Assert.areEqual (300, window.height);
Assert.areEqual (400, window.width);
Assert.areEqual (0, window.x);
Assert.areEqual (0, window.y);
app.addWindow (window);
Assert.isNull (window.currentRenderer);
Assert.areEqual (config, window.config);
Assert.isFalse (window.fullscreen);
Assert.areEqual (300, window.height);
Assert.areEqual (400, window.width);
Assert.areEqual (0, window.x);
Assert.areEqual (0, window.y);
app.removeWindow (window);
Assert.isNull (app.window);
Assert.areEqual (0, app.windows.length);
}
@AfterClass public function afterClass ():Void {
// shutdown
//app = new Application ();
//app.create (null);
app = null;
}