@@ -231,7 +231,8 @@ TEST(LoadProjectTest, LoadTestProject)
231
231
232
232
// Stage: lists
233
233
ASSERT_LIST (stage, " list1" );
234
- ASSERT_EQ (GET_LIST (stage, " list1" )->toString (), " 3 1 4 8 7 6 7 7 2 4" );
234
+ ASSERT_EQ (GET_LIST (stage, " list1" )->size (), 10 );
235
+ ASSERT_EQ (GET_LIST (stage, " list1" )->toString (), " 3148767724" );
235
236
236
237
// Sprite1
237
238
ASSERT_NE (engine->findTarget (" Sprite1" ), -1 );
@@ -282,7 +283,8 @@ TEST(LoadProjectTest, LoadTestProject)
282
283
283
284
// Sprite1: lists
284
285
ASSERT_LIST (sprite1, " list2" );
285
- ASSERT_EQ (GET_LIST (sprite1, " list2" )->toString (), " 9 6 3 8 0 4 4 2 9 7" );
286
+ ASSERT_EQ (GET_LIST (sprite1, " list2" )->size (), 10 );
287
+ ASSERT_EQ (GET_LIST (sprite1, " list2" )->toString (), " 9638044297" );
286
288
287
289
// Sprite1: blocks
288
290
ASSERT_EQ (sprite1->greenFlagBlocks ().size (), 1 );
@@ -445,7 +447,8 @@ TEST(LoadProjectTest, LoadTestProject)
445
447
446
448
// Balloon1: lists
447
449
ASSERT_LIST (sprite2, " list2" );
448
- ASSERT_EQ (GET_LIST (sprite2, " list2" )->toString (), " 0 4 3 4 1 5 6 9 4 8" );
450
+ ASSERT_EQ (GET_LIST (sprite2, " list2" )->size (), 10 );
451
+ ASSERT_EQ (GET_LIST (sprite2, " list2" )->toString (), " 0434156948" );
449
452
450
453
// Monitors
451
454
const auto &monitors = engine->monitors ();
@@ -740,3 +743,19 @@ TEST(LoadProjectTest, LoadDoubleValue)
740
743
741
744
std::setlocale (LC_NUMERIC, oldLocale.c_str ());
742
745
}
746
+
747
+ TEST (LoadProjectTest, LoadScientificNotationNumber)
748
+ {
749
+ // Regtest for #488
750
+ std::string name = " regtest_projects/488_scientific_notation_conversion.sb3" ;
751
+ Project p (name);
752
+ ASSERT_TRUE (p.load ());
753
+
754
+ auto stage = p.engine ()->stage ();
755
+ ASSERT_TRUE (stage);
756
+ ASSERT_VAR (stage, " test1" );
757
+ ASSERT_EQ (GET_VAR (stage, " test1" )->value ().toDouble (), 5000 );
758
+
759
+ ASSERT_VAR (stage, " test2" );
760
+ ASSERT_EQ (GET_VAR (stage, " test2" )->value ().toDouble (), 0 );
761
+ }
0 commit comments