From bfcfa0127db7c392dc2a307e1591846d47e03439 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 6 Nov 2014 19:44:34 -0800 Subject: [PATCH] [Framework] Spec for FrameworkInitializer Complete specs for initial implementation of framework layer, WTD-518. --- .../test/FrameworkInitializerSpec.js | 44 +++++++++++++++++-- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/platform/framework/test/FrameworkInitializerSpec.js b/platform/framework/test/FrameworkInitializerSpec.js index 95c525591d..6dbbd4b618 100644 --- a/platform/framework/test/FrameworkInitializerSpec.js +++ b/platform/framework/test/FrameworkInitializerSpec.js @@ -1,14 +1,50 @@ -/*global define,Promise,describe,it,expect,beforeEach*/ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,runs*/ /** * FrameworkInitializerSpec. Created by vwoeltje on 11/6/14. */ define( - [], - function () { + ["../src/FrameworkInitializer"], + function (FrameworkInitializer) { "use strict"; - describe("", function () { + describe("The framework initializer", function () { + var initializer; + + function appender(name) { + return function (value) { + return Promise.resolve(value.concat([name])); + }; + } + + beforeEach(function () { + initializer = new FrameworkInitializer( + { loadBundles: appender("loader") }, + { resolveBundles: appender("resolver") }, + { registerExtensions: appender("registrar") }, + { bootstrap: appender("bootstrapper")} + ); + }); + + // Really just delegates work, can only verify the + // order of calls. + it("calls injected stages in order", function () { + var result; + + initializer.runApplication([]).then(function (v) { result = v; }); + + waitsFor( + function () { return result !== undefined; }, + "promise resolution", + 250 + ); + + runs(function () { + expect(result).toEqual( + ["loader", "resolver", "registrar", "bootstrapper"] + ); + }); + }); }); }