# HG changeset patch # User David Demelier # Date 1491247963 -7200 # Node ID a2ed6bc6e42ce8576004567f421d3ac86906edd8 # Parent 7db60982075fb346975f758cc0a8be27789ba6fe Fix #642: fix case sensitivity in hangman, roulette Plugins hangman and roulette are actually case sensitive which means that using them in #abc and #ABC ends in different results and should not. Task: #642 Errata: 20170403 diff -r 7db60982075f -r a2ed6bc6e42c plugins/hangman/hangman.js --- a/plugins/hangman/hangman.js Tue Mar 07 12:20:20 2017 +0100 +++ b/plugins/hangman/hangman.js Mon Apr 03 21:32:43 2017 +0200 @@ -329,6 +329,8 @@ function onCommand(server, origin, channel, message) { + channel = channel.toLowerCase(); + var game = Hangman.find(server, channel); var kw = { channel: channel, @@ -361,6 +363,8 @@ function onMessage(server, origin, channel, message) { + channel = channel.toLowerCase(); + var game = Hangman.find(server, channel); if (!game) diff -r 7db60982075f -r a2ed6bc6e42c plugins/roulette/roulette.js --- a/plugins/roulette/roulette.js Tue Mar 07 12:20:20 2017 +0100 +++ b/plugins/roulette/roulette.js Mon Apr 03 21:32:43 2017 +0200 @@ -126,6 +126,8 @@ function onCommand(server, origin, channel) { + channel = channel.toLowerCase(); + var kw = { channel: channel, command: server.info().commandChar + Plugin.info().name, diff -r 7db60982075f -r a2ed6bc6e42c tests/plugin-hangman/main.cpp --- a/tests/plugin-hangman/main.cpp Tue Mar 07 12:20:20 2017 +0100 +++ b/tests/plugin-hangman/main.cpp Mon Apr 03 21:32:43 2017 +0200 @@ -198,6 +198,19 @@ ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _", m_server->last()); } +TEST_F(HangmanTest, caseInsensitive) +{ + load(); + + m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); + m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#HANGMAN", "s"}); + ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); + m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#HaNGMaN", "k"}); + ASSERT_EQ("#hangman:wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k", m_server->last()); + m_plugin->onMessage(m_irccd, MessageEvent{m_server, "francis!francis@localhost", "#hAngmAn", "k"}); + ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _", m_server->last()); +} + TEST_F(HangmanTest, query) { load();