]>
Commit | Line | Data |
---|---|---|
1 | /////////////////////////////////////////////////////////////////////////////// | |
2 | // Name: tests/uris/uris.cpp | |
3 | // Purpose: wxTextXXXStream unit test | |
4 | // Author: Ryan Norton | |
5 | // Created: 2004-08-14 | |
6 | // RCS-ID: $Id$ | |
7 | // Copyright: (c) 2004 Ryan Norton | |
8 | /////////////////////////////////////////////////////////////////////////////// | |
9 | ||
10 | // ---------------------------------------------------------------------------- | |
11 | // headers | |
12 | // ---------------------------------------------------------------------------- | |
13 | ||
14 | #include "testprec.h" | |
15 | ||
16 | #ifdef __BORLANDC__ | |
17 | #pragma hdrstop | |
18 | #endif | |
19 | ||
20 | #ifndef WX_PRECOMP | |
21 | #include "wx/wx.h" | |
22 | #endif // WX_PRECOMP | |
23 | ||
24 | #include "wx/txtstrm.h" | |
25 | #include "wx/wfstream.h" | |
26 | ||
27 | // ---------------------------------------------------------------------------- | |
28 | // test class | |
29 | // ---------------------------------------------------------------------------- | |
30 | ||
31 | class TextStreamTestCase : public CppUnit::TestCase | |
32 | { | |
33 | public: | |
34 | TextStreamTestCase(); | |
35 | ||
36 | private: | |
37 | CPPUNIT_TEST_SUITE( TextStreamTestCase ); | |
38 | CPPUNIT_TEST( Endline ); | |
39 | CPPUNIT_TEST_SUITE_END(); | |
40 | ||
41 | void Endline(); | |
42 | ||
43 | ||
44 | DECLARE_NO_COPY_CLASS(TextStreamTestCase) | |
45 | }; | |
46 | ||
47 | // register in the unnamed registry so that these tests are run by default | |
48 | CPPUNIT_TEST_SUITE_REGISTRATION( TextStreamTestCase ); | |
49 | ||
50 | // also include in it's own registry so that these tests can be run alone | |
51 | CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TextStreamTestCase, "TextStreamTestCase" ); | |
52 | ||
53 | TextStreamTestCase::TextStreamTestCase() | |
54 | { | |
55 | } | |
56 | ||
57 | #if defined(__WXMSW__) || defined(__WXPM__) | |
58 | # define NEWLINE "\r\n" | |
59 | # define NEWLINELEN 2 | |
60 | #elif defined(__WXMAC__) && !defined(__DARWIN__) | |
61 | # define NEWLINE "\r" | |
62 | # define NEWLINELEN 1 | |
63 | #else | |
64 | # define NEWLINE "\n" | |
65 | # define NEWLINELEN 1 | |
66 | #endif | |
67 | ||
68 | void TextStreamTestCase::Endline() | |
69 | { | |
70 | wxFileOutputStream* pOutFile = new wxFileOutputStream(_T("test.txt")); | |
71 | wxTextOutputStream* pOutText = new wxTextOutputStream(*pOutFile); | |
72 | *pOutText << _T("Test text") << endl | |
73 | << _T("More Testing Text (There should be newline before this)"); | |
74 | ||
75 | delete pOutText; | |
76 | delete pOutFile; | |
77 | ||
78 | wxFileInputStream* pInFile = new wxFileInputStream(_T("test.txt")); | |
79 | ||
80 | char szIn[9 + NEWLINELEN]; | |
81 | ||
82 | pInFile->Read(szIn, 9 + NEWLINELEN); | |
83 | ||
84 | CPPUNIT_ASSERT( memcmp(&szIn[9], NEWLINE, NEWLINELEN) == 0 ); | |
85 | ||
86 | delete pInFile; | |
87 | } |