#!/bin/sh test_description='basic append functionality Ensure we can append items successfully. ' . ./test-lib.sh # # Set up the basic todo.txt # todo.sh add notice the daisies > /dev/null test_todo_session 'append usage' <>> todo.sh append adf asdfa === 1 usage: todo.sh append ITEM# "TEXT TO APPEND" EOF test_todo_session 'append error' << EOF >>> todo.sh append 10 "hej!" === 1 TODO: No task 10. EOF test_todo_session 'basic append' <>> todo.sh append 1 "smell the roses" 1 notice the daisies smell the roses >>> todo.sh list 1 notice the daisies smell the roses -- TODO: 1 of 1 tasks shown EOF test_todo_session 'basic append with &' <>> todo.sh append 1 "see the wasps & bees" 1 notice the daisies smell the roses see the wasps & bees >>> todo.sh list 1 notice the daisies smell the roses see the wasps & bees -- TODO: 1 of 1 tasks shown EOF echo 'jump on hay' > todo.txt test_todo_session 'append with spaces' <>> todo.sh append 1 "and notice the three spaces" 1 jump on hay and notice the three spaces EOF cat > todo.txt <>> todo.sh append 1 "~@#$%^&*()-_=+[{]}|;:',<.>/?" 1 smell the cows ~@#$%^&*()-_=+[{]}|;:',<.>/? >>> todo.sh append 2 '\`!\\"' 2 grow some corn \`!\\" >>> todo.sh list 4 chase the chickens 2 grow some corn \`!\\" 1 smell the cows ~@#$%^&*()-_=+[{]}|;:',<.>/? 3 thrash some hay -- TODO: 4 of 4 tasks shown EOF cat > todo.txt <>> todo.sh append 1 ", lilies and roses" 1 notice the daisies, lilies and roses >>> todo.sh append 1 "; see the wasps" 1 notice the daisies, lilies and roses; see the wasps >>> todo.sh append 1 "& bees" 1 notice the daisies, lilies and roses; see the wasps & bees EOF cp todo.cfg special-delimiters.cfg cat >> special-delimiters.cfg <>> todo.sh -d special-delimiters.cfg append 1 "&beans" 1 notice the daisies, lilies and roses; see the wasps & bees&beans >>> todo.sh -d special-delimiters.cfg append 1 "%foo" 1 notice the daisies, lilies and roses; see the wasps & bees&beans %foo >>> todo.sh -d special-delimiters.cfg append 1 "*2" 1 notice the daisies, lilies and roses; see the wasps & bees&beans %foo*2 EOF test_done