From ab1206aeaf98ce0667ea7bb36b6867d882c7f6e0 Mon Sep 17 00:00:00 2001 From: marco <marco@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Tue, 6 Jul 2010 12:30:27 +0000 Subject: [PATCH] allow _ in property names Fixes BZDNG-139 git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2533 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/mol/base/src/impl/query_impl.cc | 6 ------ modules/mol/base/tests/test_query.cc | 18 +++++++++--------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/modules/mol/base/src/impl/query_impl.cc b/modules/mol/base/src/impl/query_impl.cc index d90ded27a..9cc961f13 100644 --- a/modules/mol/base/src/impl/query_impl.cc +++ b/modules/mol/base/src/impl/query_impl.cc @@ -145,16 +145,10 @@ bool is_ident_or_str(char c) { QueryToken QueryLexer::LexIdentOrStringToken() { static IdentTokens ident_tokens; size_t start=current_; - bool is_string=false; while (current_<query_string_.length() && is_ident_or_str(query_string_[current_])) { - if (!isalnum(query_string_[current_])) - is_string=true; current_++; } - if (is_string) { - return QueryToken(Range(start, current_-start), tok::String); - } String ident=query_string_.substr(start, current_-start); if (tok::Type* t=find(ident_tokens, ident.c_str())) { return QueryToken(Range(start, current_-start), *t); diff --git a/modules/mol/base/tests/test_query.cc b/modules/mol/base/tests/test_query.cc index 3dd125e44..d84a3156b 100644 --- a/modules/mol/base/tests/test_query.cc +++ b/modules/mol/base/tests/test_query.cc @@ -33,7 +33,7 @@ EntityHandle make_query_test_entity() EntityHandle eh = CreateEntity(); XCSEditor e=eh.RequestXCSEditor(); ChainHandle chain = e.InsertChain("A"); - chain.SetFloatProp("testpropc", 1.0); + chain.SetFloatProp("testprop_c", 1.0); ResidueHandle res = e.AppendResidue(chain, "MET"); res.SetFloatProp("testpropr", 1.0); AtomProp c_atom; @@ -229,9 +229,9 @@ BOOST_AUTO_TEST_CASE(test_query_eval) ensure_counts(e, "grtestpropr:0=1", 1, 1, 8); ensure_counts(e, "grtestpropr:1.0=1", 1, 3, 27); ensure_counts(e, "grtestpropr:2.0=2", 1, 2, 19); - ensure_counts(e, "gctestpropc:0=1", 1, 3, 27); - ensure_counts(e, "gctestpropc:1.0=1", 1, 3, 27); - ensure_counts(e, "gctestpropc:2.0=2", 0, 0, 0); + ensure_counts(e, "gctestprop_c:0=1", 1, 3, 27); + ensure_counts(e, "gctestprop_c:1.0=1", 1, 3, 27); + ensure_counts(e, "gctestprop_c:2.0=2", 0, 0, 0); } BOOST_AUTO_TEST_CASE(test_query_eval_on_view) @@ -261,9 +261,9 @@ BOOST_AUTO_TEST_CASE(test_query_eval_on_view) ensure_counts_v(v, "grtestpropr:0=1", 1, 1, 8); ensure_counts_v(v, "grtestpropr:1.0=1", 1, 3, 27); ensure_counts_v(v, "grtestpropr:2.0=2", 1, 2, 19); - ensure_counts_v(v, "gctestpropc:0=1", 1, 3, 27); - ensure_counts_v(v, "gctestpropc:1.0=1", 1, 3, 27); - ensure_counts_v(v, "gctestpropc:2.0=2", 0, 0, 0); + ensure_counts_v(v, "gctestprop_c:0=1", 1, 3, 27); + ensure_counts_v(v, "gctestprop_c:1.0=1", 1, 3, 27); + ensure_counts_v(v, "gctestprop_c:2.0=2", 0, 0, 0); } BOOST_AUTO_TEST_CASE(test_query_throw) @@ -275,8 +275,8 @@ BOOST_AUTO_TEST_CASE(test_query_throw) BOOST_CHECK_NO_THROW(e.Select("grtestpropr:0=1")); BOOST_CHECK_NO_THROW(e.Select("grtestpropr:1=1")); BOOST_CHECK_THROW(e.Select("grtestpropr=1"), std::exception); - BOOST_CHECK_NO_THROW(e.Select("gctestpropc:0=1")); - BOOST_CHECK_NO_THROW(e.Select("gctestpropc:1=1")); + BOOST_CHECK_NO_THROW(e.Select("gctestprop_c:0=1")); + BOOST_CHECK_NO_THROW(e.Select("gctestprop_c:1=1")); BOOST_CHECK_THROW(e.Select("ganotsetprop=1"), std::exception); BOOST_CHECK_THROW(e.Select("grnotsetprop=1"), std::exception); BOOST_CHECK_THROW(e.Select("gcnotsetprop=1"), std::exception); -- GitLab