diff --git a/libcorpus2/CMakeLists.txt b/libcorpus2/CMakeLists.txt index ae39d3bdfe9bbf5d54ed1875b7ab0db9c40e3c42..9433e273b52ad02526ed897d232b4c9771513d23 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 8fbb29619c2d79235674e4323e5b5c46d46f79fe..98d402b1b231c5d613b4996412b23e970645f3b3 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)