From 7d5dfc0e1388d2bda137da863eb2e5a9fdbb950e Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 31 Aug 2015 16:34:15 -0400 Subject: [PATCH 1/4] Refactored ViewportQuadSpec --- Specs/Scene/ViewportQuadSpec.js | 63 ++++++++++++--------------------- 1 file changed, 22 insertions(+), 41 deletions(-) diff --git a/Specs/Scene/ViewportQuadSpec.js b/Specs/Scene/ViewportQuadSpec.js index 66cd433a475b..2391d9a5eb28 100644 --- a/Specs/Scene/ViewportQuadSpec.js +++ b/Specs/Scene/ViewportQuadSpec.js @@ -7,11 +7,8 @@ defineSuite([ 'Renderer/ClearCommand', 'Renderer/Texture', 'Scene/Material', - 'Specs/createCamera', - 'Specs/createContext', - 'Specs/createFrameState', - 'Specs/pollToPromise', - 'Specs/render' + 'Specs/createScene', + 'Specs/pollToPromise' ], function( ViewportQuad, BoundingRectangle, @@ -20,44 +17,34 @@ defineSuite([ ClearCommand, Texture, Material, - createCamera, - createContext, - createFrameState, - pollToPromise, - render) { + createScene, + pollToPromise) { "use strict"; /*global jasmine,describe,xdescribe,it,xit,expect,beforeEach,afterEach,beforeAll,afterAll,spyOn*/ - var context; - var frameState; + var scene; var viewportQuad; - var us; var testImage; beforeAll(function() { - context = createContext(); - frameState = createFrameState(); - + scene = createScene(); return loadImage('./Data/Images/Red16x16.png').then(function(image) { testImage = image; }); }); afterAll(function() { - context.destroyForSpecs(); + scene.destroyForSpecs(); }); beforeEach(function() { viewportQuad = new ViewportQuad(); viewportQuad.rectangle = new BoundingRectangle(0, 0, 2, 2); - - us = context.uniformState; - us.update(context, createFrameState(createCamera())); + scene.primitives.add(viewportQuad); }); afterEach(function() { - viewportQuad = viewportQuad && viewportQuad.destroy(); - us = undefined; + scene.primitives.removeAll(); }); it('constructs with a rectangle', function() { @@ -77,42 +64,39 @@ defineSuite([ new Color(1.0, 1.0, 1.0, 1.0)); }); - it('throws when rendered with without a rectangle', function() { + it('throws when rendered without a rectangle', function() { viewportQuad.rectangle = undefined; expect(function() { - render(context, frameState, viewportQuad); + scene.renderForSpecs(); }).toThrowDeveloperError(); }); - it('throws when rendered with without a material', function() { + it('throws when rendered without a material', function() { viewportQuad.material = undefined; expect(function() { - render(context, frameState, viewportQuad); + scene.renderForSpecs(); }).toThrowDeveloperError(); }); it('does not render when show is false', function() { - ClearCommand.ALL.execute(context); - expect(context.readPixels()).toEqual([0, 0, 0, 0]); + ClearCommand.ALL.execute(scene.context); + expect(scene.context.readPixels()).toEqual([0, 0, 0, 255]); viewportQuad.show = false; - render(context, frameState, viewportQuad); - expect(context.readPixels()).toEqual([0, 0, 0, 0]); + expect(scene.renderForSpecs()).toEqual([0, 0, 0, 255]); }); it('renders material', function() { - ClearCommand.ALL.execute(context); - expect(context.readPixels()).toEqual([0, 0, 0, 0]); - - render(context, frameState, viewportQuad); - expect(context.readPixels()).not.toEqual([0, 0, 0, 0]); + ClearCommand.ALL.execute(scene.context); + expect(scene.context.readPixels()).toEqual([0, 0, 0, 255]); + expect(scene.renderForSpecs()).not.toEqual([0, 0, 0, 255]); }); it('renders user created texture', function() { var texture = new Texture({ - context : context, + context : scene.context, source : testImage }); @@ -122,11 +106,8 @@ defineSuite([ pollToPromise(function() { return viewportQuad.material._loadedImages.length !== 0; }).then(function() { - ClearCommand.ALL.execute(context); - expect(context.readPixels()).toEqual([0, 0, 0, 0]); - - render(context, frameState, viewportQuad); - expect(context.readPixels()).toEqual([255, 0, 0, 255]); + expect(scene.context.readPixels()).toEqual([0, 0, 0, 0]); + expect(scene.renderForSpecs()).toEqual([255, 0, 0, 255]); }); }); From d9d1326fb5efc2032639b478be6c288d67917d53 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 31 Aug 2015 17:21:06 -0400 Subject: [PATCH 2/4] Small fix --- Specs/Scene/ViewportQuadSpec.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Specs/Scene/ViewportQuadSpec.js b/Specs/Scene/ViewportQuadSpec.js index 2391d9a5eb28..fefee6cf1631 100644 --- a/Specs/Scene/ViewportQuadSpec.js +++ b/Specs/Scene/ViewportQuadSpec.js @@ -106,7 +106,8 @@ defineSuite([ pollToPromise(function() { return viewportQuad.material._loadedImages.length !== 0; }).then(function() { - expect(scene.context.readPixels()).toEqual([0, 0, 0, 0]); + ClearCommand.ALL.execute(scene.context); + expect(scene.context.readPixels()).toEqual([0, 0, 0, 255]); expect(scene.renderForSpecs()).toEqual([255, 0, 0, 255]); }); }); From d21069b134d29fa960769d68980810425639d01a Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 31 Aug 2015 17:39:32 -0400 Subject: [PATCH 3/4] Removed clear commands --- Specs/Scene/ViewportQuadSpec.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Specs/Scene/ViewportQuadSpec.js b/Specs/Scene/ViewportQuadSpec.js index fefee6cf1631..938c295835e6 100644 --- a/Specs/Scene/ViewportQuadSpec.js +++ b/Specs/Scene/ViewportQuadSpec.js @@ -40,7 +40,6 @@ defineSuite([ beforeEach(function() { viewportQuad = new ViewportQuad(); viewportQuad.rectangle = new BoundingRectangle(0, 0, 2, 2); - scene.primitives.add(viewportQuad); }); afterEach(function() { @@ -68,6 +67,7 @@ defineSuite([ viewportQuad.rectangle = undefined; expect(function() { + scene.primitives.add(viewportQuad); scene.renderForSpecs(); }).toThrowDeveloperError(); }); @@ -76,21 +76,21 @@ defineSuite([ viewportQuad.material = undefined; expect(function() { + scene.primitives.add(viewportQuad); scene.renderForSpecs(); }).toThrowDeveloperError(); }); it('does not render when show is false', function() { - ClearCommand.ALL.execute(scene.context); - expect(scene.context.readPixels()).toEqual([0, 0, 0, 255]); - viewportQuad.show = false; expect(scene.renderForSpecs()).toEqual([0, 0, 0, 255]); + scene.primitives.add(viewportQuad); + expect(scene.renderForSpecs()).toEqual([0, 0, 0, 255]); }); it('renders material', function() { - ClearCommand.ALL.execute(scene.context); - expect(scene.context.readPixels()).toEqual([0, 0, 0, 255]); + expect(scene.renderForSpecs()).toEqual([0, 0, 0, 255]); + scene.primitives.add(viewportQuad); expect(scene.renderForSpecs()).not.toEqual([0, 0, 0, 255]); }); @@ -106,8 +106,8 @@ defineSuite([ pollToPromise(function() { return viewportQuad.material._loadedImages.length !== 0; }).then(function() { - ClearCommand.ALL.execute(scene.context); - expect(scene.context.readPixels()).toEqual([0, 0, 0, 255]); + expect(scene.renderForSpecs()).toEqual([0, 0, 0, 255]); + scene.primitives.add(viewportQuad); expect(scene.renderForSpecs()).toEqual([255, 0, 0, 255]); }); }); From ab5833d456000e57494c2db291b34c31e8206b45 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 31 Aug 2015 18:06:42 -0400 Subject: [PATCH 4/4] Small fix --- Specs/Scene/ViewportQuadSpec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Specs/Scene/ViewportQuadSpec.js b/Specs/Scene/ViewportQuadSpec.js index 938c295835e6..a60a714140a4 100644 --- a/Specs/Scene/ViewportQuadSpec.js +++ b/Specs/Scene/ViewportQuadSpec.js @@ -65,18 +65,18 @@ defineSuite([ it('throws when rendered without a rectangle', function() { viewportQuad.rectangle = undefined; + scene.primitives.add(viewportQuad); expect(function() { - scene.primitives.add(viewportQuad); scene.renderForSpecs(); }).toThrowDeveloperError(); }); it('throws when rendered without a material', function() { viewportQuad.material = undefined; + scene.primitives.add(viewportQuad); expect(function() { - scene.primitives.add(viewportQuad); scene.renderForSpecs(); }).toThrowDeveloperError(); });