diff --git a/src/ltltest/Makefile.am b/src/ltltest/Makefile.am index 3b921a8e4..f6e0202e6 100644 --- a/src/ltltest/Makefile.am +++ b/src/ltltest/Makefile.am @@ -76,6 +76,7 @@ EXTRA_DIST = $(TESTS) # Ordered by strength of the test. Test basic features first. TESTS = \ + bare.test \ parse.test \ parseerr.test \ utf8.test \ diff --git a/src/ltltest/bare.test b/src/ltltest/bare.test new file mode 100755 index 000000000..7395a067c --- /dev/null +++ b/src/ltltest/bare.test @@ -0,0 +1,33 @@ +#!/bin/sh +# -*- coding: utf-8 -*- +# Copyright (C) 2012 Laboratoire de Recherche et Développement +# de l'Epita (LRDE). +# +# This file is part of Spot, a model checking library. +# +# Spot is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Spot is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +. ./defs +set -e + +test "`../../bin/ltlfilt -p -f 'GFP_0.b_c'`" = "(G(F(P_0.b_c)))" +test "`../../bin/ltlfilt -f 'GFP_0.b_c'`" = "GFP_0.b_c" +foo=`../../bin/ltlfilt -p -f 'GF"P_0.b_c"'` +test "$foo" = "(G(F(P_0.b_c)))" + +foo=`../../bin/ltlfilt -p -f '"a.b" U c.d.e'` +test "$foo" = "(a.b) U (c.d.e)" + +foo=`../../bin/ltlfilt -f '"a.b" U c.d.e'` +test "$foo" = "a.b U c.d.e" diff --git a/src/ltlvisit/tostring.cc b/src/ltlvisit/tostring.cc index e2d6b92a0..ada53b33f 100644 --- a/src/ltlvisit/tostring.cc +++ b/src/ltlvisit/tostring.cc @@ -198,13 +198,13 @@ namespace spot || *str == 'F' || *str == 'G' || *str == 'X' - || !(isalpha(*str) || *str == '_') + || !(isalpha(*str) || *str == '_' || *str == '.') || !strcasecmp(str, "true") || !strcasecmp(str, "false")) return false; // The remaining of the word must be alphanumeric. while (*++str) - if (!(isalnum(*str) || *str == '_')) + if (!(isalnum(*str) || *str == '_' || *str == '.')) return false; return true; }