void CServerList::SaveStaticServers() { CTextFile file; if (!file.Open(m_staticServersConfig, CTextFile::write)) { AddLogLineN(CFormat( _("Failed to open '%s'") ) % m_staticServersConfig ); return; } for (CInternalList::const_iterator it = m_servers.begin(); it != m_servers.end(); ++it) { const CServer* server = *it; if (server->IsStaticMember()) { file.WriteLine(CFormat(wxT("%s:%u,%u,%s")) % server->GetAddress() % server->GetPort() % server->GetPreferences() % server->GetListName()); } } file.Close(); }
virtual void run() { const wxChar* lines[] = { wxT(" # comment"), wxT("abc"), wxT("# foo bar"), wxT(" "), wxT("def ghi "), wxT(""), wxT("# xyz"), wxT(" xyz"), wxT(" "), wxT("") }; { CONTEXT(wxT("Writing lines manually")); CTextFile file; ASSERT_TRUE(file.Open(wxT("testfile.txt"), CTextFile::write)); for (size_t i = 0; i < ArraySize(lines); ++i) { CONTEXT(wxString::Format(wxT("Writing the %i'th line."), static_cast<int>(i))); ASSERT_TRUE(file.WriteLine(lines[i])); } } { CONTEXT(wxT("Reading manually written lines")); CTextFile file; ASSERT_TRUE(file.Open(wxT("testfile.txt"), CTextFile::read)); ASSERT_FALSE(file.Eof()); for (size_t i = 0; i < ArraySize(lines); ++i) { CONTEXT(wxString::Format(wxT("Reading the %i'th line."), static_cast<int>(i))); ASSERT_EQUALS(lines[i], file.GetNextLine()); } ASSERT_TRUE(file.Eof()); } { CONTEXT(wxT("Writing lines automatically")); CTextFile file; ASSERT_FALSE(file.IsOpened()); ASSERT_TRUE(file.Open(wxT("testfile.txt"), CTextFile::write)); ASSERT_TRUE(file.WriteLines(wxArrayString(ArraySize(lines), lines))); ASSERT_TRUE(file.IsOpened()); } { CONTEXT(wxT("Reading automatically written lines")); CTextFile file; ASSERT_FALSE(file.IsOpened()); ASSERT_TRUE(file.Open(wxT("testfile.txt"), CTextFile::read)); ASSERT_TRUE(file.IsOpened()); ASSERT_FALSE(file.Eof()); for (size_t i = 0; i < ArraySize(lines); ++i) { CONTEXT(wxString::Format(wxT("Reading the %i'th line."), static_cast<int>(i))); ASSERT_EQUALS(lines[i], file.GetNextLine()); } ASSERT_TRUE(file.Eof()); } }