From 2c78cc99edfc1e923eb16a42b7d9c020ffc6797b Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Tue, 18 Apr 2017 17:17:49 -0400 Subject: [PATCH] Tests --- Source/Scene/Batched3DModel3DTileContent.js | 1 - Source/Scene/Cesium3DTileContent.js | 14 +- Source/Scene/Cesium3DTileset.js | 2 +- Source/Scene/Composite3DTileContent.js | 12 +- Source/Scene/Empty3DTileContent.js | 23 +-- Source/Scene/Model.js | 2 +- Source/Scene/Tileset3DTileContent.js | 3 +- Specs/Cesium3DTilesTester.js | 49 +---- .../Tilesets/TilesetInvalid/lr.b3dm | Bin 14833 -> 0 bytes .../Tilesets/TilesetInvalid/tileset.json | 104 ----------- .../Tilesets/TilesetInvalid/ul.b3dm | Bin 14813 -> 0 bytes .../Tilesets/TilesetInvalid/ur.b3dm | Bin 14821 -> 0 bytes .../Scene/Batched3DModel3DTileContentSpec.js | 21 +-- ...iderSpec.js => Cesium3DTileContentSpec.js} | 22 ++- Specs/Scene/Cesium3DTileSpec.js | 20 +-- Specs/Scene/Cesium3DTilesetSpec.js | 168 +++++++----------- Specs/Scene/Composite3DTileContentSpec.js | 19 +- Specs/Scene/Empty3DTileContentSpec.js | 15 +- .../Instanced3DModel3DTileContentSpec.js | 49 +---- Specs/Scene/PointCloud3DTileContentSpec.js | 29 +-- Specs/Scene/Tileset3DTileContentSpec.js | 8 - .../Cesium3DTilesInspectorSpec.js | 12 +- 22 files changed, 129 insertions(+), 444 deletions(-) delete mode 100644 Specs/Data/Cesium3DTiles/Tilesets/TilesetInvalid/lr.b3dm delete mode 100644 Specs/Data/Cesium3DTiles/Tilesets/TilesetInvalid/tileset.json delete mode 100644 Specs/Data/Cesium3DTiles/Tilesets/TilesetInvalid/ul.b3dm delete mode 100644 Specs/Data/Cesium3DTiles/Tilesets/TilesetInvalid/ur.b3dm rename Specs/Scene/{Cesium3DTileProviderSpec.js => Cesium3DTileContentSpec.js} (58%) diff --git a/Source/Scene/Batched3DModel3DTileContent.js b/Source/Scene/Batched3DModel3DTileContent.js index 532c152b618d..68fab243dc29 100644 --- a/Source/Scene/Batched3DModel3DTileContent.js +++ b/Source/Scene/Batched3DModel3DTileContent.js @@ -386,7 +386,6 @@ define([ this._model.shadows = this._tileset.shadows; this._model.debugWireframe = this._tileset.debugWireframe; this._model.update(frameState); - frameState.addCommand = oldAddCommand; }; diff --git a/Source/Scene/Cesium3DTileContent.js b/Source/Scene/Cesium3DTileContent.js index 082040937664..c06afb803012 100644 --- a/Source/Scene/Cesium3DTileContent.js +++ b/Source/Scene/Cesium3DTileContent.js @@ -111,28 +111,28 @@ define([ }, /** - * Gets the tile's batch table memory in bytes. + * Gets the tile's texture memory in bytes. * * @memberof Cesium3DTileContent.prototype * * @type {Number} * @readonly */ - batchTableMemorySizeInBytes : { + textureMemorySizeInBytes : { get : function() { DeveloperError.throwInstantiationError(); } }, /** - * Gets the tile's texture memory in bytes. + * Gets the tile's batch table memory in bytes. * * @memberof Cesium3DTileContent.prototype * * @type {Number} * @readonly */ - textureMemorySizeInBytes : { + batchTableMemorySizeInBytes : { get : function() { DeveloperError.throwInstantiationError(); } @@ -142,7 +142,7 @@ define([ * Gets the array of {@link Cesium3DTileContent} objects that represent the * content a composite's inner tiles, which can also be composites. * - * @memberof Composite3DTileContent.prototype + * @memberof Cesium3DTileContent.prototype * * @type {Array} * @readonly @@ -156,10 +156,10 @@ define([ /** * Gets the promise that will be resolved when the tile's content is ready to render. * + * @memberof Cesium3DTileContent.prototype + * * @type {Promise.} * @readonly - * - * @private */ readyPromise : { get : function() { diff --git a/Source/Scene/Cesium3DTileset.js b/Source/Scene/Cesium3DTileset.js index 60e65fbfc3c7..c4a120e74ddd 100644 --- a/Source/Scene/Cesium3DTileset.js +++ b/Source/Scene/Cesium3DTileset.js @@ -1515,7 +1515,7 @@ define([ function selectionHeuristic(tileset, ancestor, tile) { var skipLevels = tileset.skipLODs ? tileset._skipLevels : 0; var skipSSEFactor = tileset.skipLODs ? tileset.skipSSEFactor : 0.1; - return (ancestor !== tile && tile.hasRenderableContent && !tileset.immediatelyLoadDesiredLOD) && + return (ancestor !== tile && !tile.hasEmptyContent && !tileset.immediatelyLoadDesiredLOD) && (tile._sse < ancestor._sse / skipSSEFactor) && (tile._depth > ancestor._depth + skipLevels); } diff --git a/Source/Scene/Composite3DTileContent.js b/Source/Scene/Composite3DTileContent.js index 3542dcde479a..d58dc192a44c 100644 --- a/Source/Scene/Composite3DTileContent.js +++ b/Source/Scene/Composite3DTileContent.js @@ -10,8 +10,7 @@ define([ '../Core/Request', '../Core/RequestScheduler', '../Core/RequestType', - '../ThirdParty/when', - './Cesium3DTileContentState' + '../ThirdParty/when' ], function( defaultValue, defined, @@ -23,8 +22,7 @@ define([ Request, RequestScheduler, RequestType, - when, - Cesium3DTileContentState) { + when) { 'use strict'; /** @@ -206,7 +204,7 @@ define([ if (defined(contentFactory)) { var innerContent = contentFactory(content._tileset, content._tile, content._url, arrayBuffer, byteOffset); content._contents.push(innerContent); - contentPromises.push(content.readyPromise); + contentPromises.push(innerContent.readyPromise); } else { throw new DeveloperError('Unknown tile content type, ' + tileType + ', inside Composite tile'); } @@ -235,11 +233,11 @@ define([ /** * Part of the {@link Cesium3DTileContent} interface. */ - Composite3DTileContent.prototype.update = function(tileset, context, frameState, commandList) { + Composite3DTileContent.prototype.update = function(tileset, frameState) { var contents = this._contents; var length = contents.length; for (var i = 0; i < length; ++i) { - contents[i].update(tileset, context, frameState, commandList); + contents[i].update(tileset, frameState); } }; diff --git a/Source/Scene/Empty3DTileContent.js b/Source/Scene/Empty3DTileContent.js index 350558131e02..724647d2a81e 100644 --- a/Source/Scene/Empty3DTileContent.js +++ b/Source/Scene/Empty3DTileContent.js @@ -89,21 +89,12 @@ define([ } }, - /** - * Part of the {@link Cesium3DTileContent} interface. - */ - contentReadyToProcessPromise : { - get : function() { - return this._contentReadyToProcessPromise.promise; - } - }, - /** * Part of the {@link Cesium3DTileContent} interface. */ readyPromise : { get : function() { - return this._readyPromise.promise; + return undefined; } } }); @@ -124,18 +115,6 @@ define([ return undefined; }; - /** - * Part of the {@link Cesium3DTileContent} interface. - */ - Empty3DTileContent.prototype.request = function() { - }; - - /** - * Part of the {@link Cesium3DTileContent} interface. - */ - Empty3DTileContent.prototype.initialize = function(arrayBuffer, byteOffset) { - }; - /** * Part of the {@link Cesium3DTileContent} interface. */ diff --git a/Source/Scene/Model.js b/Source/Scene/Model.js index 8f6360e91f1b..c9b233c6e031 100644 --- a/Source/Scene/Model.js +++ b/Source/Scene/Model.js @@ -4290,7 +4290,7 @@ define([ var extensionsUsed = model.gltf.extensionsUsed; if (defined(extensionsUsed)) { var extensionsUsedCount = extensionsUsed.length; - for (var index=0;indexwLhYQA}X~$_hlTnfRpjJ|7OCHnMr~~LV`&^Y=m?&`6U^hCC(Co2*oND zQSlX*s?drH;@*laRcb@#SG6i`bzkdJw`!|h-s?x-r}*Bvcjo@)Ocs)0-}{5l%fP+o zckVgg`@QF$dw#!xU)t36_+9|;S3kfJ*t4IN zUU#(JUC|tjs%ny=3!QHIRY_O;rr&UUb)PP4eqF*5S=gCApNTg3QH08n z6;o9-#iwZwoGJT!x@pLUU)O}4X3DbPXX>VDI(8b;MH<-hHH9-`Ns`w<;<``45l{X? zLua-QzbvT*m9FBC-=`bMs-QCbvS#26nrixlBaZqcT&@G9`*Ed);#V}y@ski*kr7wZa>J*HRlOOg)*g_|M!6q6ZgK24Ps-6#3{K26d*2&MUCQ#T|D*JYp? z`uSADkWJH&RD%W3`bS?c4>Qp)J>|O3E1Q}wnLdo8-|%5h>zY@Q z6v?k)hD$z4(r~ll;Ux&*Q!xalruq#@_NjO@Jf`fGCCS7LR22oIsdy03lr;P?Fw5~c zDT|hSimOi~Q}J+YENfTrQ2vXSFL~Jl@$}+0`tfM9^-H+TvTn$_pOMyj5Yl z>a0X(rii3)uWb6j?1r7Rlh`%P#S?fwb`+!jg0#^Zde#aU!Q=*Z8`x zG%MKy1|vKWaI^vOnQ|$hAMa#r53MB`E5WiYJwI)+MzJ?q{q>S0Z{r7Sq=4$Sj+C!m%v(cZcI`QM?i1 zq>`82{quiioTEM3(UDD~YYSEz_CcK$kEZj-0w34dhbhzDRwNq><58l@u4p2fz&j|v z;bl_cM7leivJ#P{n9IxAs^eC=E6;&REUCIv(Ky~+dziKb&shfVm~Gii-e_J!Q*Co? zLp?5K@ZH$su5W0Z8?2*)g`1Vf-CVPV=Oew$JQZbkWSPe>AIb9k1y!-&iYT>k z$&H#sIL`Ld0mK^J6^*rHY!Q)9nhwXiV_3iP`H_xbtwV==kK4trIj6!%ue-pqr3lJ# zGMJdz6t~4-gcF!`?AfP)8$lkaaNz>WV`nNH=dcBtpEJ6LE$(pf`3dn_ogE6d;#84j zGS!ZI#74v(;Bq@s;m$Z_Xj50X-D2gsRKc^^N}<1FfEC%flz5R$b6-xbbkM21s&1%w zM=2?<^kA~|9C!|$G9?}X2Nni4IRnK9!g=U*r>%H6 zk%>ldn~No|b#6m-P2GapnzJ!C@;6G{F4JIuspNT9geB#W81ot%&aA28Rb!xMei=i0 zIn&kFFQ{p3s%dTv);D4KsVSLW$LXEoDQ@7%%V4~m+F3Gyn^Ig~t6JS$TUXOmT{~;m ze8fhtVs$NX!;xZ%9W+v`vto#Soj{+`nmb_7*;`CTLdq$!BwPktX<^q(tqV1Gpe@OS zQhQQ}g-?O2$dOWer#cgBmF0G!!eEv-wFYC9!5bk@EGrRiV~=Vr`0YdU;MZUNSei{l zJ1}>-MYeTN^6|P&(-9A5>)`wvoN~;rG@A<1DkK*hcM`=(8K!lz#K{+?EoMP6A(+0H z1I2XU`eFvS(~itWN;9A|A$W}_K6tSDRy=X+3hxqlP}xmNk#$+ty%K(ZR`I(tes?d| zOclS0%3l0e3QfVUl%_|+FZa4Cdv*M`2K@G@`xfC0F4xyRhXpIDzwUo){L%gQ9eQc- zhkyPJm%pm-4nDH!=Dw#szdkU{zcaAkt^4&edGlEx2I}6ORr%=4$LCIOX%Dtrrv#Y% z?8>^}f2E#`7X&pdmjTxmc2bkLsk z^>llOQo-fmgO&DEx1VnNUe@g7X-)R`Zqv9toDIdN^HO|@Lpe~+)P{1P_|%u;Q*M+4 z#Xqj+)Bba}y`8&j+N-&T%1-a!RR0o}Z;7__zt`87OZGjItDOV68>T+N<>w|$%I!br zfn3WIJ9BT9uj+4lXET@2s$buKb;G*c33L9C+y98eb2YzO&*kB4C_bH+;!_;TfpVrc zlmo@5z7(HwqZ}yyxz?t@fqy+H^j@qXv}#)kjAy5PBMyrJ*>?z~W-IvF@% z#>re>y#AEHMSn3u8z1(B?!Uhx_{@v|mnT1SVsOXh3qnU8H#@Xr%Jr4YrqAW_a5fa5 z&P(wr4&^{OQya>G;!|IWPq|SJ6#t}6+k$-)rrLiCO|zfg`1j!QhumDgrTnwtU4cXF zJ13lKe>_Yp*Q{NA6y$iVf<%6#WACJ77yYrfAd)`AE zgR{qd!R6s>C_bH+;!_;TfpVrclmo@5z7(HwqZ}yyb(MG8m&S9s6WU&z8QXZHJtMY- z%Ln{mgMD6bRc=M^X94Zxd+Y~7*K+xbihJx&zF3#r`Rq0QkFVcgZ~XicF1KHNvwhQL z<+)$i9U8dGb-!J)%e)8F~{@3)`Z zc10lj)jNUA$%j=kS-Wv_;FwE34`lAG3tlxl+yBy}+qt}KdQZRk$)>;|7rwZC#_^j2 zD;NKT%U>;D6u9u9j^J;Pcs;OU#e@BgF9x_goDIdN^HO|@Lpe~+)P{1P_|%u;Q*M+4 z#m~OeX+L?98T^wqHMDU29Q&ff=X3dqx9ja$D^>^nJEn&|+UL*)tW|CyUJ_wvv`BU`pJc{m%2 zPv@oh6o+!4oT&}vK=G+B#i!gT2a5mdb!$Txym@|T(UoV1o_y>_p&9GCxqS1u>q9LK zD?-)ruF!oiTp3z>!%{B))HyGtquK z+HXhu5#>?FgvM~hn9#V1n4D0(#);1eGLH$`IPuw)Jj$5R7>*bd8n^$e_^|&q6|ovY z=J6@mj41CZ@mcfoWlsK#AoG}@jgvpSlJ}JOjF2;xtVWGCXGC3M_IpZv=Gq@Q`7?sd z^9OC5{MnVfr^M&~^JnOLy{O5aSDtk8X9St&5862SvnzQ|$)9*;`F64h!Ru=oAWMRj8HZJ}O{ZKvwZK$mn6MkZh z^+SybJ258ggx_%ELNDxuAH@+m(F>n}HUdNFMKAQC7kbuTQC{E zjs0Xe6#fkk!}c&Z9DkSKNH_}Hqu^*b4vvLm;CSqh0T-MAZfxCfBAfyz!%1)|_9wwq zm;z;R8un%2fpYL->xI)n0vQx+6;Qzd9W*ep*T4sUsKB-Yrol{@0n?!p`{@vZAOxTa z`v6o!4a~xJ7MuaIp%%`>_Dq-q^)MIepaJ_jm3T<=)}Gqx*!VYVS65&4+)4v43gN#AO#mdH>9!e zh74q(2iqRF5SGAFScdH~=!F%q94>6SgX1EjXg1fQ38}5Po;Xb$*ev19Q@H2P-wqUyj9)zv%3-~$w z68oRSHh35wf?r|(5Ih3EhCXcjU_10f4s2{~_zgS`kHMqxTkIc&C*VnV3fre(2RsYU zz|-&?_D{nL@H==OUc~-+cnMyHSFn8rUWM1-b$A2YH{eb9J-iKX!8_Q$1@FRp@IJQh z!yn)y_z*sTkFoy%K7~KRC-52epTM8s&+s|6pTigQ5R6LR3&!>thbLt$pS|&1jpefs zp1rYr_Qf+hmd|)R-DCMoz&#d_&ijh4j#x6BaXGIdPMcU9>aijU zjuhW>nl=$%`i?}|o3XAg{Jog&y!W(;g?Elz@o+|S4SMNl(D=aDjYZyz;}XpjOh5cJtFrcFrYsNViA`bi6=#Yh zV@bBiVS&wKsu+Gl2;S(67zu)TlW zYv#+|>#V)jZ~yk%Yp-(#PHL38$RGfC+W`13_UxzWxOCs@_M25jQ>x2KrcJJz;vO%F zZ7%lH>JHVp$IlW4Nst9aPzA4`2|hs=jM;*_EEa7DC7bJlXfaOmD3ak5Mb&3`bwd}u zijdZ6x~k}^*N|jck~2D=WXOhBmVI7B;dVYzHbhkvWmS=gPBDC%VyLRY;S5FAL|O6q zG|k6#x`FtrxNG^Bq4L*(?v;>4aKW@xk~h^s)F+%c1DF%R7uuFRT8-sqp#~C8i@{;;YAeuRaNdM zX{t{XHPI(K8Wk-t9IDEZbe|#WKAcch94nt8BLP)IB`#q~Fx1eP#2t|&kEVGg9S41? zs!5_ENTLVvR0AjRDw-ing3p6HrlF1O)4g5{nV@-ms;)|sp{bhe#T_#|npZ_6pDsx{ znn;4~(G^KnMX#>N5-L@6k_;U5int_MMN{;WB@CZeQglrbb=)fC<5jH&h)ILeR} zP1g{^V4I>#v)dZNRg+kb8a{yH(|K+NYHNduL@b_gk8gGJi|VFWB9sipqD)!STwfoI z&jW8zB#iTVF_yJhF~-p z4RxMV0COpMDa1$Rp@p0LljTk^2O+!T-1qY+z6pecl2GlMmg%Wxpq5a(!$ z2P4hlWT+_|3f7t7rpADKd@|k~#G!Pxu&YT;C>n?_tY&qGVP--bh{pp9(^i@7Dhoy% zl8x-fD2s;RZjQ6L>jKHZc)`t9lr2DMSf?J*Y+$vC%$E)}NA_v_c#>k348$8)-BQ@O z%9*BG%I@dUapg?nbJ+Am6j{kd=E>mX%Te*wuC%c*vLx-wJiYL2oX9CTI=)xW%}Ttj zh>UPo!2SkA_er^cSeCGl=q)0|8jO)sx3ttu^_ zhD+&wCl=h($}6UtWppreqY~UzC07)cmsb?Cm}Gsij0^5+`{}c^m=5qPM2c8eL-+(h zM|q{q#vMmV)KMQ}cX+kUE;v!Vus0?iizTPoBdyFl9%6T6d?<51`L5$#D6fk;yr>sLBI617`L9cCl-lQ)Z;qonbjE3u@ye zF)^Ftwk-xD5XG!x&pjF3TI3NAWG=8gHpBxF8#W``=Zx;*EO#LL?1XsL&JG2tajM!_ zEMA9u#76iY;BxEZfrbcXXk}xdF38GtuENgdU>yA&1FXo-rDzw)gzamS%N=woFFqUM z7lPdKN)IMW&#vdtDO3FMuWMmolVjkz63&@a{%21ru}N{(#ML3bQ_j)1Bj8+h+aNr0 z*$o=+cAj&|UX90Gv7i5#j%*sMFFo!c-gz=l0mum}045EVE1L*AC}9@6shRW8>P`eB zfoL*Ri`$$nfz?yXi%ZI8l$OlI+(_Rjal3pP1B}P!1#4MS_J}dPqWsd5BD-pI^-M3L zM=xi((rGhFDk@8=D$Hq>Sbj=!ruX9XPVwY7aO9;iUQX@I8Nf}+uCH1tt|~1nsVpv? zH0g50Mz3sj&2ht#Y>DkQlC86Rh<%knpWK?;WzgAMOh!V=DY7J78e3^**K@5iHMgrR z$%I^cQi!=vhAYpJTzjWF6KjR#cBaB$mN>NrW0b@jp`BR4XrP8Ys?EZ09;zVYSN_@P z)Eo`fWA54(&DGtK&#v1v9nqt@dwz9KIcAreO_^wAl8cQyiQ=RT(>ht=>81M@L=^Vd*av?-X-v$vYV7F;Wu~Hga7>C)kPh@ zPYL5x{9Y()hDXP*)%b4Jol6^T;~>I|Y6Vm9*J7h3ktUAEj2^c%>EJcW!FI zsN#Z&BXnCf)D7+R`#(rEe{^ACz566<>Hf1UCV%UOv#n=}ewG?}%1CR{-?n!Y9nfrf zcjNh~SKhn7;CXp{>a%;tTE34bbuhU%8;VcorT7$wa-f{44dp=bsV~K++$aZ%e^>sk z{@-pJ+CFT$-+K1Bb^f_utt?=2{Y7{9xBu7mg**N<*qV6r&Hk;2C))DXQLFrO4}V(t z+M>1A!5z2z-`Ree$>eJ^mvvTCWwkAT=-+6avue3{ z`Plc&p?B}G&MlvB%d2nPXC2wI(%iZ8J~JY0vf3VBYs;_R@Sye1nupD$(Ukf5`)^p4 zkKS#|z1dKFIxoeiIFtkBOl>F!icfthKIKL^Q2f-0jn+TL{HE~TEt|~aS1z`MgKyjN zdw*DJJ$Txw=HM@%G~G|%Yn>PRq>#ybUw*_oa?f;g{z>)b>d#hLLly^Y`R_ly)!MkB z&3v??R?>}3D>y9;c2{SAeF&!*eVY2mZYB~Oj;M=x7u%WF2d{EyvK zZ%%$=SnAQF-+#x(<+gnD-Um2%ueVtrn#bGnmz}Gu6Bj()Q8G_3&l+*aI`gVk zDJBn_ddMnlyD?Qi=ZC2;j;ylU2mh*r$y1(RZ*3a&aN*{YHx$;5{>;kXJKUCgv!VEO zUW!j~CIP3f(ATR!{Bm8N@`Xbm}Z zFtuxy*PIKbw!E*!W&Y!ik5kiMSYwTN={mEu^Vha4-jXn%X&j#VZdtvxBXp+uX5MwS z+?x%>r}I*LibFY2&eVo-p!n36;!|#v1I6FDV^7N1vCTa6_!<7;ul~M$?{{|Ca)rLG z&6gIr{13GJIkn~WS8VxvzQNY!|2$$2fANSJT{$%6FZ#-s)sM~8!7-=$KY8RN z|JqxITC3p%Tkg$<;?sF4KE)AN}<@%m{y4p}%KF0m{ z80&i)<92+E+i}0%#<`x`aX*T~b-d?3U2Ql9*Ylq1dC&E%=RaKLV@%I=RPH)XZ73GC z`#Sz#7oT$CJUC`oj?}j6SWiA(ZF=(Oete8_pkrL7m|Vwwc+d6J_E_;bR&V}&jdMS4 zM>%mF=goVrr?wo2+HgCr<2~2+$Di9CD?az*ICM@bb34kB`*0oaxxPRC-1b=UxgW=& zb5fbxQI6b)>v+%g{qg6v$BNJWI1ZhY%G{1}+~Kes(reD23_=$usMc9bLc z;X2-PeSiG9?Xlty0`{u^ad14G2q(Z`I0^f~a59_%dD!N`sc;&63x>ey*bjj-;S3lG z-^P9@{2L5|v#>o2zJq@^a5kKS?KyBRjDYiCIE=)8IJn?^aAWI+3*dV&8b-nQu^$Cv zVGQKMh1lnV0OP=etp_dw5hReYl|cawyr6;)dlhsrU_7?tVFFBqOW>&f;A)6M1i}!*J`8b~4^5E3 zz6p}h3@zBUz%{S{7Q!NI7eOm5fi_qS*J8gIu7jnp4BKV!Be))Z49npL?3cp|xDkE= zE3y9xtb&{1W^8YUTi{msDXhkJHQWaO4!6S^Sd0A{xC7R~dTiIj2KX7=1$V+m?C*qo z;U2gfevbX!unB$v_hEY<+z$`HgRmLf&F~QX5*~qv;aAu{43ENN@Hn=Q!xOL-o`fy% z6!u%-Y1j_i;Mdr1gWte2(2i|8bU+F$=)|@YehWKc2RsYAuzwbI!*lRFw$H;0@Dl8S z7vW{>Uxaf6znFFL@9Q>~kERl!1JX$8$B1&tN=z z1NoeQXLcZ;6Y+EpuSV5gK0{8Psq!>bL5HylB%oQOGn+tyS{FeW1t`aeb1;1BLx}p zx4I_ewcyL;p=g5(sVc4(XP~602d^|}Hy=kG3)SHQLecydl*YJP^IQy8b>VETOS-Sh zHP#-^&(aa_75Xs~m>VI2t_a{+uy7F@X$V(O&-_`9joCF42#VHej5IOZjK%{^_$#Fo z^4j{^5qkyBi&@z~XY`p@v%2Z|%URt9_}f|8fph}ldt3aStnNef1+8xJ$MxEOX2kZa z%Xap$HHym#QCbKs3g)+Dk|(_pZ2vNAv;*m^*WO!&kCm~%=|TgRM){&g6kNRFFp7(Z z#Kz$lo_Irzy<05*GH<`x1{pbLyanF@Ee^$Td>rMQ4M29XjC&uva;z?N=*x_Ly2&Dj zaoX&xwTmLviRLJ>NxxQFQe<0Z!jqns17cPSF5Zm6^us@~%CCzh^V4ubcnq5_J5y~e z9Ak^@C79`91kX&yLWH1nY8Fw)jE6c$$wQ52A^l>%O_`bC37dqkQWs@OsQGCuXAVyQ S=gWO=@4sqR8i zSmQ^EO1;K~pqC)Mdpd3JP0MAjKCXcvVB!bwkq) z(UZMULq2o$)Rq)AK6|P?~G((bQ#j#Q~N%twT;PXiw z-cZp`KttJ=Q5k}wibz=%3E;)8E%9VH6^_T4 zvc9#kF_f4Y4$XHLl8ZXQ?Qz$4q(W7VjmZ$kM#x;&q!MA4zIYjoM_b~tP%Ks3(SjPE zD5*@@8bfPIL4%a7ch4*`F;CepMFZ^!fc_fBSP?K8aN8xHM^U}1sABHndGX1ZS{_aE$}*;ytonQ+ zW{f^}p(nTcSUeF8L|(&KImC6e|DcZ*(jlv@(3p?$!jGyCIMY6nfljMY-~mfpw}8%?4JP$b6Y#b7W2Bhm(}5R3OpB zs+NoeUdo%MPR#A+v2mqr;&a%{L=;)hN9M`ka@~fxURo9ka8hm4F zbsgQlxgK{o8fXf!4M*>2AQei40}*@w`9)^;Q=wpUEPPWdrmfqNSvI!?BCWQ+I}oi8 z<1Gj$#Tzc(-8270oTDM!*w~sx*Ev{i*avl?XgHZU7Wjb1K1`Wx2?bjt0X#}n*&L3A zV|eehZ*{3eAeL+iBto%Z2j=oZw(4jo*_`3PB$iYyiEtF}t8Gj>2hUjw@0Infsf^K# zs+#iJ@~TQ)O3(YS$6Z-fJ>9IJgW21Z$6Z@CyQHeBx|GEv=Zj_BTGlZVpEpFt&(jPnrxwTOwG$GWn4VVy#1mOpn{eu5C`)kxqA( z<(wR-jg!K}Y)#m<7>qy+vyMIWWO0MYBN516V0mmx1fn)-NQNVK<>#2@#>r% z3e@3L!FW8;fP2J7_#WVL8xw)1C}wC)bD$x_%5}cN&gM`8{T&0W$j+r;7s;gUYm>_# zbSkgx!zapa<&_>xmY&_up;M;#!(aEpz$VAQbtjxRsr2`rRAiIltjQb0e5ahFZ%4qn z>ajt1HS=yslR$zBy=uGmk1Oh-12)t6p(5br$MrvT)H6#$b4%au)p9h3-*-Sq5v z=yWGT(LgK}4&pZFN?_ges?xHGndN1(FgG$cO583@Wq^tJyikxOWv>`Bs;j1zmDp9I zyJuz@y?Qy*l~>LztF9@ltu`xbu>6$eP4C0$o#M%F;K)m5yqwyZH-MXxTVI`AT3cRG zR#RF&dGghWjb6Fxn&*Zixf0uBBv)to5c?v5KKV7b+n}?zn2dy!Q)EfFRJPLWuIF24 zYi@U2k_q|tq!4qTELWZ*`SwnACe|{`?QDg?EOBZL#wdk1LOZcSu|Pe0RGWj}I}{Io z^|K#KTVvry%w5}}wXR3<*>#(yBOc7Up83@?<(OT5Hf5ugO)fU>B#M(VOzUKclP^r0 z%Ys}&Fnulua_L~}a~a@HIx-u{&w%`duxmu_!GqPe+=*jXc$dI~%5GAUh`%&3yqMdD zp=kK^9KUg5CrO%DQbY}Z?}EQ(Q3U)#t>brX{L+YDzco#si&Nn5b3VLtlNmW}K%w=sH`MNpo zm1VYEb)vw8pTKem|smVcc&Joc>h$8SAnJvQtd^XAkmw%qx_*UV*= zdo1I?==AQbYt4~Ux7)H@xWXLy*sazz*L-TNI{IGmmj}OZ%YE5Ud^#`1r#O@YbWWZ^131Z=98wG=gq#>A6fceCX@TJq4;!O zicfJU2g;e+P!1HI`ciz#jdGy)FYkQWxAAZ7G7k;p~ z`HS`Db!YFhq>pd3XfMjf$^ z7=kVLWkd1lycD0}P!5zcwV@m+KJ}&elpEzh@!z_1ssG~xm!~h?l}!J2(F6XKAGvLL zW$_RET}{K&m(|y%7reE|KdO3!EnnbYZicc+cDEB&7PhuZRMb5{5t8@12c zw=I_5_Qmb~>pyzOmiw}y_;g;1PjM&*%9+|w4iumIQhdsda-jHUU8|+Hp0u_2`QV3U zs&Qocn~OiOWo6mu^j})1nTK9I%m30XSEe^^8E?xi3yabn!E4ONXKyq2E^(!Qb!mq! z-~ad}>55J3%}uM`HLqA(nto*W3R~{WhT_wCDL%!a94KdMLpe}<>Pzt{H_CzHckTVu z{CxHPt}p-G+Ew7c*#Dmg?y}{dSB&<*`P`nO&+e)&zU2L*W^_$#7n7CBL*^+v#NyZP zGp*8F&hsx`x51V_U3`weP?O9}M^|_KFu32`Ry*95`?8_XfO#P9GM>ldY;fB#HdexqqgdS?3=|F})x^*=O!WqOJ^+Lmh; ztxO+!aw=GHk>F5|+)(Y=Q-!{L{KkK5q{hyVuO5ap0+j3tv6ravZ@hJ}F zKsi$z%7NljUy4t;Q4SRUg147i=_fW@@9$Y+t-0tt>(G{mZTY%2ms=|+w!o#$mw~X z+-sTP(Oq|sn368GR@(CO4^2ytbhleaHeX;(UZkaOT-;#G=Rabk|D(OcN{@TD>%pBB z=?6#5vgN*PC_bH+;!_;TfpVrclmo@5z7(HwqZ}yy_xAWFJ+b$yUB7&COwj=4ooHW# z_Pfx&U)l57{G##gw@hOH<268e7uxU4+V?9zzU|_j7cRN5Xz3RvMFW&4q5Uqj--Y)5 z$^(oEjbXnrp>Z2vOlS=IjR|5pHUo?ajbXnrp>g{^i_d#6TZNE9IoR%_vvoKF}R-hT+e&1XFdPnG9P1luA_4IacV=csNGlb|El2A}TKlkHflmi{(GR5RN?!$Yor?$t7&$0UQ?{A#@aXZS1>o{-T zb3L`?IMjyQaUJiuejxtb_IUBRAIG6{QkmOPj@*aqc+d3%@#nV3i_iTy4xN+A+>UbO zK3vCpt{;d$w>@5b?#FTHoK)s^lq2`yI^J{rK>WGw@#1qojzj09GPk1~xewRzp6dtV z&uxzv|0H0q{11VXVHlhOL*Z2Hhr($v915^4fPa89;S4w(&cgn57y(~{v*8@<&xUj1 zAK~lRejWY^|9;>+7=`U9I3NBQM#BYgA@&!53oZgTwr;o>E`>{A3|xl&7#I)ZU@TmY z{aEn81n^?(g)2Y+5hQFSkU<3>D4=1lfDQ%}Vp|9kVG>*gS3(i?SAri*D25X3i=h%*T0S(bX7<2U0HQWyFaExuLdDP{NUv^UmAE z0(|W|7-sLrx|;EiVOlcY6AQ9$9l4@`l;Y~~+EI`3?k^nW8OR7g-!$sRNJd8dy{?G` zZTNb5IM(DsssdVp`1@J8flLD7n_K*?te!*k6|Ele$MxEOX2kZa+jjP| zHL}YIQAP+a2#syaCQoJ~*#2eLXa~|+uf4Z2AFE)0*@Xryjm8RI!QzEM#8ow<$9dJYkdZW$Ka~31w^s%bCL)!1?lD P9Q5${dl|!(EiCvSSa?#e diff --git a/Specs/Scene/Batched3DModel3DTileContentSpec.js b/Specs/Scene/Batched3DModel3DTileContentSpec.js index f7235fc84ae6..39c680b2b758 100644 --- a/Specs/Scene/Batched3DModel3DTileContentSpec.js +++ b/Specs/Scene/Batched3DModel3DTileContentSpec.js @@ -62,18 +62,11 @@ defineSuite([ scene.primitives.removeAll(); }); - it('throws with invalid magic', function() { - var arrayBuffer = Cesium3DTilesTester.generateBatchedTileBuffer({ - magic : [120, 120, 120, 120] - }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'b3dm'); - }); - it('throws with invalid version', function() { var arrayBuffer = Cesium3DTilesTester.generateBatchedTileBuffer({ - version: 2 + version : 2 }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'b3dm'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'b3dm'); }); it('recognizes the legacy 20-byte header', function() { @@ -112,17 +105,13 @@ defineSuite([ it('throws with empty gltf', function() { // Expect to throw DeveloperError in Model due to invalid gltf magic var arrayBuffer = Cesium3DTilesTester.generateBatchedTileBuffer(); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'b3dm'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'b3dm'); }); it('resolves readyPromise', function() { return Cesium3DTilesTester.resolvesReadyPromise(scene, withoutBatchTableUrl); }); - it('rejects readyPromise on failed request', function() { - return Cesium3DTilesTester.rejectsReadyPromiseOnFailedRequest('b3dm'); - }); - it('renders with batch table', function() { return Cesium3DTilesTester.loadTileset(scene, withBatchTableUrl).then(function(tileset) { Cesium3DTilesTester.expectRenderTileset(scene, tileset); @@ -276,8 +265,4 @@ defineSuite([ return Cesium3DTilesTester.tileDestroys(scene, withoutBatchTableUrl); }); - it('destroys before loading finishes', function() { - return Cesium3DTilesTester.tileDestroysBeforeLoad(scene, withoutBatchTableUrl); - }); - }, 'WebGL'); diff --git a/Specs/Scene/Cesium3DTileProviderSpec.js b/Specs/Scene/Cesium3DTileContentSpec.js similarity index 58% rename from Specs/Scene/Cesium3DTileProviderSpec.js rename to Specs/Scene/Cesium3DTileContentSpec.js index 234cf1c9dd31..fddc7249aa7a 100644 --- a/Specs/Scene/Cesium3DTileProviderSpec.js +++ b/Specs/Scene/Cesium3DTileContentSpec.js @@ -10,9 +10,27 @@ defineSuite([ expect(function() { return content.featuresLength; }).toThrowDeveloperError(); + expect(function() { + return content.pointsLength; + }).toThrowDeveloperError(); + expect(function() { + return content.trianglesLength; + }).toThrowDeveloperError(); + expect(function() { + return content.vertexMemorySizeInBytes; + }).toThrowDeveloperError(); + expect(function() { + return content.textureMemorySizeInBytes; + }).toThrowDeveloperError(); + expect(function() { + return content.batchTableMemorySizeInBytes; + }).toThrowDeveloperError(); expect(function() { return content.innerContents; }).toThrowDeveloperError(); + expect(function() { + return content.readyPromise; + }).toThrowDeveloperError(); expect(function() { return content.hasProperty(0, 'height'); }).toThrowDeveloperError(); @@ -20,10 +38,10 @@ defineSuite([ return content.getFeature(0); }).toThrowDeveloperError(); expect(function() { - content.request(); + content.applyDebugSettings(); }).toThrowDeveloperError(); expect(function() { - content.initialize(); + content.applyStyleWithShader(); }).toThrowDeveloperError(); expect(function() { content.update(); diff --git a/Specs/Scene/Cesium3DTileSpec.js b/Specs/Scene/Cesium3DTileSpec.js index 806db5c39227..a594c06604a6 100644 --- a/Specs/Scene/Cesium3DTileSpec.js +++ b/Specs/Scene/Cesium3DTileSpec.js @@ -5,6 +5,7 @@ defineSuite([ 'Core/clone', 'Core/defined', 'Core/HeadingPitchRoll', + 'Core/loadWithXhr', 'Core/Math', 'Core/Matrix3', 'Core/Matrix4', @@ -20,6 +21,7 @@ defineSuite([ clone, defined, HeadingPitchRoll, + loadWithXhr, CesiumMath, Matrix3, Matrix4, @@ -115,18 +117,6 @@ defineSuite([ } }; - var tileWithInvalidExtension = { - geometricError : 1, - refine : 'replace', - children : [], - content : { - url : '0/0.xxxx' - }, - boundingVolume: { - box : [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0] - } - }; - var mockTileset = { debugShowBoundingVolume : true, debugShowViewerRequestVolume : true, @@ -143,12 +133,6 @@ defineSuite([ return Matrix4.pack(transformMatrix, new Array(16)); } - it('throws if content has an unsupported extension', function() { - expect(function() { - return new Cesium3DTile(mockTileset, '/some_url', tileWithInvalidExtension, undefined); - }).toThrowDeveloperError(); - }); - it('destroys', function() { var tile = new Cesium3DTile(mockTileset, '/some_url', tileWithBoundingSphere, undefined); expect(tile.isDestroyed()).toEqual(false); diff --git a/Specs/Scene/Cesium3DTilesetSpec.js b/Specs/Scene/Cesium3DTilesetSpec.js index 53b86e4a07d8..c1d79ed876df 100644 --- a/Specs/Scene/Cesium3DTilesetSpec.js +++ b/Specs/Scene/Cesium3DTilesetSpec.js @@ -62,9 +62,6 @@ defineSuite([ // Parent tile with content and four child tiles with content var tilesetUrl = './Data/Cesium3DTiles/Tilesets/Tileset/'; - // One child points to an invalid url - var tilesetInvalidUrl = './Data/Cesium3DTiles/Tilesets/TilesetInvalid/'; - // Parent tile with no content and four child tiles with content var tilesetEmptyRootUrl = './Data/Cesium3DTiles/Tilesets/TilesetEmptyRoot/'; @@ -104,7 +101,7 @@ defineSuite([ // 1 tile with opaque and translucent features var translucentOpaqueMixUrl = './Data/Cesium3DTiles/Batched/BatchedTranslucentOpaqueMix/'; - // Root tile is transformed from local space to wgs84, child tile is rotated, scales, and translated locally + // Root tile is transformed from local space to wgs84, child tile is rotated, scaled, and translated locally var tilesetWithTransformsUrl = './Data/Cesium3DTiles/Tilesets/TilesetWithTransforms'; // Root tile with 4 b3dm children and 1 pnts child with a viewer request volume @@ -184,7 +181,6 @@ defineSuite([ var tileset = scene.primitives.add(new Cesium3DTileset({ url : 'invalid.json' })); - scene.renderForSpecs(); return tileset.readyPromise.then(function() { fail('should not resolve'); }).otherwise(function(error) { @@ -194,8 +190,8 @@ defineSuite([ it('rejects readyPromise with invalid tileset version', function() { var tilesetJson = { - "asset" : { - "version" : "2.0" + asset : { + version : 2.0 } }; @@ -323,36 +319,51 @@ defineSuite([ }).toThrowDeveloperError(); }); + it('requests tile with invalid magic', function() { + var invalidMagicBuffer = Cesium3DTilesTester.generateBatchedTileBuffer({ + magic : [120, 120, 120, 120] + }); + var tileset = scene.primitives.add(new Cesium3DTileset({ + url : tilesetUrl + })); + return tileset.readyPromise.then(function(tileset) { + // Start spying after the tileset json has been loaded + spyOn(loadWithXhr, 'load').and.callFake(function(url, responseType, method, data, headers, deferred, overrideMimeType) { + deferred.resolve(invalidMagicBuffer); + }); + scene.renderForSpecs(); // Request root + var root = tileset._root; + return root.contentReadyPromise.then(function() { + fail('should not resolve'); + }).otherwise(function(error) { + expect(error.message).toBe('Invalid tile content.'); + expect(root._contentState).toEqual(Cesium3DTileContentState.FAILED); + }); + }); + }); + it('handles failed tile requests', function() { viewRootOnly(); - return Cesium3DTilesTester.loadTileset(scene, tilesetInvalidUrl).then(function(tileset) { - viewAllTiles(); - scene.renderForSpecs(); - var stats = tileset._statistics; - expect(stats.numberOfPendingRequests).toEqual(4); - expect(stats.numberProcessing).toEqual(0); - - return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - expect(stats.numberOfPendingRequests).toEqual(0); - expect(stats.numberProcessing).toEqual(0); - - // Check that one tile has failed - var children = tileset._root.children; - var length = children.length; - var failedTiles = 0; - for (var i = 0; i < length; ++i) { - if (children[i].content.state === Cesium3DTileContentState.FAILED) { - ++failedTiles; - } - } - expect(failedTiles).toEqual(1); + var tileset = scene.primitives.add(new Cesium3DTileset({ + url : tilesetUrl + })); + return tileset.readyPromise.then(function(tileset) { + // Start spying after the tileset json has been loaded + spyOn(loadWithXhr, 'load').and.callFake(function(url, responseType, method, data, headers, deferred, overrideMimeType) { + deferred.reject(); }); - }); + scene.renderForSpecs(); // Request root + var root = tileset._root; + return root.contentReadyPromise.then(function() { + fail('should not resolve'); + }).otherwise(function(error) { + expect(root._contentState).toEqual(Cesium3DTileContentState.FAILED); + }); + }); }); it('renders tileset', function() { return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(5); expect(stats.numberOfCommands).toEqual(5); @@ -382,7 +393,6 @@ defineSuite([ it('renders tileset with empty root tile', function() { return Cesium3DTilesTester.loadTileset(scene, tilesetEmptyRootUrl).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(5); expect(stats.numberOfCommands).toEqual(4); // Empty tile doesn't issue a command @@ -418,7 +428,6 @@ defineSuite([ // Wait for all tiles to load and check that they are all visited and rendered return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.visited).toEqual(5); expect(stats.numberOfCommands).toEqual(5); expect(stats.numberOfPendingRequests).toEqual(0); @@ -437,7 +446,6 @@ defineSuite([ expect(stats.numberOfTrianglesSelected).toEqual(0); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfFeaturesSelected).toEqual(features); expect(stats.numberOfFeaturesLoaded).toEqual(features); expect(stats.numberOfPointsSelected).toEqual(points); @@ -454,7 +462,6 @@ defineSuite([ expect(stats.numberOfTrianglesSelected).toEqual(0); tileset.trimLoadedTiles(); - scene.renderForSpecs(); expect(stats.numberOfFeaturesSelected).toEqual(0); @@ -622,7 +629,6 @@ defineSuite([ it('does not process tileset when screen space error is not met', function() { return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(5); expect(stats.numberOfCommands).toEqual(5); @@ -637,7 +643,6 @@ defineSuite([ it('does not select tiles when outside of view frustum', function() { return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(5); expect(stats.numberOfCommands).toEqual(5); @@ -657,7 +662,6 @@ defineSuite([ // Root tile has a content box that is half the extents of its box // Expect to cull root tile and three child tiles return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(5); expect(stats.numberOfCommands).toEqual(5); @@ -717,7 +721,6 @@ defineSuite([ function testDynamicScreenSpaceError(url, distance) { return Cesium3DTilesTester.loadTileset(scene, url).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; // Horizon view, only root is visible @@ -772,11 +775,9 @@ defineSuite([ }); it('additive refinement - selects root when sse is met', function() { + viewRootOnly(); return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { // Meets screen space error, only root tile is rendered - viewRootOnly(); - scene.renderForSpecs(); - var stats = tileset._statistics; expect(stats.visited).toEqual(1); expect(stats.numberOfCommands).toEqual(1); @@ -786,9 +787,6 @@ defineSuite([ it('additive refinement - selects all tiles when sse is not met', function() { return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { // Does not meet screen space error, all tiles are visible - viewAllTiles(); - scene.renderForSpecs(); - var stats = tileset._statistics; expect(stats.visited).toEqual(5); expect(stats.numberOfCommands).toEqual(5); @@ -797,7 +795,6 @@ defineSuite([ it('additive refinement - use parent\'s geometric error on child\'s box for early refinement', function() { return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(5); expect(stats.numberOfCommands).toEqual(5); @@ -829,11 +826,11 @@ defineSuite([ }); it('replacement refinement - selects root when sse is met', function() { + viewRootOnly(); return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { tileset._root.refine = Cesium3DTileRefine.REPLACE; // Meets screen space error, only root tile is rendered - viewRootOnly(); scene.renderForSpecs(); var stats = tileset._statistics; @@ -847,7 +844,6 @@ defineSuite([ tileset._root.refine = Cesium3DTileRefine.REPLACE; // Does not meet screen space error, child tiles replace root tile - viewAllTiles(); scene.renderForSpecs(); var stats = tileset._statistics; @@ -917,15 +913,13 @@ defineSuite([ var stats = tileset._statistics; var root = tileset._root; - return when.join(root.children[0].readyPromise, root.children[1].readyPromise).then(function() { + return when.join(root.children[0].contentReadyPromise, root.children[1].contentReadyPromise).then(function() { // Even though root's children are loaded, the grandchildren need to be loaded before it becomes refinable - scene.renderForSpecs(); expect(numberOfChildrenWithoutContent(root)).toEqual(0); // Children are loaded expect(stats.numberOfCommands).toEqual(3); // Stencil, root backfaces, root expect(stats.numberOfPendingRequests).toEqual(4); // Loading grandchildren return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(4); // Render children }); }); @@ -943,18 +937,14 @@ defineSuite([ viewRootOnly(); return Cesium3DTilesTester.loadTileset(scene, tilesetReplacement2Url).then(function(tileset) { - scene.renderForSpecs(); - var stats = tileset._statistics; return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(1); setZoom(5.0); // Zoom into the last tile, when it is ready the root is refinable scene.renderForSpecs(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(2); // Renders two content tiles }); }); @@ -972,21 +962,19 @@ defineSuite([ viewRootOnly(); return Cesium3DTilesTester.loadTileset(scene, tilesetReplacement3Url).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; var root = tileset._root; expect(stats.numberOfCommands).toEqual(1); viewAllTiles(); scene.renderForSpecs(); - return root.children[0].content.readyPromise.then(function() { + return root.children[0].contentReadyPromise.then(function() { // The external tileset json is loaded, but the external tileset isn't. scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(2); // Stencil + Render root expect(stats.numberOfPendingRequests).toEqual(4); // Loading child content tiles return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(root.selected).toEqual(false); expect(stats.numberOfCommands).toEqual(4); // Render child content tiles }); @@ -1000,7 +988,6 @@ defineSuite([ // R A R A // return Cesium3DTilesTester.loadTileset(scene, tilesetRefinementMix).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(7); expect(stats.numberOfCommands).toEqual(6); @@ -1082,8 +1069,6 @@ defineSuite([ scene.renderForSpecs(); // wait for load because geometric error has changed return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function(tileset) { - scene.renderForSpecs(); - expect(childRoot.visibility(scene.frameState, CullingVolume.MASK_INDETERMINATE)).not.toEqual(CullingVolume.MASK_OUTSIDE); expect(childRoot.children[0].visibility(scene.frameState, CullingVolume.MASK_INDETERMINATE)).not.toEqual(CullingVolume.MASK_OUTSIDE); @@ -1110,8 +1095,6 @@ defineSuite([ var root = tileset._root; var childRoot = root.children[0]; - scene.renderForSpecs(); - expect(childRoot.visibility(scene.frameState, CullingVolume.MASK_INDETERMINATE)).not.toEqual(CullingVolume.MASK_OUTSIDE); expect(childRoot.children[0].visibility(scene.frameState, CullingVolume.MASK_INDETERMINATE)).not.toEqual(CullingVolume.MASK_OUTSIDE); @@ -1139,11 +1122,8 @@ defineSuite([ var childRoot = root.children[0]; childRoot.geometricError = 0; - scene.renderForSpecs(); // wait for load because geometric error has changed return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function(tileset) { - scene.renderForSpecs(); - expect(childRoot.visibility(scene.frameState, CullingVolume.MASK_INDETERMINATE)).not.toEqual(CullingVolume.MASK_OUTSIDE); expect(childRoot.children[0].visibility(scene.frameState, CullingVolume.MASK_INDETERMINATE)).not.toEqual(CullingVolume.MASK_OUTSIDE); @@ -1169,7 +1149,6 @@ defineSuite([ // R A R A // return Cesium3DTilesTester.loadTileset(scene, tilesetRefinementMix).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(7); expect(stats.numberOfCommands).toEqual(6); @@ -1183,13 +1162,14 @@ defineSuite([ return Cesium3DTilesTester.loadTileset(scene, tilesetOfTilesetsUrl).then(function(tileset) { // Root points to an external tileset.json and has no children until it is requested var root = tileset._root; - expect(root.hasTilesetContent).toEqual(true); expect(root.children.length).toEqual(0); // Set view so that root's content is requested viewRootOnly(); scene.renderForSpecs(); - return root.content.readyPromise.then(function() { + return root.contentReadyPromise.then(function() { + expect(root.hasTilesetContent).toEqual(true); + // Root has one child now, the root of the external tileset expect(root.children.length).toEqual(1); @@ -1199,7 +1179,7 @@ defineSuite([ expect(root.refine).toEqual(subtreeRoot.refine); expect(root.contentBoundingVolume.boundingVolume).toEqual(subtreeRoot.contentBoundingVolume.boundingVolume); - // Check that Subtree root has 4 children + // Check that subtree root has 4 children expect(subtreeRoot.hasTilesetContent).toEqual(false); expect(subtreeRoot.children.length).toEqual(4); }); @@ -1225,7 +1205,7 @@ defineSuite([ viewRootOnly(); scene.renderForSpecs(); - return tileset._root.content.readyPromise; + return tileset._root.contentReadyPromise; }).then(function() { //Make sure tileset2.json was requested with query parameters and version var queryParamsWithVersion = queryParams + '&v=0.0'; @@ -1236,7 +1216,6 @@ defineSuite([ it('renders tileset with external tileset.json', function() { return Cesium3DTilesTester.loadTileset(scene, tilesetOfTilesetsUrl).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.visited).toEqual(7); // Visits two tiles with tileset content, five tiles with b3dm content expect(stats.numberOfCommands).toEqual(5); // Render the five tiles with b3dm content @@ -1410,7 +1389,7 @@ defineSuite([ viewRootOnly(); scene.renderForSpecs(); // Request root expect(tileset._statistics.numberOfPendingRequests).toEqual(1); - return tileset._root.content.contentReadyToProcessPromise.then(function() { + return tileset._root.contentReadyToProcessPromise.then(function() { scene.pickForSpecs(); expect(spy).not.toHaveBeenCalled(); scene.renderForSpecs(); @@ -1454,7 +1433,6 @@ defineSuite([ tileset.loadProgress.addEventListener(spyUpdate); viewRootOnly(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(spyUpdate.calls.count()).toEqual(3); expect(spyUpdate.calls.allArgs()).toEqual(results); }); @@ -1536,7 +1514,6 @@ defineSuite([ viewNothing(); return Cesium3DTilesTester.loadTileset(scene, tilesetOfTilesetsUrl).then(function(tileset) { var root = tileset._root; - var content = root.content; viewRootOnly(); scene.renderForSpecs(); // Request external tileset.json @@ -1545,7 +1522,7 @@ defineSuite([ expect(stats.numberOfPendingRequests).toEqual(1); scene.primitives.remove(tileset); - return content.readyPromise.then(function(root) { + return root.contentReadyPromise.then(function(root) { fail('should not resolve'); }).otherwise(function(error) { // Expect the root to not have added any children from the external tileset.json @@ -1556,19 +1533,18 @@ defineSuite([ }); it('destroys before tile finishes loading', function() { - viewNothing(); - return Cesium3DTilesTester.loadTileset(scene, tilesetUrl).then(function(tileset) { + var tileset = scene.primitives.add(new Cesium3DTileset({ + url : tilesetUrl + })); + return tileset.readyPromise.then(function(tileset) { var root = tileset._root; - var content = root.content; - - viewRootOnly(); scene.renderForSpecs(); // Request root scene.primitives.remove(tileset); - return content.readyPromise.then(function(root) { + return root.contentReadyPromise.then(function(content) { fail('should not resolve'); }).otherwise(function(error) { - expect(content.state).toEqual(Cesium3DTileContentState.FAILED); + expect(root._contentState).toBe(Cesium3DTileContentState.FAILED); expect(RequestScheduler.getNumberOfAvailableRequests()).toEqual(RequestScheduler.maximumRequests); }); }); @@ -1981,7 +1957,6 @@ defineSuite([ viewAllTiles(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(5); expect(stats.numberContentReady).toEqual(5); // Five loaded tiles }); @@ -2013,7 +1988,6 @@ defineSuite([ viewAllTiles(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(5); expect(stats.numberContentReady).toEqual(5); // Five loaded tiles }); @@ -2042,7 +2016,6 @@ defineSuite([ viewAllTiles(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(5); expect(stats.numberContentReady).toEqual(5); }); @@ -2074,7 +2047,6 @@ defineSuite([ viewAllTiles(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(5); expect(stats.numberContentReady).toEqual(5); @@ -2106,7 +2078,6 @@ defineSuite([ viewAllTiles(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(4); expect(stats.numberContentReady).toEqual(4); }); @@ -2143,7 +2114,6 @@ defineSuite([ viewAllTiles(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function() { - scene.renderForSpecs(); expect(stats.numberOfCommands).toEqual(4); expect(stats.numberContentReady).toEqual(5); }); @@ -2229,7 +2199,6 @@ defineSuite([ var i3dmCommands = scene.context.instancedArrays ? 1 : 25; // When instancing is not supported there is one command per instance var totalCommands = b3dmCommands + i3dmCommands; return Cesium3DTilesTester.loadTileset(scene, tilesetWithTransformsUrl).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; var root = tileset._root; var rootTransform = Matrix4.unpack(root._header.transform); @@ -2288,13 +2257,12 @@ defineSuite([ it('adds stencil clear command first when unresolved', function() { viewRootOnly(); return Cesium3DTilesTester.loadTileset(scene, tilesetReplacement3Url).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; var root = tileset._root; viewAllTiles(); scene.renderForSpecs(); - return root.children[0].content.readyPromise.then(function() { + return root.children[0].contentReadyPromise.then(function() { scene.renderForSpecs(); // 1 for root tiles, 1 for stencil clear expect(stats.numberOfCommands).toEqual(2); @@ -2312,13 +2280,12 @@ defineSuite([ scene.camera.moveDown(200.0); return Cesium3DTilesTester.loadTileset(scene, tilesetReplacement3Url).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; var root = tileset._root; viewAllTiles(); scene.renderForSpecs(); - return root.children[0].content.readyPromise.then(function() { + return root.children[0].contentReadyPromise.then(function() { scene.renderForSpecs(); // 2 for root tile, 1 for child, 1 for stencil clear expect(stats.numberOfCommands).toEqual(4); @@ -2341,13 +2308,12 @@ defineSuite([ it('does not create duplicate backface commands if no selected descendants', function() { viewRootOnly(); return Cesium3DTilesTester.loadTileset(scene, tilesetReplacement3Url).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; var root = tileset._root; viewAllTiles(); scene.renderForSpecs(); - return root.children[0].content.readyPromise.then(function() { + return root.children[0].contentReadyPromise.then(function() { scene.renderForSpecs(); // 1 for root tile, 1 for stencil clear expect(stats.numberOfCommands).toEqual(2); @@ -2373,7 +2339,6 @@ defineSuite([ it('does not add stencil clear command or backface commands when fully resolved', function() { viewAllTiles(); return Cesium3DTilesTester.loadTileset(scene, tilesetReplacement3Url).then(function(tileset) { - scene.renderForSpecs(); var stats = tileset._statistics; expect(stats.numberOfCommands).toEqual(tileset._selectedTiles.length); @@ -2394,12 +2359,10 @@ defineSuite([ return Cesium3DTilesTester.loadTileset(scene, tilesetReplacement3Url, { loadSiblings: false }).then(function(tileset) { var stats = tileset._statistics; - scene.renderForSpecs(); expect(stats.numberContentReady).toBe(2); tileset.loadSiblings = true; scene.renderForSpecs(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function(tileset) { - scene.renderForSpecs(); expect(stats.numberContentReady).toBe(5); }); }); @@ -2417,18 +2380,14 @@ defineSuite([ skipLevels: 0 })); return Cesium3DTilesTester.waitForReady(scene, tileset).then(function(tileset) { - scene.renderForSpecs(); - return tileset._root.content.readyPromise.then(function() { + return tileset._root.contentReadyPromise.then(function() { tileset._root.children[0].refine = Cesium3DTileRefine.REPLACE; return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function(tileset) { var stats = tileset._statistics; - scene.renderForSpecs(); expect(stats.numberContentReady).toBe(1); tileset.immediatelyLoadDesiredLOD = false; - scene.renderForSpecs(); return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function(tileset) { - scene.renderForSpecs(); expect(stats.numberContentReady).toBe(2); }); }); @@ -2446,8 +2405,7 @@ defineSuite([ })); return Cesium3DTilesTester.waitForReady(scene, tileset).then(function(tileset) { - scene.renderForSpecs(); - return tileset._root.content.readyPromise.then(function() { + return tileset._root.contentReadyPromise.then(function() { tileset._root.children[0].refine = Cesium3DTileRefine.REPLACE; return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset).then(function(tileset) { var stats = tileset._statistics; diff --git a/Specs/Scene/Composite3DTileContentSpec.js b/Specs/Scene/Composite3DTileContentSpec.js index 91a22662c17c..6c0111372c8a 100644 --- a/Specs/Scene/Composite3DTileContentSpec.js +++ b/Specs/Scene/Composite3DTileContentSpec.js @@ -81,18 +81,11 @@ defineSuite([ }); } - it('throws with invalid magic', function() { - var arrayBuffer = Cesium3DTilesTester.generateCompositeTileBuffer({ - magic : [120, 120, 120, 120] - }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'cmpt'); - }); - it('throws with invalid version', function() { var arrayBuffer = Cesium3DTilesTester.generateCompositeTileBuffer({ version : 2 }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'cmpt'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'cmpt'); }); it('throws with invalid inner tile content type', function() { @@ -101,7 +94,7 @@ defineSuite([ magic : [120, 120, 120, 120] })] }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'cmpt'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'cmpt'); }); it('resolves readyPromise', function() { @@ -121,10 +114,6 @@ defineSuite([ return Cesium3DTilesTester.rejectsReadyPromiseOnError(scene, arrayBuffer, 'cmpt'); }); - it('rejects readyPromise on failed request', function() { - return Cesium3DTilesTester.rejectsReadyPromiseOnFailedRequest('cmpt'); - }); - it('renders composite', function() { return Cesium3DTilesTester.loadTileset(scene, compositeUrl).then(expectRenderComposite); }); @@ -137,8 +126,4 @@ defineSuite([ return Cesium3DTilesTester.tileDestroys(scene, compositeUrl); }); - it('destroys before loading finishes', function() { - return Cesium3DTilesTester.tileDestroysBeforeLoad(scene, compositeUrl); - }); - }, 'WebGL'); diff --git a/Specs/Scene/Empty3DTileContentSpec.js b/Specs/Scene/Empty3DTileContentSpec.js index f47af925719a..669a3fafc586 100644 --- a/Specs/Scene/Empty3DTileContentSpec.js +++ b/Specs/Scene/Empty3DTileContentSpec.js @@ -1,21 +1,10 @@ /*global defineSuite*/ defineSuite([ - 'Scene/Empty3DTileContent', - 'Scene/Cesium3DTileContentState' + 'Scene/Empty3DTileContent' ], function( - Empty3DTileContent, - Cesium3DTileContentState) { + Empty3DTileContent) { 'use strict'; - it('resolves readyPromise', function() { - var content = new Empty3DTileContent(); - content.request(); - content.update(); - return content.readyPromise.then(function(content) { - expect(content.state).toEqual(Cesium3DTileContentState.READY); - }); - }); - it('destroys', function() { var content = new Empty3DTileContent(); expect(content.isDestroyed()).toEqual(false); diff --git a/Specs/Scene/Instanced3DModel3DTileContentSpec.js b/Specs/Scene/Instanced3DModel3DTileContentSpec.js index 20241b8172d2..f5f6fd95d99e 100644 --- a/Specs/Scene/Instanced3DModel3DTileContentSpec.js +++ b/Specs/Scene/Instanced3DModel3DTileContentSpec.js @@ -67,31 +67,24 @@ defineSuite([ scene.primitives.removeAll(); }); - it('throws with invalid magic', function() { - var arrayBuffer = Cesium3DTilesTester.generateInstancedTileBuffer({ - magic : [120, 120, 120, 120] - }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'i3dm'); - }); - it('throws with invalid format', function() { var arrayBuffer = Cesium3DTilesTester.generateInstancedTileBuffer({ gltfFormat : 2 }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'i3dm'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'i3dm'); }); it('throws with invalid version', function() { var arrayBuffer = Cesium3DTilesTester.generateInstancedTileBuffer({ version : 2 }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'i3dm'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'i3dm'); }); it('throws with empty gltf', function() { // Expect to throw DeveloperError in Model due to invalid gltf magic var arrayBuffer = Cesium3DTilesTester.generateInstancedTileBuffer(); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'i3dm'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'i3dm'); }); it('resolves readyPromise', function() { @@ -109,38 +102,6 @@ defineSuite([ return Cesium3DTilesTester.rejectsReadyPromiseOnError(scene, arrayBuffer, 'i3dm'); }); - it('rejects readyPromise on failed request', function() { - return Cesium3DTilesTester.rejectsReadyPromiseOnFailedRequest('i3dm'); - }); - - var mockTile = { - contentBoundingVolume : new TileBoundingSphere(), - _header : { - content : { - boundingVolume : { - sphere : [0.0, 0.0, 0.0, 1.0] - } - } - } - }; - - it('loads with no instances, but does not become ready', function() { - var arrayBuffer = Cesium3DTilesTester.generateInstancedTileBuffer({ - featuresLength : 0, - gltfUri : '../Data/Models/Box/CesiumBoxTest.gltf' - }); - - var tileset = {}; - var url = ''; - var instancedTile = new Instanced3DModel3DTileContent(tileset, mockTile, url); - instancedTile.initialize(arrayBuffer); - // Expect the tile to never reach the ready state due to returning early in ModelInstanceCollection - for (var i = 0; i < 10; ++i) { - instancedTile.update(tileset, scene.frameState); - expect(instancedTile.state).toEqual(Cesium3DTileContentState.PROCESSING); - } - }); - it('renders with external gltf', function() { return Cesium3DTilesTester.loadTileset(scene, gltfExternalUrl).then(function(tileset) { Cesium3DTilesTester.expectRenderTileset(scene, tileset); @@ -349,8 +310,4 @@ defineSuite([ return Cesium3DTilesTester.tileDestroys(scene, withoutBatchTableUrl); }); - it('destroys before loading finishes', function() { - return Cesium3DTilesTester.tileDestroysBeforeLoad(scene, withoutBatchTableUrl); - }); - }, 'WebGL'); diff --git a/Specs/Scene/PointCloud3DTileContentSpec.js b/Specs/Scene/PointCloud3DTileContentSpec.js index 8cbaf3b946de..dc66d8a9ee53 100644 --- a/Specs/Scene/PointCloud3DTileContentSpec.js +++ b/Specs/Scene/PointCloud3DTileContentSpec.js @@ -81,25 +81,18 @@ defineSuite([ scene.primitives.removeAll(); }); - it('throws with invalid magic', function() { - var arrayBuffer = Cesium3DTilesTester.generatePointCloudTileBuffer({ - magic : [120, 120, 120, 120] - }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); - }); - it('throws with invalid version', function() { var arrayBuffer = Cesium3DTilesTester.generatePointCloudTileBuffer({ version: 2 }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); }); it('throws if featureTableJsonByteLength is 0', function() { var arrayBuffer = Cesium3DTilesTester.generatePointCloudTileBuffer({ featureTableJsonByteLength : 0 }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); }); it('throws if the feature table does not contain POINTS_LENGTH', function() { @@ -110,7 +103,7 @@ defineSuite([ } } }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); }); it('throws if the feature table does not contain POSITION or POSITION_QUANTIZED', function() { @@ -119,7 +112,7 @@ defineSuite([ POINTS_LENGTH : 1 } }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); }); it('throws if the positions are quantized and the feature table does not contain QUANTIZED_VOLUME_SCALE', function() { @@ -132,7 +125,7 @@ defineSuite([ QUANTIZED_VOLUME_OFFSET : [0.0, 0.0, 0.0] } }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); }); it('throws if the positions are quantized and the feature table does not contain QUANTIZED_VOLUME_OFFSET', function() { @@ -145,7 +138,7 @@ defineSuite([ QUANTIZED_VOLUME_SCALE : [1.0, 1.0, 1.0] } }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); }); it('throws if the BATCH_ID semantic is defined but BATCHES_LENGTH is not', function() { @@ -156,7 +149,7 @@ defineSuite([ BATCH_ID : [0, 1] } }); - return Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); + Cesium3DTilesTester.loadTileExpectError(scene, arrayBuffer, 'pnts'); }); it('BATCH_ID semantic uses componentType of UNSIGNED_SHORT by default', function() { @@ -176,10 +169,6 @@ defineSuite([ return Cesium3DTilesTester.resolvesReadyPromise(scene, pointCloudRGBUrl); }); - it('rejects readyPromise on failed request', function() { - return Cesium3DTilesTester.rejectsReadyPromiseOnFailedRequest('pnts'); - }); - it('renders point cloud with rgb colors', function() { return Cesium3DTilesTester.loadTileset(scene, pointCloudRGBUrl).then(function(tileset) { Cesium3DTilesTester.expectRender(scene, tileset); @@ -701,8 +690,4 @@ defineSuite([ return Cesium3DTilesTester.tileDestroys(scene, pointCloudRGBUrl); }); - it('destroys before loading finishes', function() { - return Cesium3DTilesTester.tileDestroysBeforeLoad(scene, pointCloudRGBUrl); - }); - }, 'WebGL'); diff --git a/Specs/Scene/Tileset3DTileContentSpec.js b/Specs/Scene/Tileset3DTileContentSpec.js index c7d0bf486374..0e563e41ff3a 100644 --- a/Specs/Scene/Tileset3DTileContentSpec.js +++ b/Specs/Scene/Tileset3DTileContentSpec.js @@ -41,16 +41,8 @@ defineSuite([ return Cesium3DTilesTester.resolvesReadyPromise(scene, tilesetOfTilesetsUrl); }); - it('rejects readyPromise on failed request', function() { - return Cesium3DTilesTester.rejectsReadyPromiseOnFailedRequest('json'); - }); - it('destroys', function() { return Cesium3DTilesTester.tileDestroys(scene, tilesetOfTilesetsUrl); }); - it('destroys before loading finishes', function() { - return Cesium3DTilesTester.tileDestroysBeforeLoad(scene, tilesetOfTilesetsUrl); - }); - }, 'WebGL'); diff --git a/Specs/Widgets/CesiumInspector/Cesium3DTilesInspectorSpec.js b/Specs/Widgets/CesiumInspector/Cesium3DTilesInspectorSpec.js index 326358bb4717..c59d7453d568 100644 --- a/Specs/Widgets/CesiumInspector/Cesium3DTilesInspectorSpec.js +++ b/Specs/Widgets/CesiumInspector/Cesium3DTilesInspectorSpec.js @@ -1,18 +1,16 @@ /*global defineSuite*/ defineSuite([ - 'Scene/Cesium3DTileset', 'Widgets/CesiumInspector/Cesium3DTilesInspector', - 'Specs/createScene', 'Core/Ellipsoid', + 'Scene/Cesium3DTileset', 'Scene/Globe', - 'ThirdParty/when' + 'Specs/createScene' ], function( - Cesium3DTileset, Cesium3DTilesInspector, - createScene, Ellipsoid, + Cesium3DTileset, Globe, - when) { + createScene) { 'use strict'; // Parent tile with content and four child tiles with content @@ -66,7 +64,7 @@ defineSuite([ describe('logging', function() { var widget; var container; - + beforeAll(function() { container = document.createElement('div'); container.id = 'testContainer';