+cp "$working_dir/$expected_files_dir"/bar\ baz.md .
+redo
+
+# Compare metadata files.
+cd "$working_dir"
+blog_meta_file_test "$generated_files_dir""/metadata/automatic_metadata"
+for file in "$expected_files_dir"/metadata/*; do
+ basename=$(basename "$file")
+ cmp_file="$generated_files_dir/metadata/$basename"
+ diff_test "$file" "$cmp_file"
+done
+
+# Compare .links files.
+cd "$working_dir"
+for file in "$expected_files_dir"/*.links; do
+ basename=$(basename "$file")
+ cmp_file="$generated_files_dir/$basename"
+ diff_test "$file" "$cmp_file"
+done
+
+# Compare captcha files.
+cd "$working_dir"
+for file in "$expected_files_dir"/captchas/*; do
+ basename=$(basename "$file")
+ cmp_file="$generated_files_dir/captchas/$basename"
+ diff_test "$file" "$cmp_file"
+done
+
+# Compare generated HTML files. Ignore variable dates.
+for file in "$expected_files_dir"/*.html.ignoring; do
+ basename=$(basename "$file")
+ cmp_file="$generated_files_dir/${basename%.ignoring}"
+ if [ ! "$file" = "$expected_files_dir""/index.html.ignoring" ]; then
+ article_meta_file_test "${generated_files_dir}/metadata/${basename%.html.ignoring}.automatic_metadata"
+ fi
+ generated_file="$cmp_file".ignoring
+ cat "$cmp_file" | \
+ sed 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}/IGNORE/g' \
+ > "$generated_file"
+ diff_test "$file" "$generated_file"
+done
+
+# Compare feed files. Ignore variable dates and UUIDs.
+original_file="$generated_files_dir""/feed.xml"
+generated_file="$original_file".ignoring
+expected_file="$expected_files_dir""/feed.xml.ignoring"
+cat "$original_file" | \
+ sed 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}T[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}Z/IGNORE/g' | \
+ sed 's/urn:uuid:[0-9a-f]\{8\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{12\}/urn:uuid:IGNORE/g' \
+ > "$generated_file"
+diff_test "$expected_file" "$generated_file"
+rm "$generated_file"
+
+# Check symbolic links.
+for file in "$generated_files_dir"/feed.xml "$generated_files_dir"/*.html; do
+ basename=$(basename "$file")
+ linkname=$(readlink "$generated_files_dir/public/$basename")
+ printf "== public/%s symbolic link test ==\n" "$basename"
+ if [ "$working_dir/$generated_files_dir/$basename" = "$linkname" ]; then
+ echo "== test SUCCESS =="
+ else
+ echo "== test FAILURE =="
+ fi
+done