Skip to content

Commit bf03e0a

Browse files
authored
Merge pull request #559 from scratchcpp/fix_broadcast_referencing
Fix #551: Fix broadcast referencing
2 parents 3875f70 + ca98dff commit bf03e0a

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/engine/internal/engine.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1083,7 +1083,14 @@ std::shared_ptr<Broadcast> Engine::broadcastAt(int index) const
10831083

10841084
int Engine::findBroadcast(const std::string &broadcastName) const
10851085
{
1086-
auto it = std::find_if(m_broadcasts.begin(), m_broadcasts.end(), [broadcastName](std::shared_ptr<Broadcast> broadcast) { return broadcast->name() == broadcastName; });
1086+
std::string lowercaseName = broadcastName;
1087+
std::transform(lowercaseName.begin(), lowercaseName.end(), lowercaseName.begin(), ::tolower);
1088+
1089+
auto it = std::find_if(m_broadcasts.begin(), m_broadcasts.end(), [lowercaseName](std::shared_ptr<Broadcast> broadcast) {
1090+
std::string name = broadcast->name();
1091+
std::transform(name.begin(), name.end(), name.begin(), ::tolower);
1092+
return name == lowercaseName;
1093+
});
10871094

10881095
if (it == m_broadcasts.end())
10891096
return -1;

test/engine/engine_test.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,8 @@ TEST(EngineTest, Broadcasts)
12891289
ASSERT_EQ(engine.findBroadcast("message1"), 0);
12901290
ASSERT_EQ(engine.findBroadcast("message2"), 1);
12911291
ASSERT_EQ(engine.findBroadcast("Test"), 2);
1292+
ASSERT_EQ(engine.findBroadcast("MessAge2"), 1);
1293+
ASSERT_EQ(engine.findBroadcast("tEst"), 2);
12921294

12931295
ASSERT_EQ(engine.findBroadcastById("d"), -1);
12941296
ASSERT_EQ(engine.findBroadcastById("a"), 0);

0 commit comments

Comments
 (0)