enyo.kind({
	name: "AnimatorTest",
	kind: enyo.TestSuite,
	noDefer: true,
	testDeferLowPriorityTasks: function() {
		var finish = this.bindSafely("finish");
		var animation = new enyo.Animator({duration: 70});
		var c = new enyo.Component({
			executionOrder: [],
			executeHighPriorityJob: function() {
				this.executionOrder.push("high");
				this.high = true;
			},
			executeNormalPriorityJob: function() {
				this.executionOrder.push("normal");
				this.normal = true;
			},
			executeLowPriorityJob: function() {
				this.executionOrder.push("low");
				this.low = true;
			}
		});
		animation.play();

		c.startJob("LowPriorityJob", "executeLowPriorityJob", 1, 3); // gets deferred
		c.startJob("NormalPriorityJob", "executeNormalPriorityJob", 1); // is invoked immediately
		c.startJob("HighPriorityJob", "executeHighPriorityJob", 1, 8); // is invoked immediately

		setTimeout(function(){
			if(c.low){
				finish("low priority job execute despite being blocked by animation");
			}
			if(!c.normal){
				finish("normal priority job did not execute despite overriding priority");
			}
			if(!c.high){
				finish("high priority job did not execute despite overriding priority");
			}
		}, 10);

		setTimeout(function(){
			if(!c.low){
				finish("low priority job did not execute after animation has finished");
			} else {
				// check order of execution
				if( JSON.stringify(c.executionOrder) !== '["normal","high","low"]' ){
					finish("jobs did not execute in the correct order");
				}

				finish();
			}
		}, 90);
	}
});

@@ -1530,12 +1530,756 @@
 90);%0A%09%7D%0A%7D);%0A
+%0A//~ Test issue described in https://github.com/enyojs/enyo/commit/d76bca80195adedca4de61f197d7b452efe78b8c#commitcomment-4082791%0A//~ and fixed in https://github.com/enyojs/enyo/pull/449%0Aenyo.kind(%7B%0A%09name: %22AnimatorStartupTest%22,%0A%09kind: enyo.TestSuite,%0A%09noDefer: true,%0A%09create: function()%7B%0A%09%09this.inherited(arguments);%0A%0A%09%09var animation = new enyo.Animator(%7Bduration: 50%7D);%0A%09%09animation.play();%0A%0A%09%09this.c = new enyo.Component(%7B%0A%09%09%09counter: 0,%0A%09%09%09executeStartUpJob: function()%7B%0A%09%09%09%09this.counter++;%0A%09%09%09%7D%0A%09%09%7D);%0A%09%09this.c.startJob(%22startupjob%22, %22executeStartUpJob%22, 1, 1);%0A%09%7D,%0A%09testStartUpjobs: function() %7B%0A%09%09setTimeout(function()%7B%0A%09%09%09this.finish(this.c.counter ? %22%22 : %22Job didn't run even though the animation finished%22);%0A%09%09%7D.bind(this), 60);%0A%09%7D%0A%7D);%0A

Add unit test for pull request #449