#!/bin/bash
# test-suite.sh
# Un test partiel de compatibilité Bash.
# Lancez-le sous Bash ou avec un autre shell.
# Traduction : Jean-Philippe Guérard

reponse_par_defaut=PAS_BON    # Les tests ci-dessous échoueront à moins que...

echo
echo -n "Test "
sleep 1; echo -n ". "
sleep 1; echo -n ". "
sleep 1; echo ". "
echo

# Double crochets
Texte="Compatible avec les doubles crochets ?"
echo -n "Test des doubles crochets : "
if [[ "$Texte" = "Compatible avec les doubles crochets ?" ]]
then
  echo "OK"
else
  echo "PAS_BON"
fi


# Doubles crochets et expressions rationnelles
Texte="Compatible avec les expressions rationnelles ?"
echo -n "Test des expressions rationnelles : "
if [[ "$Texte" =~ c.....expressions* ]]
then
  echo "OK"
else
  echo "PAS_BON"
fi


# Tableaux
test_arr=$reponse_par_defaut     # PAS_BON
Array=( Affiche OK si compatible avec les tableaux )
test_arr=${Array[1]}
echo "Test des tableaux : $test_arr"


# Substitution de commandes
test_sub_com ()
{
  echo "OK"
}

essai_sub_com=$reponse_par_defaut  # PAS_BON
essai_sub_com=$(test_sub_com)
echo "Test de substitution de commandes : $essai_sub_com"

echo

#  Terminer ce script est laissé en exercice pour le lecteur.
#  Ajoutez les tests pour les doubles parenthèses, le
#+ développement d'accolades, la substitution de processus,
#+ et cætera.

exit $?
