#!/bin/sh

test_description='"stg refresh" with removed files'

. ./test-lib.sh

# Ignore our own temp files.
cat >> .git/info/exclude <<EOF
expected*.txt
files*.txt
status*.txt
EOF

reset () {
    stg pop -a > /dev/null
    git reset --hard > /dev/null
}

test_expect_success 'Initialize StGit stack' '
    stg init &&
    echo x > x.txt &&
    echo y > y.txt &&
    stg add x.txt y.txt &&
    git commit -m "Add some files"
'

cat > expected0.txt <<EOF
D  y.txt
EOF
printf '' > expected1.txt
test_expect_success 'stg rm a file' '
    stg new -m p0 &&
    stg rm y.txt &&
    stg status > status0.txt &&
    test_cmp expected0.txt status0.txt &&
    stg refresh &&
    stg status > status1.txt &&
    test_cmp expected1.txt status1.txt &&
    stg files > files.txt &&
    test_cmp -w expected0.txt files.txt
'

reset

cat > expected0.txt <<EOF
 M x.txt
D  y.txt
EOF
printf '' > expected1.txt
test_expect_success 'stg rm a file together with other changes' '
    stg new -m p1 &&
    echo x2 >> x.txt &&
    stg rm y.txt &&
    stg status > status0.txt &&
    test_cmp expected0.txt status0.txt &&
    stg refresh &&
    stg status > status1.txt &&
    test_cmp expected1.txt status1.txt &&
    stg files > files.txt &&
    test_cmp -w expected0.txt files.txt
'

reset

cat > expected0.txt <<EOF
 D y.txt
EOF
printf '' > expected1.txt
test_expect_success 'rm a file' '
    stg new -m p2 &&
    rm y.txt &&
    stg status > status0.txt &&
    test_cmp expected0.txt status0.txt &&
    stg refresh &&
    stg status > status1.txt &&
    test_cmp expected1.txt status1.txt &&
    stg files > files.txt &&
    test_cmp -w expected0.txt files.txt
'

reset

cat > expected0.txt <<EOF
 M x.txt
 D y.txt
EOF
printf '' > expected1.txt
test_expect_success 'rm a file together with other changes' '
    stg new -m p3 &&
    echo x2 >> x.txt &&
    rm y.txt &&
    stg status > status0.txt &&
    test_cmp expected0.txt status0.txt &&
    stg refresh &&
    stg status > status1.txt &&
    test_cmp expected1.txt status1.txt &&
    stg files > files.txt &&
    test_cmp -w expected0.txt files.txt
'

test_done
