99 lines
1.7 KiB
Bash
99 lines
1.7 KiB
Bash
#!/bin/bash
|
|
cd $(dirname $0)
|
|
source ./colors.sh
|
|
|
|
mkdir -p test_log
|
|
|
|
# RUN TESTS
|
|
function run_tests
|
|
{
|
|
touch $TESTNAME
|
|
echo "$CONTENT" > $TESTNAME
|
|
|
|
../sed $TESTNAME "$FIND" "$REPLACEMENT"
|
|
OUTPUT=$( cat $TESTNAME.replace )
|
|
if [ "$OUTPUT" == "$RESULT" ]
|
|
then
|
|
echo -e $B_GREEN"$TESTNAME success"$ENDCO
|
|
else
|
|
echo -e $B_RED"$TESTNAME faillure"$ENDCO
|
|
fi
|
|
|
|
mv $TESTNAME $TESTNAME.replace ./test_log
|
|
}
|
|
|
|
# TEST 1 ########################################
|
|
TESTNAME="test1"
|
|
FIND=" "
|
|
REPLACEMENT="hello"
|
|
CONTENT=" "
|
|
RESULT="hello"
|
|
run_tests
|
|
|
|
# TEST 2 ########################################
|
|
TESTNAME="test2"
|
|
FIND="ie"
|
|
REPLACEMENT="++"
|
|
CONTENT=$(cat << EOF
|
|
ce fichier
|
|
contient
|
|
plusieurs lignes
|
|
les unes au dessus des autres
|
|
youhouuu ioieux
|
|
EOF
|
|
)
|
|
RESULT=$(cat << EOF
|
|
ce fich++r
|
|
cont++nt
|
|
plus++urs lignes
|
|
les unes au dessus des autres
|
|
youhouuu io++ux
|
|
EOF
|
|
)
|
|
run_tests
|
|
|
|
# TEST 3 ########################################
|
|
TESTNAME="test3"
|
|
FIND="."
|
|
REPLACEMENT="+"
|
|
CONTENT=$(cat << EOF
|
|
....................................................;
|
|
EOF
|
|
)
|
|
RESULT=$(cat << EOF
|
|
++++++++++++++++++++++++++++++++++++++++++++++++++++;
|
|
EOF
|
|
)
|
|
run_tests
|
|
|
|
# TEST 4 ########################################
|
|
TESTNAME="test4"
|
|
FIND=".."
|
|
REPLACEMENT="++"
|
|
CONTENT=$(cat << EOF
|
|
...................................................;
|
|
. . . . . . . . . . . . . . . . . . . . . . . . . .;
|
|
EOF
|
|
)
|
|
RESULT=$(cat << EOF
|
|
++++++++++++++++++++++++++++++++++++++++++++++++++.;
|
|
. . . . . . . . . . . . . . . . . . . . . . . . . .;
|
|
EOF
|
|
)
|
|
run_tests
|
|
|
|
# TEST 5 ########################################
|
|
TESTNAME="test5"
|
|
FIND="mdr"
|
|
REPLACEMENT="|||"
|
|
CONTENT=$(cat << EOF
|
|
test de mmdr foubar
|
|
EOF
|
|
)
|
|
RESULT=$(cat << EOF
|
|
test de m||| foubar
|
|
EOF
|
|
)
|
|
run_tests
|
|
|