#! @builddir@/grub-shell-tester
#
# Copyright (C) 2010,2012  Free Software Foundation, Inc.
#
# GRUB 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.
#
# GRUB 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 GRUB.  If not, see <http://www.gnu.org/licenses/>.

echo $"foo"
echo $"foo   bar"

echo -n $"foo"

echo -e $"foo\nbar"

echo -n -e $"foo\nbar"

x=5
echo $"$x"
echo $"\x\\y\$x$x\\$xx${x}x\"$x\""

echo $"$"
echo $"$,x"

echo $"one
"
echo $"one
\""
echo $"one
two"

echo one$"two
"three
echo one$"two
\""three
echo one$"two
\"three\"
four"

echo $"one\
"
echo $"one\
\""
echo $"one\
two"

echo one$"two\
"three
echo one$"two\
\""three
echo one$"two\
\"three\"\
four"

if test -n "$grubshell"; then insmod regexp; fi

echo $"*"

foo="*"
echo $"$foo"
