diff --git a/src/engine/internal/engine.cpp b/src/engine/internal/engine.cpp index 1f1235df..dabd0920 100644 --- a/src/engine/internal/engine.cpp +++ b/src/engine/internal/engine.cpp @@ -1083,7 +1083,14 @@ std::shared_ptr Engine::broadcastAt(int index) const int Engine::findBroadcast(const std::string &broadcastName) const { - auto it = std::find_if(m_broadcasts.begin(), m_broadcasts.end(), [broadcastName](std::shared_ptr broadcast) { return broadcast->name() == broadcastName; }); + std::string lowercaseName = broadcastName; + std::transform(lowercaseName.begin(), lowercaseName.end(), lowercaseName.begin(), ::tolower); + + auto it = std::find_if(m_broadcasts.begin(), m_broadcasts.end(), [lowercaseName](std::shared_ptr broadcast) { + std::string name = broadcast->name(); + std::transform(name.begin(), name.end(), name.begin(), ::tolower); + return name == lowercaseName; + }); if (it == m_broadcasts.end()) return -1; diff --git a/test/engine/engine_test.cpp b/test/engine/engine_test.cpp index 9b8991f7..42b5d675 100644 --- a/test/engine/engine_test.cpp +++ b/test/engine/engine_test.cpp @@ -1289,6 +1289,8 @@ TEST(EngineTest, Broadcasts) ASSERT_EQ(engine.findBroadcast("message1"), 0); ASSERT_EQ(engine.findBroadcast("message2"), 1); ASSERT_EQ(engine.findBroadcast("Test"), 2); + ASSERT_EQ(engine.findBroadcast("MessAge2"), 1); + ASSERT_EQ(engine.findBroadcast("tEst"), 2); ASSERT_EQ(engine.findBroadcastById("d"), -1); ASSERT_EQ(engine.findBroadcastById("a"), 0);