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

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/tests/fn_include_tests.cpp')
-rw-r--r--src/engine/tests/fn_include_tests.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/engine/tests/fn_include_tests.cpp b/src/engine/tests/fn_include_tests.cpp
new file mode 100644
index 0000000..6b95ed1
--- /dev/null
+++ b/src/engine/tests/fn_include_tests.cpp
@@ -0,0 +1,54 @@
+/**
+ * \file fn_include_tests.cpp
+ * \brief Automated test for the include() function.
+ * \author Copyright (c) 2008 Jason Perkins and the Premake project
+ */
+
+#include "premake.h"
+#include "testing/testing.h"
+extern "C" {
+#include "engine/session.h"
+#include "base/cstr.h"
+#include "base/error.h"
+}
+
+struct FnInclude
+{
+ Session sess;
+
+ FnInclude()
+ {
+ sess = session_create();
+ }
+
+ ~FnInclude()
+ {
+ session_destroy(sess);
+ error_clear();
+ }
+};
+
+
+SUITE(engine)
+{
+ TEST_FIXTURE(FnInclude, Include_Exists_OnStartup)
+ {
+ const char* result = session_run_string(sess,
+ "return (include ~= nil)");
+ CHECK_EQUAL("true", result);
+ }
+
+ TEST_FIXTURE(FnInclude, Include_ReturnsValue_OnPremake4Found)
+ {
+ const char* result = session_run_string(sess,
+ "return include('testing/test_files')");
+ CHECK_EQUAL("true", result);
+ }
+
+ TEST_FIXTURE(FnInclude, Include_SetsError_OnFileNotFound)
+ {
+ session_run_string(sess,
+ "include('testing')");
+ CHECK(cstr_ends_with(error_get(), "No such file or directory"));
+ }
+}