UNPKG

4.39 kBJavaScriptView Raw
1'use strict';
2
3import FluxViewport from '../src/FluxViewport.js';
4import viewportState from './viewportState.json';
5
6// This is a stub
7var domElement = document.createElement();
8
9export function focusViewport(t) {
10 var sphere = {"origin":[0,0,0],"primitive":"sphere","radius":10};
11 var viewport = new FluxViewport(domElement, {width:100,height:100});
12 viewport.setGeometryEntity(sphere).then(function () {
13 t.ok(viewport._renderer._model, 'Viewport should create a model');
14 t.end();
15 }, function (errors) {
16 t.fail('Caught an error: '+ errors);
17 t.end();
18 });
19}
20
21export function replaceGeom(t) {
22 var sphere = {"origin":[0,0,0],"primitive":"sphere","radius":10};
23 var sphere2 = {"origin":[0,0,0],"primitive":"sphere","radius":2};
24 var viewport = new FluxViewport(domElement, {width:100,height:100});
25 viewport.setGeometryEntity(sphere).then(function () {
26 t.ok(viewport._renderer._model, 'Viewport should create a model');
27 viewport.setGeometryEntity(sphere2).then(function () {
28 t.ok(viewport._renderer._model, 'Viewport should create a model');
29 t.end();
30 }, function (errors) {
31 t.fail('Caught an error: '+ errors);
32 t.end();
33 });
34 }, function (errors) {
35 t.fail('Caught an error: '+ errors);
36 t.end();
37 });
38}
39
40export function viewportToJson(t) {
41 var sphere = {"origin":[0,0,0],"primitive":"sphere","radius":10};
42 var viewport = new FluxViewport(domElement, {width:100,height:100});
43 viewport.setGeometryEntity(sphere).then(function () {
44 var viewportString = JSON.stringify(viewport.toJSON());
45 var keywords = ['entities', 'view', 'cameras'];
46 for (var i=0;i<keywords.length;i++) {
47 t.ok(viewportString.toLocaleLowerCase().indexOf(keywords[i])!==-1, 'JSON should contain '+keywords[i]);
48 }
49 t.end();
50 }, function (errors) {
51 t.fail('Caught an error: '+ errors);
52 t.end();
53 });
54}
55
56export function viewportFromJson(t) {
57 var viewport = new FluxViewport(domElement, {width:100,height:100});
58 viewport.fromJSON(viewportState).then( function() {
59 t.equal(viewport._entities.primitive, 'sphere', 'Should get a sphere from JSON');
60 t.end();
61 }, function (errors) {
62 t.fail('Caught an error: '+ errors);
63 t.end();
64 });
65}
66
67export function initControls(t) {
68 var updated = false;
69 var viewport = new FluxViewport(domElement);
70 viewport.addEventListener(FluxViewport.getChangeEvent(), function() {
71 updated = true;
72 });
73 var sphere = {"origin":[0,0,0],"primitive":"sphere","radius":10};
74 viewport.setGeometryEntity(sphere).then(function () {
75 viewport.focus();
76 t.ok(updated, 'Update should fire.');
77 t.end();
78 }, function (errors) {
79 t.fail('Caught an error: '+ errors);
80 t.end();
81 });
82}
83
84export function hideHelpers(t) {
85 var viewport = new FluxViewport(domElement, {width:100,height:100});
86 viewport.setHelpersVisible(false);
87 t.equal(viewport._renderer._helpersScene.visible, false, "Should not be visible");
88 t.end();
89}
90
91export function setAlpha(t) {
92 var sphere = {"origin":[0,0,0],"primitive":"sphere","radius":10};
93 var viewport = new FluxViewport(domElement, {width:100,height:100});
94 viewport.setGeometryEntity(sphere).then(function () {
95 t.ok(viewport._renderer._model, 'Viewport should create a model');
96 viewport.setClearColor('white', 0.5);
97 viewport.render();
98 t.equal(viewport._renderer._context.renderer.getClearAlpha(), 0.5, "Alpha can be set");
99 t.end();
100 }, function (errors) {
101 t.fail('Caught an error: '+ errors);
102 t.end();
103 });
104}
105
106export function viewportSelection(t) {
107 var sphere = {"origin":[0,0,0],"primitive":"sphere","radius":10,"id":"mySphere"};
108 var viewport = new FluxViewport(domElement, {width:100,height:100,
109 selection: FluxViewport.getSelectionModes().HOVER});
110 viewport.setGeometryEntity(sphere).then(function () {
111 t.equal(viewport.getSelection().length,0,"Selection starts empty");
112 viewport.setSelection(['mySphere']);
113 t.deepEqual(viewport.getSelection(),['mySphere'],"Selection has id");
114 t.end();
115 }).catch(function (errors) {
116 t.fail('Caught an error: '+ errors);
117 t.end();
118 });
119}