static void DoTestRoundTrip(const T *values, size_t numValues) { { wxFileOutputStream fileOut(wxT("test.txt")); wxTextOutputStream textOut(fileOut); for ( size_t n = 0; n < numValues; n++ ) { textOut << values[n] << endl; } } { wxFileInputStream fileIn(wxT("test.txt")); wxTextInputStream textIn(fileIn); T value; for ( size_t n = 0; n < numValues; n++ ) { textIn >> value; CPPUNIT_ASSERT( value == values[n] ); } } }
////////////////////////// // Add word to dictionary void HunspellSpellChecker::AddWord(wxString word) { // Dictionary OK? if (!hunspell) return; // Add to currently loaded file hunspell->put_word(word.mb_str(*conv)); // Load dictionary wxArrayString dic; wxString curLine; if (!dicpath.IsEmpty()) { // Even if you ever want to remove this "if", keep the braces, so the stream closes at the end bool first = true; bool added = false; wxFileInputStream in(dicpath); if (!in.IsOk()) return; wxTextInputStream textIn(in,_T(" \t"),*conv); // Read it while (in.CanRead() && !in.Eof()) { // Read line curLine = textIn.ReadLine(); curLine.Trim(); // First if (first) { first = false; if (curLine.IsNumber()) continue; } // See if word to be added goes here if (!added && curLine.Lower() > word.Lower()) { dic.Add(word); added = true; } // Add to memory dictionary dic.Add(curLine); } } // Write back to disk wxFileOutputStream out(dicpath); if (!out.IsOk()) return; wxTextOutputStream textOut(out,wxEOL_UNIX,*conv); textOut.WriteString(wxString::Format(_T("%i"),dic.Count())+_T("\n")); for (unsigned int i=0;i<dic.Count();i++) textOut.WriteString(dic[i]+_T("\n")); }
void TextStreamTestCase::TestInput(const wxMBConv& conv, const void *encodedText, size_t encodedSize) { wxMemoryInputStream byteIn(encodedText, encodedSize); wxTextInputStream textIn(byteIn, wxT("\n"), conv); wxString temp; while ( wxChar c = textIn.GetChar() ) { temp.Append(c); } CPPUNIT_ASSERT_EQUAL( WXSIZEOF(txtWchar), temp.length() ); CPPUNIT_ASSERT_EQUAL( 0, memcmp(txtWchar, temp.wc_str(), sizeof(txtWchar)) ); }