'
cat > expected.txt <<EOF
+foo/bar
+EOF
+test_expect_success 'Status with an added file and -n option' '
+ stg status -n > output.txt &&
+ diff -u expected.txt output.txt
+'
+
+cat > expected.txt <<EOF
EOF
test_expect_success 'Status after refresh' '
stg new -m "first patch" &&
diff -u expected.txt output.txt
'
+test_expect_success 'Add another file' '
+ echo lajbans > fie &&
+ stg add fie &&
+ stg refresh
+'
+
test_expect_success 'Make a conflicting patch' '
stg pop &&
stg new -m "third patch" &&
'
cat > expected.txt <<EOF
-? foo/bar.ancestor
-? foo/bar.current
-? foo/bar.patched
+A fie
C foo/bar
EOF
-test_expect_success 'Status after conflicting push' '
+test_expect_failure 'Status after conflicting push' '
! stg push &&
stg status > output.txt &&
diff -u expected.txt output.txt
'
cat > expected.txt <<EOF
+C foo/bar
+EOF
+test_expect_failure 'Status of file' '
+ stg status foo/bar > output.txt &&
+ diff -u expected.txt output.txt
+'
+
+cat > expected.txt <<EOF
+C foo/bar
+EOF
+test_expect_failure 'Status of dir' '
+ stg status foo > output.txt &&
+ diff -u expected.txt output.txt
+'
+
+cat > expected.txt <<EOF
+A fie
+EOF
+test_expect_success 'Status of other file' '
+ stg status fie > output.txt &&
+ diff -u expected.txt output.txt
+'
+
+cat > expected.txt <<EOF
+A fie
M foo/bar
EOF
test_expect_success 'Status after resolving the push' '
'
cat > expected.txt <<EOF
+A fie
D foo/bar
EOF
-test_expect_success 'Status after deleting a file' '
+test_expect_failure 'Status after deleting a file' '
+ rm foo/bar &&
+ stg status > output.txt &&
+ diff -u expected.txt output.txt
+'
+
+cat > expected.txt <<EOF
+D foo/bar
+EOF
+test_expect_failure 'Status of disappeared newborn' '
+ stg refresh &&
+ touch foo/bar &&
+ stg add foo/bar &&
rm foo/bar &&
stg status > output.txt &&
diff -u expected.txt output.txt