Add input completion test suite (#4644)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
This commit is contained in:
@@ -265,7 +265,7 @@ void Emojis::loadEmojiSet()
|
||||
}
|
||||
|
||||
std::vector<boost::variant<EmotePtr, QString>> Emojis::parse(
|
||||
const QString &text)
|
||||
const QString &text) const
|
||||
{
|
||||
auto result = std::vector<boost::variant<EmotePtr, QString>>();
|
||||
int lastParsedEmojiEndIndex = 0;
|
||||
@@ -359,7 +359,7 @@ std::vector<boost::variant<EmotePtr, QString>> Emojis::parse(
|
||||
return result;
|
||||
}
|
||||
|
||||
QString Emojis::replaceShortCodes(const QString &text)
|
||||
QString Emojis::replaceShortCodes(const QString &text) const
|
||||
{
|
||||
QString ret(text);
|
||||
auto it = this->findShortCodesRegex_.globalMatch(text);
|
||||
@@ -393,4 +393,14 @@ QString Emojis::replaceShortCodes(const QString &text)
|
||||
return ret;
|
||||
}
|
||||
|
||||
const EmojiMap &Emojis::getEmojis() const
|
||||
{
|
||||
return this->emojis;
|
||||
}
|
||||
|
||||
const std::vector<QString> &Emojis::getShortCodes() const
|
||||
{
|
||||
return this->shortCodes;
|
||||
}
|
||||
|
||||
} // namespace chatterino
|
||||
|
||||
@@ -37,16 +37,32 @@ struct EmojiData {
|
||||
|
||||
using EmojiMap = ConcurrentMap<QString, std::shared_ptr<EmojiData>>;
|
||||
|
||||
class Emojis
|
||||
class IEmojis
|
||||
{
|
||||
public:
|
||||
virtual ~IEmojis() = default;
|
||||
|
||||
virtual std::vector<boost::variant<EmotePtr, QString>> parse(
|
||||
const QString &text) const = 0;
|
||||
virtual const EmojiMap &getEmojis() const = 0;
|
||||
virtual const std::vector<QString> &getShortCodes() const = 0;
|
||||
virtual QString replaceShortCodes(const QString &text) const = 0;
|
||||
};
|
||||
|
||||
class Emojis : public IEmojis
|
||||
{
|
||||
public:
|
||||
void initialize();
|
||||
void load();
|
||||
std::vector<boost::variant<EmotePtr, QString>> parse(const QString &text);
|
||||
std::vector<boost::variant<EmotePtr, QString>> parse(
|
||||
const QString &text) const override;
|
||||
|
||||
EmojiMap emojis;
|
||||
std::vector<QString> shortCodes;
|
||||
QString replaceShortCodes(const QString &text);
|
||||
QString replaceShortCodes(const QString &text) const override;
|
||||
|
||||
const EmojiMap &getEmojis() const override;
|
||||
const std::vector<QString> &getShortCodes() const override;
|
||||
|
||||
private:
|
||||
void loadEmojis();
|
||||
|
||||
Reference in New Issue
Block a user