From 49df8b3551e8b52055615bdc5f31c5963868b0de Mon Sep 17 00:00:00 2001
From: ilor <kailoran@gmail.com>
Date: Mon, 15 Nov 2010 10:38:09 +0100
Subject: [PATCH] fix logic-reversal bug in Tagset::parse_symbol, add relevant
 tests and bump version to 0.1.2

---
 libcorpus2/CMakeLists.txt |  2 +-
 libcorpus2/tagset.cpp     |  2 +-
 tests/tag_split.cpp       | 12 ++++++++++++
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/libcorpus2/CMakeLists.txt b/libcorpus2/CMakeLists.txt
index ae39d3b..9433e27 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 8fbb296..98d402b 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 b666049..c252903 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)
-- 
GitLab