Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/simpleini.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'test1.cpp')
-rw-r--r--test1.cpp330
1 files changed, 165 insertions, 165 deletions
diff --git a/test1.cpp b/test1.cpp
index 4e11d19..bd97e2d 100644
--- a/test1.cpp
+++ b/test1.cpp
@@ -1,165 +1,165 @@
-// File: test1.cpp
-// Library: SimpleIni
-// Author: Brodie Thiesfield <code@jellycan.com>
-// Source: http://code.jellycan.com/simpleini/
-//
-// Automated testing for SimpleIni streams
-
-#ifdef _WIN32
-# pragma warning(disable: 4786)
-#endif
-
-#ifdef _WIN32
-# define DELETE_FILE DeleteFileA
-#else
-# include <unistd.h>
-# define DELETE_FILE unlink
-#endif
-#include <fstream>
-
-#define SI_SUPPORT_IOSTREAMS
-#include "SimpleIni.h"
-
-class Test
-{
- std::string m_strTest;
-
-public:
- Test(const char * a_pszName)
- : m_strTest(a_pszName)
- {
- printf("%s: test starting\n", m_strTest.c_str());
- }
-
- bool Success()
- {
- printf("%s: test succeeded\n", m_strTest.c_str());
- return false;
- }
-
- bool Failure(const char * pszReason)
- {
- printf("%s: test FAILED (%s)\n", m_strTest.c_str(), pszReason);
- return false;
- }
-};
-
-bool FileComparisonTest(const char * a_pszFile1, const char * a_pszFile2) {
- // ensure that the two files are the same
- try {
- std::string strFile1, strFile2;
-
- char szBuf[1024];
- FILE * fp = NULL;
-
-#if __STDC_WANT_SECURE_LIB__
- fopen_s(&fp, a_pszFile1, "rb");
-#else
- fp = fopen(a_pszFile1, "rb");
-#endif
- if (!fp) throw false;
- while (!feof(fp)) {
- size_t n = fread(szBuf, 1, sizeof(szBuf), fp);
- strFile1.append(szBuf, n);
- }
- fclose(fp);
-
- fp = NULL;
-#if __STDC_WANT_SECURE_LIB__
- fopen_s(&fp, a_pszFile2, "rb");
-#else
- fp = fopen(a_pszFile2, "rb");
-#endif
- if (!fp) throw false;
- while (!feof(fp)) {
- size_t n = fread(szBuf, 1, sizeof(szBuf), fp);
- strFile2.append(szBuf, n);
- }
- fclose(fp);
-
- if (strFile1 != strFile2) throw false;
- }
- catch (...) {
- return false;
- }
-
- return true;
-}
-
-bool FileLoadTest(const char * a_pszFile1, const char * a_pszFile2) {
- // ensure that the two files load into simpleini the same
- CSimpleIniA ini(true, true, true);
- bool b;
- try {
- ini.Reset();
- if (ini.LoadFile(a_pszFile1) < 0) throw "Load failed for file 1";
- if (ini.SaveFile("test1.ini") < 0) throw "Save failed for file 1";
-
- ini.Reset();
- if (ini.LoadFile(a_pszFile2) < 0) throw "Load failed for file 2";
- if (ini.SaveFile("test2.ini") < 0) throw "Save failed for file 2";
-
- b = FileComparisonTest("test1.ini", "test2.ini");
- DELETE_FILE("test1.ini");
- DELETE_FILE("test2.ini");
- if (!b) throw "File comparison failed in FileLoadTest";
- }
- catch (...) {
- return false;
- }
-
- return true;
-}
-
-bool TestStreams()
-{
- const char * rgszTestFile[3] = {
- "test1-input.ini",
- "test1-output.ini",
- "test1-expected.ini"
- };
-
- Test oTest("TestStreams");
-
- CSimpleIniA ini;
- ini.SetUnicode(true);
- ini.SetMultiKey(true);
- ini.SetMultiLine(true);
-
- // load the file
- try {
- std::ifstream infile;
- infile.open(rgszTestFile[0], std::ifstream::in | std::ifstream::binary);
- if (ini.Load(infile) < 0) throw false;
- infile.close();
- }
- catch (...) {
- return oTest.Failure("Failed to load file");
- }
-
- // standard contents test
- //if (!StandardContentsTest(ini, oTest)) {
- // return false;
- //}
-
- // save the file
- try {
- std::ofstream outfile;
- outfile.open(rgszTestFile[1], std::ofstream::out | std::ofstream::binary);
- if (ini.Save(outfile, true) < 0) throw false;
- outfile.close();
- }
- catch (...) {
- return oTest.Failure("Failed to save file");
- }
-
- // file comparison test
- if (!FileComparisonTest(rgszTestFile[1], rgszTestFile[2])) {
- return oTest.Failure("Failed file comparison");
- }
- if (!FileLoadTest(rgszTestFile[1], rgszTestFile[2])) {
- return oTest.Failure("Failed file load comparison");
- }
-
- return oTest.Success();
-}
+// File: test1.cpp
+// Library: SimpleIni
+// Author: Brodie Thiesfield <code@jellycan.com>
+// Source: http://code.jellycan.com/simpleini/
+//
+// Automated testing for SimpleIni streams
+
+#ifdef _WIN32
+# pragma warning(disable: 4786)
+#endif
+
+#ifdef _WIN32
+# define DELETE_FILE DeleteFileA
+#else
+# include <unistd.h>
+# define DELETE_FILE unlink
+#endif
+#include <fstream>
+
+#define SI_SUPPORT_IOSTREAMS
+#include "SimpleIni.h"
+
+class Test
+{
+ std::string m_strTest;
+
+public:
+ Test(const char * a_pszName)
+ : m_strTest(a_pszName)
+ {
+ printf("%s: test starting\n", m_strTest.c_str());
+ }
+
+ bool Success()
+ {
+ printf("%s: test succeeded\n", m_strTest.c_str());
+ return false;
+ }
+
+ bool Failure(const char * pszReason)
+ {
+ printf("%s: test FAILED (%s)\n", m_strTest.c_str(), pszReason);
+ return false;
+ }
+};
+
+bool FileComparisonTest(const char * a_pszFile1, const char * a_pszFile2) {
+ // ensure that the two files are the same
+ try {
+ std::string strFile1, strFile2;
+
+ char szBuf[1024];
+ FILE * fp = NULL;
+
+#if __STDC_WANT_SECURE_LIB__
+ fopen_s(&fp, a_pszFile1, "rb");
+#else
+ fp = fopen(a_pszFile1, "rb");
+#endif
+ if (!fp) throw false;
+ while (!feof(fp)) {
+ size_t n = fread(szBuf, 1, sizeof(szBuf), fp);
+ strFile1.append(szBuf, n);
+ }
+ fclose(fp);
+
+ fp = NULL;
+#if __STDC_WANT_SECURE_LIB__
+ fopen_s(&fp, a_pszFile2, "rb");
+#else
+ fp = fopen(a_pszFile2, "rb");
+#endif
+ if (!fp) throw false;
+ while (!feof(fp)) {
+ size_t n = fread(szBuf, 1, sizeof(szBuf), fp);
+ strFile2.append(szBuf, n);
+ }
+ fclose(fp);
+
+ if (strFile1 != strFile2) throw false;
+ }
+ catch (...) {
+ return false;
+ }
+
+ return true;
+}
+
+bool FileLoadTest(const char * a_pszFile1, const char * a_pszFile2) {
+ // ensure that the two files load into simpleini the same
+ CSimpleIniA ini(true, true, true);
+ bool b;
+ try {
+ ini.Reset();
+ if (ini.LoadFile(a_pszFile1) < 0) throw "Load failed for file 1";
+ if (ini.SaveFile("test1.ini") < 0) throw "Save failed for file 1";
+
+ ini.Reset();
+ if (ini.LoadFile(a_pszFile2) < 0) throw "Load failed for file 2";
+ if (ini.SaveFile("test2.ini") < 0) throw "Save failed for file 2";
+
+ b = FileComparisonTest("test1.ini", "test2.ini");
+ DELETE_FILE("test1.ini");
+ DELETE_FILE("test2.ini");
+ if (!b) throw "File comparison failed in FileLoadTest";
+ }
+ catch (...) {
+ return false;
+ }
+
+ return true;
+}
+
+bool TestStreams()
+{
+ const char * rgszTestFile[3] = {
+ "test1-input.ini",
+ "test1-output.ini",
+ "test1-expected.ini"
+ };
+
+ Test oTest("TestStreams");
+
+ CSimpleIniA ini;
+ ini.SetUnicode(true);
+ ini.SetMultiKey(true);
+ ini.SetMultiLine(true);
+
+ // load the file
+ try {
+ std::ifstream infile;
+ infile.open(rgszTestFile[0], std::ifstream::in | std::ifstream::binary);
+ if (ini.Load(infile) < 0) throw false;
+ infile.close();
+ }
+ catch (...) {
+ return oTest.Failure("Failed to load file");
+ }
+
+ // standard contents test
+ //if (!StandardContentsTest(ini, oTest)) {
+ // return false;
+ //}
+
+ // save the file
+ try {
+ std::ofstream outfile;
+ outfile.open(rgszTestFile[1], std::ofstream::out | std::ofstream::binary);
+ if (ini.Save(outfile, true) < 0) throw false;
+ outfile.close();
+ }
+ catch (...) {
+ return oTest.Failure("Failed to save file");
+ }
+
+ // file comparison test
+ if (!FileComparisonTest(rgszTestFile[1], rgszTestFile[2])) {
+ return oTest.Failure("Failed file comparison");
+ }
+ if (!FileLoadTest(rgszTestFile[1], rgszTestFile[2])) {
+ return oTest.Failure("Failed file load comparison");
+ }
+
+ return oTest.Success();
+}