diff --git a/libcorpus2/CMakeLists.txt b/libcorpus2/CMakeLists.txt index b9d669fb4d17380f4db36802ffc00897b302713c..50e5d29123913ad6419462525daf082d755c62cc 100644 --- a/libcorpus2/CMakeLists.txt +++ b/libcorpus2/CMakeLists.txt @@ -3,7 +3,7 @@ PROJECT(corpus2) set(corpus2_ver_major "0") set(corpus2_ver_minor "1") -set(corpus2_ver_patch "1") +set(corpus2_ver_patch "2") if(NOT LIBCORPUS2_SRC_DATA_DIR) diff --git a/libcorpus2/tagset.cpp b/libcorpus2/tagset.cpp index e2407212cddf71ce9a6bb71ba589ad92240f493b..6c0e499e8f30eb56670a5040692a45dab66b6c0c 100644 --- a/libcorpus2/tagset.cpp +++ b/libcorpus2/tagset.cpp @@ -98,7 +98,7 @@ std::string Tagset::id_string(const Tag& tag) const Tag Tagset::parse_symbol(const std::string& s) const { mask_t m = get_pos_mask(s); - if (m.none()) { + if (m.any()) { return Tag(m); } m = get_attribute_mask(s); diff --git a/tests/tag_split.cpp b/tests/tag_split.cpp index b666049cde8dbce061369a81f9f52429a12a5814..c252903906e328f4dd8bfb58d83a0e6ee717119f 100644 --- a/tests/tag_split.cpp +++ b/tests/tag_split.cpp @@ -216,6 +216,18 @@ BOOST_FIXTURE_TEST_CASE( s, F ) } +BOOST_FIXTURE_TEST_CASE( symbols, F ) +{ + Corpus2::Tag t; + t = tagset->parse_symbol("some"); + BOOST_CHECK_EQUAL(tagset->tag_to_symbol_string(t), "some"); + t = tagset->parse_symbol("tag"); + BOOST_CHECK_EQUAL(tagset->tag_to_symbol_string(t), "tag"); + t = tagset->parse_symbol("C"); + BOOST_CHECK_EQUAL(tagset->tag_to_symbol_string(t), "C"); + BOOST_CHECK(tagset->tag_to_symbol_string(t, false) != "C"); +} + BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_CASE(bs_split)