mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Adding support for deck name in Forge Deck Format
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
This commit is contained in:
@@ -153,7 +153,7 @@ public class DeckRecognizer {
|
||||
// Core Matching Patterns (initialised in Constructor)
|
||||
public static final String REGRP_DECKNAME = "deckName";
|
||||
public static final String REX_DECK_NAME =
|
||||
String.format("^(//\\s*)?(?<pre>(deck|name))(\\:|\\s)\\s*(?<%s>[a-zA-Z0-9',\\/\\-\\s]+)\\s*(.*)$",
|
||||
String.format("^(//\\s*)?(?<pre>(deck|name))(\\:|=|\\s)\\s*(?<%s>[a-zA-Z0-9',\\/\\-\\s\\(\\)]+)\\s*(.*)$",
|
||||
REGRP_DECKNAME);
|
||||
public static final Pattern DECK_NAME_PATTERN = Pattern.compile(REX_DECK_NAME, Pattern.CASE_INSENSITIVE);
|
||||
|
||||
|
||||
@@ -168,6 +168,14 @@ public class DeckRecognizerTest extends ForgeCardMockTestCase {
|
||||
assertEquals(deckNameMatcher.group(DeckRecognizer.REGRP_DECKNAME), "Red Green Aggro");
|
||||
assertEquals(DeckRecognizer.getDeckName(matchingDeckName), "Red Green Aggro");
|
||||
|
||||
// Forge deck format
|
||||
matchingDeckName = "Name=Sliver Overlord (Commander)";
|
||||
deckNameMatcher = deckNamePattern.matcher(matchingDeckName);
|
||||
assertTrue(deckNameMatcher.matches());
|
||||
assertTrue(DeckRecognizer.isDeckName(matchingDeckName));
|
||||
assertEquals(deckNameMatcher.group(DeckRecognizer.REGRP_DECKNAME), "Sliver Overlord (Commander)");
|
||||
assertEquals(DeckRecognizer.getDeckName(matchingDeckName), "Sliver Overlord (Commander)");
|
||||
|
||||
// Failing Cases
|
||||
matchingDeckName = ":Red Green Aggro";
|
||||
deckNameMatcher = deckNamePattern.matcher(matchingDeckName);
|
||||
|
||||
Reference in New Issue
Block a user