File: t.parser.h

package info (click to toggle)
mimetic 0.9.3-3
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 2,516 kB
  • ctags: 1,749
  • sloc: cpp: 11,182; sh: 7,902; makefile: 162
file content (63 lines) | stat: -rw-r--r-- 1,862 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#ifndef _T_PARSER_H_
#define _T_PARSER_H_
#include <iostream>
#include <fstream>
#include <iterator>
#include <string>
#include <list>
#include <mimetic/mimeentity.h>
#include <mimetic/parser/itparser.h>
#include <mimetic/os/file.h>
#include <mimetic/utils.h>
#include <string.h>
#include "cutee.h"

namespace mimetic
{

struct TEST_CLASS( parser_fixed_bugs )
{
    void TEST_FUNCTION( t0_input_iterator )
    {
        // bug: the body of multipart msgs include the newline char
        //      preceding the boundary
        using namespace std;
        ifstream ifs("test3.msg");
        MimeEntity me(ifs);
        TEST_ASSERT(me.body().parts().size());
        ContentType& ct = me.header().contentType();
        TEST_ASSERT_EQUALS_P(ct.type(), "multipart");
        TEST_ASSERT_EQUALS_P(ct.subtype(), "form-data");
        MimeEntityList& mel = me.body().parts();
        MimeEntityList::iterator bit = mel.begin(), eit = mel.end();
        for( int i = 0; bit != eit; ++bit, ++i)
        {
            stringstream ss;
            ss << setfill('0') << setw(3) << i;
            TEST_ASSERT_EQUALS_P(ss.str(), (*bit)->body());
        }
    }
    void TEST_FUNCTION( t0_random_iterator )
    {
        using namespace std;
        File in("test3.msg");
        MimeEntity me(in.begin(), in.end());
        TEST_ASSERT(me.body().parts().size());
        ContentType& ct = me.header().contentType();
        TEST_ASSERT_EQUALS_P(ct.type(), "multipart");
        TEST_ASSERT_EQUALS_P(ct.subtype(), "form-data");
        MimeEntityList& mel = me.body().parts();
        MimeEntityList::iterator bit = mel.begin(), eit = mel.end();
        for( int i = 0; bit != eit; ++bit, ++i)
        {
            stringstream ss;
            ss << setfill('0') << setw(3) << i;
            TEST_ASSERT_EQUALS_P(ss.str(), (*bit)->body());
        }
    }
};

};

#endif