Add one working and one non-working test.
diff --git a/regress/Makefile.am b/regress/Makefile.am
index 3b74bba..1317fad 100644
--- a/regress/Makefile.am
+++ b/regress/Makefile.am
@@ -130,6 +130,7 @@
 	extra_count.test \
 	extra_count_by_id.test \
 	extra_count_ignore_zip64.test \
+	extra_delete_by_id.test \
 	extra_get.test \
 	extra_get_by_id.test \
 	file_comment_encmismatch.test \
@@ -185,6 +186,7 @@
 	encoding-cp437.test \
 	encoding-cp437-all.test \
 	encoding-utf-8.test \
+	extra_delete.test \
 	open_filename_duplicate.test \
 	open_filename_duplicate_consistency.test \
 	open_filename_duplicate_empty.test \
diff --git a/regress/extra_delete.test b/regress/extra_delete.test
new file mode 100644
index 0000000..f99ec64
--- /dev/null
+++ b/regress/extra_delete.test
@@ -0,0 +1,7 @@
+# delete extra field by index
+program modify
+args encrypt.zip delete_extra 0 2 cl get_extra_by_id 0 2345 0 c get_extra_by_id 0 2345 0 l
+file encrypt.zip encrypt_plus_extra.zip encrypt.zip
+return 1
+stderr can't get extra field data for file at index 0, extra field id 2345, ef index 0, flags 512: No such file
+stderr can't get extra field data for file at index 0, extra field id 2345, ef index 0, flags 256: No such file
diff --git a/regress/extra_delete_by_id.test b/regress/extra_delete_by_id.test
new file mode 100644
index 0000000..a314da7
--- /dev/null
+++ b/regress/extra_delete_by_id.test
@@ -0,0 +1,8 @@
+# delete extra field by id and index
+program modify
+#args encrypt.zip set_extra 0 2345 65535 cl extrafieldcontent
+args encrypt.zip delete_extra_by_id 0 2345 0 cl get_extra_by_id 0 2345 0 c get_extra_by_id 0 2345 0 l
+return 1
+file encrypt.zip encrypt_plus_extra.zip encrypt.zip
+stderr can't get extra field data for file at index 0, extra field id 2345, ef index 0, flags 512: No such file
+stderr can't get extra field data for file at index 0, extra field id 2345, ef index 0, flags 256: No such file