From d75e6d067d92402b6499f5abd417d2fad76604f6 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Fri, 3 Nov 2023 14:30:48 +0100 Subject: [PATCH 1/3] Add test project for broadcasts --- test/broadcasts.sb3 | Bin 0 -> 2299 bytes test/engine/engine_test.cpp | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 test/broadcasts.sb3 diff --git a/test/broadcasts.sb3 b/test/broadcasts.sb3 new file mode 100644 index 0000000000000000000000000000000000000000..0347dd4308e1963a8a0f98d9d6f2288a65962bd9 GIT binary patch literal 2299 zcma);cTf}f62}8XL+=ERF7-eOfsoKUQVdN%kP;3;h>>C_Nf4wcO$0%T2%#!+DAGbZ znh2pt6$zaHCq>}!fe=w?B9Hgx&D@pEy2W-OBEX<6qM!)hl0_wdU+r} zT`<$AH4vsGJ69LHqf*zLu+~w7$?uUPQPdV9XH|c4H$c427+KA(0|L=3d{PstIh~)6 zfTFAuY(>)CTBBvt(&8(ff@lF{aLI4Tox|4}p6*4vjG<4@zt%eGXw6=G2LK+J0mNf^ z?~F0>TO1Fy$Nk*`sligK`G@WIMDo57%Q{pgie9`RsKJ5*=U=KsT_sySv2s78dVhSd z*HO8W*V&E$$3a}l4^6Z1#ReyvTpip>e^==p_8{MVO7U?9`J;~ zX!O&9=!-*PcvZU8ckT1XV`=Z(KpboosYVZ?_%~_q7!Nxl9MOVH7FRDwO@Hb>YOmrb zA)6XKW*q9rN{HAnwhlB}AYTQ8to!mS^=LMj>$FD0*gRbpqJ*0PN_ROz@$=l2pUV1U z&*~5_rVrWbw?es0;(**yX3poW=RwS}=0>wVfJOh6_azq<-4-EdidgiTTa!&`>+6ND zsaEH~!UMsfU&LdeMqKxY`=4snd9sqLZlJ}lnMnGYBUbv&&tdX32g0-2W{2-bN?1q= znLy$m>b;GREKIlG)BfJ6o3@+h{}Qy`{@S~qCdH|{FrH#;1_@#)r(ac^Iv!-!jphdH z&^hzeu;)i23sYRJD?AR!RUX5ng79w+!=&FH2Q5>kkW?MlEJy&;UMC4XWhHKJoEx6c z|A5r@{v%n5F#!*lHWlF)=BYuATgj59l8)kbZTBo$$&DZ^Btj<9ZXScLllD8{n3eZ=n=raTbX{$mUR4@Ao?YH^vUMqM*=vZc zko`jhccmx0mqj;OvoJg_L^;%GzrBmC%DAH1l;Y22qpyN}37^2$+?u&p=7e#imMkql zHpFQd-ZgEK4wJi(DLX53-5Qr#9!A%}6L=Elf9k99OubmQbF~Q@yoh+<95Iz+b117H z8ER5*`;m_DP1>Af!H7jr!a-_k2X>7sLa;%l!J=Gu2wX5`aztH(%1L;Ge=u^Oq%*qL3NovTQO^PWDggI*1My zJ^{)?Su>-$76xxb9$op|Eyj<^EEN^>uLH_otVv3CSk3U5B8LAmB?!;0JTiNS$$#{R z)%7C%fisV~URj08A@C0Jxrht|;oVDAdl{LKYTDty2{!G%O--S(S3(alRCA_=N*7)j zJ4NkFuZm*_xyi7L^H?owDw-~}s`80_T?qyCY~@aQSdH$x3B9Pu#TQkCVC-wxPDCm{ za$}rR6W`tCcux8qa9JH_SytGY27FkoXd;*{`axT^bf&z#&L)2UU+$DfoEDn4^D~al z#urjxXyP`ffzGYq+up%#;>6rmf5mh&wx2DKH`j4iZ&X5pf-|xV7RY9{D)Xci-;J2m ztjge?6U!C*vvWjix@XCWWc`NKyfn0%QXnf~8|&HNx#ZHQe;Q7gdHioe zBfLymr(0$4)a6dy2cxbASJS{i;V?BU28%_jtE)pbe4)NRa9@m;hBqXXbS=;Z$sH#x zIDad7x(U=%t@KsAB_;9A#3kFpGiNO{zXJ`lm&;<D?Ji zL@>*5)mJqMQ-3AD!K@*%dAt_=yAAPRE}9!hhQsnkSD{p|>m?-wGf(MA7OLo^v+jj* zZ4>L|Bd>)q^Z+s*BSZ$v$I?g|4Rbi+2h{I+n_blaob7!oyk;cJdFN(#;7*t*Cv=}H zQFgIjzIqY~@Ilccc}P_n*aa+ literal 0 HcmV?d00001 diff --git a/test/engine/engine_test.cpp b/test/engine/engine_test.cpp index 3e621154..0431e6c6 100644 --- a/test/engine/engine_test.cpp +++ b/test/engine/engine_test.cpp @@ -673,6 +673,31 @@ TEST(EngineTest, CloneLimit) ASSERT_EQ(GET_VAR(stage, "test5")->value().toString(), "2 2 0 0"); }*/ +// TODO: Uncomment this after fixing #256 and #257 +/*TEST(EngineTest, BroadcastsProject) +{ + // TODO: Set "infinite" FPS (#254) + Project p("broadcasts.sb3"); + ASSERT_TRUE(p.load()); + p.run(); + + auto engine = p.engine(); + + Stage *stage = engine->stage(); + ASSERT_TRUE(stage); + + ASSERT_VAR(stage, "test1"); + ASSERT_EQ(GET_VAR(stage, "test1")->value().toInt(), 4); + ASSERT_VAR(stage, "test2"); + ASSERT_EQ(GET_VAR(stage, "test2")->value().toInt(), 14); + ASSERT_VAR(stage, "test3"); + ASSERT_EQ(GET_VAR(stage, "test3")->value().toInt(), 10); + ASSERT_VAR(stage, "test4"); + ASSERT_EQ(GET_VAR(stage, "test4")->value().toInt(), 10); + ASSERT_VAR(stage, "test5"); + ASSERT_EQ(GET_VAR(stage, "test5")->value().toString(), "2 2 0 0"); +}*/ + TEST(EngineTest, NoCrashAfterStop) { // Regtest for #186 From ee36e524638a4c73d517feea7f991c611d83b552 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Fri, 3 Nov 2023 14:51:01 +0100 Subject: [PATCH 2/3] Add test project for stop all --- test/engine/engine_test.cpp | 16 ++++++++++++++++ test/stop_all.sb3 | Bin 0 -> 1641 bytes 2 files changed, 16 insertions(+) create mode 100644 test/stop_all.sb3 diff --git a/test/engine/engine_test.cpp b/test/engine/engine_test.cpp index 0431e6c6..411b2049 100644 --- a/test/engine/engine_test.cpp +++ b/test/engine/engine_test.cpp @@ -698,6 +698,22 @@ TEST(EngineTest, CloneLimit) ASSERT_EQ(GET_VAR(stage, "test5")->value().toString(), "2 2 0 0"); }*/ +// TODO: Uncomment this after fixing #305 +/*TEST(EngineTest, StopAll) +{ + Project p("stop_all.sb3"); + ASSERT_TRUE(p.load()); + p.run(); + + auto engine = p.engine(); + + Stage *stage = engine->stage(); + ASSERT_TRUE(stage); + + ASSERT_VAR(stage, "i"); + ASSERT_EQ(GET_VAR(stage, "i")->value().toInt(), 11); +}*/ + TEST(EngineTest, NoCrashAfterStop) { // Regtest for #186 diff --git a/test/stop_all.sb3 b/test/stop_all.sb3 new file mode 100644 index 0000000000000000000000000000000000000000..8ccc6eec549fbd7102d0e450af9f38437c2bc9ff GIT binary patch literal 1641 zcmWIWW@h1HU|`^2NXtzQFTGoQbrCZIgE&x#2Pj%ll%JKFT%wm%oS(NhEH?kPnaE#l z*6)`XXDOZxdiEo=bg~G?w4;u1#AJC6FZJ+xpA_} z`_rBN;uY>G8&1u*m|;=v664QvPC`m5)R=$j4hCscJN~sB9$5(TB*|Z#zJJ}c_lxR( zzFE$H`u;t>YxeziU+Xl@@^>j%@E1P$`FU+S%k^(f?gqlDhN?d@byXsFF|YhPQFP*! zdnd!zm~^+#nY!|Tq~IJKNmd@!Xz3r;jGGT}C0*FCruBn>{_0)UCQp4XT)Squ>=Pqz zu#U-+l$28D^lrVQrc!Rq{J9rC=rm;%F*KdHq@gLcGGv4M+jaSQZ{C$BlwDtZ^7!}3 zFJC+=*Kl~D*!FBWQ&HdAyPNtOlbXd}@CEhw#n;c2q)Ys~;=Jj)vrD|Q+z+`=|M_2R`@Knn!SA+4 zkT&-_r>x*;xgTZ+Zt_M(m8s0oSve_`!6Iju{1UAVzMkui3KDr=#s|;V=WVv=SRwzt zdCIa(p|*wchVv)RxaioTxMM+K^lasgd!H4k@|wj=6K|Nj@_dGb+rQ%X^D`uP{=Ajp zQh0soT0Yx1FRtk!4-T_6n)~#MwhC^KlnM(G;$VE%6|Aw_ljOuf6C=WXF9SnV*bek%q0kA>7}} zc^TJxve`Kp?c2Re{%#x_-w7QCM(f@brGY{^ogR)=rb) zG-qA+ZYJA4vxp{Tqs#BVpD(PC`(9}8dH#@! zj7?(FR+zQBzeRTCuk^kUMVn)@{$I{r9AkLtNp0SAuJp*yr5C@gXf`yIe!X>XZSz#u zMxA+1(_}0z)ZM-DNoH>9?v<6hBf7E^4;22G^Vapyn}?5XcC++s-28OOTFIGde&G>U zd{4_;nC{$MbZqk-3t=yT-CRfFL*2P2M1N)1k4@Np==C<2nD`=J5#!uFzS6r+d-0}b zMh6-^Zt>cDsP4GK5>WMp8HYLJ?2nwnx^lBic)mY(bD&DX3Ta;LiM`gZms>r4(U z^7OwTyv3^}|C=_g%ig$q1$V=@BN8#6 zA2H9Algr;x`p|DKE1SFdKNdU7N6YFt6MV$qe)q0tK=oAq5vGHafSx%4^^~!(v1Ou> zrKxeEaZ;L@QBsnHL8_@qTAHc3X-ZOZY6{p>eZG861|lur=RErP?XP3FK!W2VPMgL{ zZDvfWZ#S>qE`D(7%(E%aywhe0xS#mErA3VQVifnpphqtc&6PhI>7{AL#J}X+2c1G!|*n2i_4y|Lz@as8fy8hhcun!f7 zb3c?z@fiHzZBu@*S#{l2Z-(U9i#7aZz=&dG5@Eny>;gT91dt11be-stjL>!lSd0@B i<>)4&hcLp#g)9sV#DsT%H!B-R7c&sv1Jb3eARYkn7Nq9@ literal 0 HcmV?d00001 From da5cb26c42aa978e24a77b75c328f1816b2dddb9 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Fri, 3 Nov 2023 14:51:13 +0100 Subject: [PATCH 3/3] Add test project for stop other scripts in sprite --- test/engine/engine_test.cpp | 25 +++++++++++++++++++++++++ test/stop_other_scripts_in_sprite.sb3 | Bin 0 -> 2004 bytes 2 files changed, 25 insertions(+) create mode 100644 test/stop_other_scripts_in_sprite.sb3 diff --git a/test/engine/engine_test.cpp b/test/engine/engine_test.cpp index 411b2049..73b08ff8 100644 --- a/test/engine/engine_test.cpp +++ b/test/engine/engine_test.cpp @@ -714,6 +714,31 @@ TEST(EngineTest, CloneLimit) ASSERT_EQ(GET_VAR(stage, "i")->value().toInt(), 11); }*/ +// TODO: Uncomment this after fixing #305 +/*TEST(EngineTest, StopOtherScriptsInSprite) +{ + Project p("stop_other_scripts_in_sprite.sb3"); + ASSERT_TRUE(p.load()); + p.run(); + + auto engine = p.engine(); + + Stage *stage = engine->stage(); + ASSERT_TRUE(stage); + + ASSERT_VAR(stage, "i"); + ASSERT_EQ(GET_VAR(stage, "i")->value().toInt(), 10); + + ASSERT_VAR(stage, "j"); + ASSERT_EQ(GET_VAR(stage, "j")->value().toInt(), 109); + + ASSERT_VAR(stage, "k"); + ASSERT_EQ(GET_VAR(stage, "k")->value().toInt(), 10); + + ASSERT_VAR(stage, "l"); + ASSERT_EQ(GET_VAR(stage, "l")->value().toInt(), 110); +}*/ + TEST(EngineTest, NoCrashAfterStop) { // Regtest for #186 diff --git a/test/stop_other_scripts_in_sprite.sb3 b/test/stop_other_scripts_in_sprite.sb3 new file mode 100644 index 0000000000000000000000000000000000000000..96ab336986e237ea1c71054031e12c5f1c0b6dc2 GIT binary patch literal 2004 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 t+adp%rhBTG|77IfR{XZZe^wOW0Ra9