8 #include <mimetic/mimeentity.h>
9 #include <mimetic/parser/itparser.h>
10 #include <mimetic/os/file.h>
11 #include <mimetic/utils.h>
18 struct TEST_CLASS( parser_fixed_bugs )
20 void TEST_FUNCTION( t0_input_iterator )
22 // bug: the body of multipart msgs include the newline char
23 // preceding the boundary
25 ifstream ifs("test3.msg");
27 TEST_ASSERT(me.body().parts().size());
28 ContentType& ct = me.header().contentType();
29 TEST_ASSERT_EQUALS_P(ct.type(), "multipart");
30 TEST_ASSERT_EQUALS_P(ct.subtype(), "form-data");
31 MimeEntityList& mel = me.body().parts();
32 MimeEntityList::iterator bit = mel.begin(), eit = mel.end();
33 for( int i = 0; bit != eit; ++bit, ++i)
36 ss << setfill('0') << setw(3) << i;
37 TEST_ASSERT_EQUALS_P(ss.str(), (*bit)->body());
40 void TEST_FUNCTION( t0_random_iterator )
44 MimeEntity me(in.begin(), in.end());
45 TEST_ASSERT(me.body().parts().size());
46 ContentType& ct = me.header().contentType();
47 TEST_ASSERT_EQUALS_P(ct.type(), "multipart");
48 TEST_ASSERT_EQUALS_P(ct.subtype(), "form-data");
49 MimeEntityList& mel = me.body().parts();
50 MimeEntityList::iterator bit = mel.begin(), eit = mel.end();
51 for( int i = 0; bit != eit; ++bit, ++i)
54 ss << setfill('0') << setw(3) << i;
55 TEST_ASSERT_EQUALS_P(ss.str(), (*bit)->body());