+# multi-part with application/octet-stream
+{
+ my $os = 'application/octet-stream';
+ my $parts = [
+ Email::MIME->create(
+ attributes => { content_type => $os },
+ body => <<EOF
+#include <stdio.h>
+int main(void)
+{
+ printf("Hello world\\n");
+ return 0;
+}
+\f
+/* some folks like ^L */
+EOF
+ ),
+ Email::MIME->create(
+ attributes => {
+ filename => 'zero.data',
+ encoding => 'base64',
+ content_type => $os,
+ },
+ body => ("\0" x 4096),
+ )
+ ];
+ my $email = Email::MIME->create(
+ header_str => [ From => 'a@example.com', Subject => 'blah' ],
+ parts => $parts,
+ );
+ is(1, PublicInbox::Filter->run($email), "run was a success");
+ my $parsed = Email::MIME->new($email->as_string);
+ is(scalar $parsed->parts, 1, "only one remaining part");
+ like($parsed->header("X-Content-Filtered-By"),
+ qr/PublicInbox::Filter/, "XCFB header added");
+}