mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-11 04:23:29 -08:00
[Card] Add a Tag attribute to the card filter tree
This commit is contained in:
parent
9f19512ff0
commit
0929d02b26
5 changed files with 35 additions and 0 deletions
|
|
@ -15,6 +15,7 @@
|
|||
#include <libcockatrice/card/database/card_database_manager.h>
|
||||
#include <libcockatrice/card/printing/printing_info.h>
|
||||
#include <libcockatrice/filters/filter_string.h>
|
||||
#include <libcockatrice/filters/filter_tree.h>
|
||||
#include <libcockatrice/interfaces/noop_card_preference_provider.h>
|
||||
#include <libcockatrice/interfaces/noop_card_set_priority_controller.h>
|
||||
#include <string>
|
||||
|
|
@ -220,6 +221,23 @@ TEST_F(CardQuery, TagQueryTreatsCommasAsPartOfTheSlug)
|
|||
ASSERT_FALSE(FilterString("tags:ramp,removal").check(tagged));
|
||||
}
|
||||
|
||||
TEST_F(CardQuery, FilterTreeTagAttribute)
|
||||
{
|
||||
const CardData tagged = taggedCard();
|
||||
|
||||
FilterTree matching;
|
||||
matching.termNode(CardFilter::AttrTag, CardFilter::TypeAnd, "ramp");
|
||||
ASSERT_TRUE(matching.acceptsCard(tagged, CardSearchLanguage{}));
|
||||
|
||||
FilterTree partial;
|
||||
partial.termNode(CardFilter::AttrTag, CardFilter::TypeAnd, "ram");
|
||||
ASSERT_FALSE(partial.acceptsCard(tagged, CardSearchLanguage{}));
|
||||
|
||||
FilterTree missing;
|
||||
missing.termNode(CardFilter::AttrTag, CardFilter::TypeAnd, "squirrel");
|
||||
ASSERT_FALSE(missing.acceptsCard(tagged, CardSearchLanguage{}));
|
||||
}
|
||||
|
||||
TEST_F(CardQuery, TagQueryFalseWhenCardHasNoTags)
|
||||
{
|
||||
ASSERT_FALSE(FilterString("tags:ramp").check(cat));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue