diff C++/Tests/Ini/main.cpp @ 327:78e8f9a3b233

Ini: - Add support for @include - Add more tests - Added lot of documentation TODO: - Add lots of test with errored files
author David Demelier <markand@malikania.fr>
date Tue, 03 Mar 2015 21:21:11 +0100
parents fb6c42173634
children 43b4163470c2
line wrap: on
line diff
--- a/C++/Tests/Ini/main.cpp	Tue Mar 03 19:43:23 2015 +0100
+++ b/C++/Tests/Ini/main.cpp	Tue Mar 03 21:21:11 2015 +0100
@@ -28,7 +28,7 @@
 
 public:
 	BasicTest()
-		: m_ini(std::ifstream("simple.conf"))
+		: m_ini("simple.conf")
 	{
 	}
 
@@ -91,7 +91,7 @@
 
 public:
 	MultiTest()
-		: m_ini(std::ifstream("multi.conf"))
+		: m_ini("multi.conf")
 	{
 	}
 };
@@ -119,7 +119,7 @@
 
 public:
 	NoValueTest()
-		: m_ini(std::ifstream("novalue.conf"))
+		: m_ini("novalue.conf")
 	{
 	}
 };
@@ -132,6 +132,34 @@
 	ASSERT_EQ("", m_ini["plugins"]["general"].value());
 }
 
+/* --------------------------------------------------------
+ * Include tests
+ * -------------------------------------------------------- */
+
+class IncludeTest : public testing::Test {
+protected:
+	Ini m_ini;
+
+public:
+	IncludeTest()
+		: m_ini("includes.conf")
+	{
+	}
+};
+
+TEST_F(IncludeTest, all)
+{
+	ASSERT_EQ(2, static_cast<int>(m_ini.size()));
+
+	// from include
+	ASSERT_EQ("1", m_ini[0][0].value());
+	ASSERT_EQ("2", m_ini[0][1].value());
+	ASSERT_EQ("3", m_ini[0][2].value());
+
+	// from standard
+	ASSERT_EQ("false", m_ini[1][0].value());
+}
+
 int main(int argc, char **argv)
 {
 	testing::InitGoogleTest(&argc, argv);