Blame tests/function-line-vs-leading-space

Packit Service fdd496
#!/bin/sh
Packit Service fdd496
# Demonstrate how -F RE behavior changed after diff-2.9.
Packit Service fdd496
Packit Service fdd496
. "${srcdir=.}/init.sh"; path_prepend_ ../src
Packit Service fdd496
Packit Service fdd496
cat <<EOF > in || fail_ "failed to create temporary file"
Packit Service fdd496
procedure AdaCode is
Packit Service fdd496
    procedure Local_Level_1 is
Packit Service fdd496
        procedure Local_Level_2 is
Packit Service fdd496
            procedure Local_Level_3 is
Packit Service fdd496
                procedure Local_Level_4 is
Packit Service fdd496
                    procedure Local_Level_5 is
Packit Service fdd496
                    begin
Packit Service fdd496
                        null;
Packit Service fdd496
                        null;
Packit Service fdd496
                        null;
Packit Service fdd496
                        foo;
Packit Service fdd496
                    end;
Packit Service fdd496
                begin
Packit Service fdd496
                    Local_Level_5;
Packit Service fdd496
                end;
Packit Service fdd496
            begin
Packit Service fdd496
                Local_Level_4;
Packit Service fdd496
            end;
Packit Service fdd496
        begin
Packit Service fdd496
            Local_Level_3;
Packit Service fdd496
        end;
Packit Service fdd496
    begin
Packit Service fdd496
        Local_Level_2;
Packit Service fdd496
    end;
Packit Service fdd496
begin
Packit Service fdd496
    Local_Level_1;
Packit Service fdd496
end;
Packit Service fdd496
EOF
Packit Service fdd496
Packit Service fdd496
sed s/foo/null/ < in > in2 || fail_ "failed to create temporary file"
Packit Service fdd496
Packit Service fdd496
# Before diff-2.10, the function line would be truncated like this:
Packit Service fdd496
# @@ -8,7 +8,7 @@                     procedure Local_Leve
Packit Service fdd496
Packit Service fdd496
cat <<EOF > exp || fail_ "failed to create temporary file"
Packit Service fdd496
@@ -8,7 +8,7 @@ procedure Local_Level_5 is
Packit Service fdd496
                         null;
Packit Service fdd496
                         null;
Packit Service fdd496
                         null;
Packit Service fdd496
-                        foo;
Packit Service fdd496
+                        null;
Packit Service fdd496
                     end;
Packit Service fdd496
                 begin
Packit Service fdd496
                     Local_Level_5;
Packit Service fdd496
EOF
Packit Service fdd496
Packit Service fdd496
fail=0
Packit Service fdd496
Packit Service fdd496
returns_ 1 diff -u -F '^[[:space:]]*\(function\|procedure\)' in in2 \
Packit Service fdd496
  > out 2> err || fail=1
Packit Service fdd496
Packit Service fdd496
sed -n '3,$p' out > k && mv k out || fail=1
Packit Service fdd496
Packit Service fdd496
compare exp out || fail=1
Packit Service fdd496
Packit Service fdd496
# expect empty stderr
Packit Service fdd496
compare /dev/null err || fail=1
Packit Service fdd496
Packit Service fdd496
Exit $fail