diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-01-24 16:41:02 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-01-24 16:41:02 +0100 |
| commit | e6e2c5a8bf5c99119799c9ac706c4428fec6b5aa (patch) | |
| tree | 90a5d47ea2c7bb46fce75d5ed5fe667aa5b05637 /src/pgnp.cpp | |
| parent | 55b2c72108b1206d8b2f8565e2bc6f398a74cd2c (diff) | |
Improve tests
Diffstat (limited to 'src/pgnp.cpp')
| -rw-r--r-- | src/pgnp.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/pgnp.cpp b/src/pgnp.cpp index bb9fd29..5336cd6 100644 --- a/src/pgnp.cpp +++ b/src/pgnp.cpp @@ -239,7 +239,12 @@ int PGN::ParseNextTag(int start_loc) { tags[key] = value; tagkeys.push_back(key); - // TODO: Check that caracters if a ] + EOF_CHECK(valueloc + 1); + c = pgn_content[valueloc + 1]; + if (c != ']') { + throw UnexpectedCharacter(c, ']', valueloc + 1); + } + return (valueloc + 1); // +1 For the last char of the tag which is ']' } @@ -247,7 +252,12 @@ HalfMove *PGN::GetMoves() { return (moves); } std::vector<std::string> PGN::GetTagList() { return tagkeys; } -std::string PGN::GetTagValue(std::string key) { return tags[key]; } +std::string PGN::GetTagValue(std::string key) { + if (tags.find(key) == tags.end()) { + throw InvalidTagName(); + } + return tags[key]; +} void PGN::Dump() { std::cout << "---------- PGN DUMP ----------" << std::endl; |
