@@ -32,6 +32,7 @@ class ProjectLoaderTest : public testing::Test
3232 QSignalSpy clonesSpy (loader, &ProjectLoader::clonesChanged);
3333 QSignalSpy monitorsSpy (loader, &ProjectLoader::monitorsChanged);
3434 QSignalSpy monitorAddedSpy (loader, &ProjectLoader::monitorAdded);
35+ QSignalSpy unsupportedBlocksSpy (loader, &ProjectLoader::unsupportedBlocksChanged);
3536
3637 loader->setFileName (fileName);
3738
@@ -60,6 +61,7 @@ class ProjectLoaderTest : public testing::Test
6061 ASSERT_EQ (clonesSpy.count (), 1 );
6162 ASSERT_EQ (monitorsSpy.count (), loader->monitorList ().size () + 1 );
6263 ASSERT_EQ (monitorAddedSpy.count (), loader->monitorList ().size ());
64+ ASSERT_EQ (unsupportedBlocksSpy.count (), 1 );
6365 }
6466};
6567
@@ -107,6 +109,25 @@ TEST_F(ProjectLoaderTest, Load)
107109 ASSERT_EQ (valueMonitorModel->color (), QColor::fromString (" #FF8C1A" ));
108110}
109111
112+ TEST_F (ProjectLoaderTest, UnsupportedBlocks)
113+ {
114+ ProjectLoader loader;
115+ ASSERT_TRUE (loader.fileName ().isEmpty ());
116+ ASSERT_FALSE (loader.loadStatus ());
117+ ASSERT_TRUE (loader.stage ());
118+
119+ loader.setFileName (" unsupported_blocks.sb3" );
120+ loader.start (); // wait until it loads
121+
122+ auto engine = loader.engine ();
123+ const auto &blocks = loader.unsupportedBlocks ();
124+ const auto &refBlocks = engine->unsupportedBlocks ();
125+ ASSERT_EQ (blocks.size (), refBlocks.size ());
126+
127+ for (const QString &opcode : blocks)
128+ ASSERT_NE (refBlocks.find (opcode.toStdString ()), refBlocks.cend ());
129+ }
130+
110131TEST_F (ProjectLoaderTest, Clones)
111132{
112133 ProjectLoader loader;
0 commit comments