aboutsummaryrefslogtreecommitdiffstats
path: root/lib/LuaBridge/Tests/Source/Tests.cpp
diff options
context:
space:
mode:
authorAndy Belle-Isle <drumsetmonkey@gmail.com>2019-08-29 20:02:35 -0400
committerAndy Belle-Isle <drumsetmonkey@gmail.com>2019-08-29 20:02:35 -0400
commite1cdfd27cad943290a0233119548a8dd8876bd52 (patch)
tree1dc0526cc492f9112b5269511c9d634599304940 /lib/LuaBridge/Tests/Source/Tests.cpp
parent4ac4b280abf2ffa28caa5a532353115a3033444f (diff)
Replaced LuaBridge with sol2 and completely encapsulated scripting within script system
Diffstat (limited to 'lib/LuaBridge/Tests/Source/Tests.cpp')
-rw-r--r--lib/LuaBridge/Tests/Source/Tests.cpp262
1 files changed, 0 insertions, 262 deletions
diff --git a/lib/LuaBridge/Tests/Source/Tests.cpp b/lib/LuaBridge/Tests/Source/Tests.cpp
deleted file mode 100644
index c8c9fc5..0000000
--- a/lib/LuaBridge/Tests/Source/Tests.cpp
+++ /dev/null
@@ -1,262 +0,0 @@
-// https://github.com/vinniefalco/LuaBridge
-//
-// Copyright 2019, Dmitry Tarakanov
-// Copyright 2012, Vinnie Falco <vinnie.falco@gmail.com>
-// Copyright 2007, Nathan Reed
-// SPDX-License-Identifier: MIT
-
-// A set of tests of different types' communication with Lua
-
-#include "TestBase.h"
-
-#include <gtest/gtest.h>
-
-#include <cstring>
-#include <iostream>
-#include <memory>
-#include <string>
-
-void printValue (lua_State* L, int index)
-{
- int type = lua_type (L, index);
- switch (type)
- {
- case LUA_TBOOLEAN:
- std::cerr << std::boolalpha << (lua_toboolean (L, index) != 0);
- break;
- case LUA_TSTRING:
- std::cerr << lua_tostring (L, index);
- break;
- case LUA_TNUMBER:
- std::cerr << lua_tonumber (L, index);
- break;
- case LUA_TTABLE:
- case LUA_TTHREAD:
- case LUA_TFUNCTION:
- std::cerr << lua_topointer (L, index);
- break;
- }
- std::cerr << ": " << lua_typename (L, type) << " (" << type << ")" << std::endl;
-}
-
-struct LuaBridgeTest : TestBase
-{
-};
-
-template <class T>
-T identityCFunction(T value)
-{
- return value;
-}
-
-TEST_F (LuaBridgeTest, CFunction)
-{
- luabridge::getGlobalNamespace(L)
- .addFunction ("boolFn", &identityCFunction <bool>)
- .addFunction ("ucharFn", &identityCFunction <unsigned char>)
- .addFunction ("shortFn", &identityCFunction <short>)
- .addFunction ("ushortFn", &identityCFunction <unsigned short>)
- .addFunction ("intFn", &identityCFunction <int>)
- .addFunction ("uintFn", &identityCFunction <unsigned int>)
- .addFunction ("longFn", &identityCFunction <long>)
- .addFunction ("ulongFn", &identityCFunction <unsigned long>)
- .addFunction ("longlongFn", &identityCFunction <long long>)
- .addFunction ("ulonglongFn", &identityCFunction <unsigned long long>)
- .addFunction ("floatFn", &identityCFunction <float>)
- .addFunction ("doubleFn", &identityCFunction <double>)
- .addFunction ("charFn", &identityCFunction <char>)
- .addFunction ("cstringFn", &identityCFunction <const char*>)
- .addFunction ("stringFn", &identityCFunction <std::string>)
- ;
-
- {
- runLua ("result = ucharFn (255)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (255u, result <unsigned char> ());
- }
-
- {
- runLua ("result = boolFn (false)");
- ASSERT_EQ (true, result ().isBool ());
- ASSERT_EQ (false, result <bool> ());
- }
- {
- runLua ("result = boolFn (true)");
- ASSERT_EQ (true, result ().isBool ());
- ASSERT_EQ (true, result <bool> ());
- }
-
- {
- runLua ("result = shortFn (-32768)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (-32768, result <int> ());
- }
-
- {
- runLua ("result = ushortFn (32767)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (32767u, result <unsigned int> ());
- }
- {
- runLua ("result = intFn (-500)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (-500, result <int> ());
- }
-
- {
- runLua ("result = uintFn (42)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (42u, result <unsigned int> ());
- }
-
- {
- runLua ("result = longFn (-8000)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (-8000, result <long> ());
- }
-
- {
- runLua ("result = ulongFn (9000)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (9000u, result <unsigned long> ());
- }
-
- {
- runLua ("result = longlongFn (-8000)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (-8000, result <long long> ());
- }
-
- {
- runLua ("result = ulonglongFn (9000)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_EQ (9000u, result <unsigned long long> ());
- }
-
- {
- runLua ("result = floatFn (3.14)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_FLOAT_EQ (3.14f, result <float> ());
- }
-
- {
- runLua ("result = doubleFn (-12.3)");
- ASSERT_EQ (true, result ().isNumber ());
- ASSERT_DOUBLE_EQ (-12.3, result <double> ());
- }
-
- {
- runLua ("result = charFn ('a')");
- ASSERT_EQ (true, result ().isString ());
- ASSERT_EQ ('a', result <char> ());
- }
-
- {
- runLua ("result = cstringFn ('abc')");
- ASSERT_EQ (true, result ().isString ());
- ASSERT_STREQ ("abc", result <const char*> ());
- }
-
- {
- runLua ("result = stringFn ('lua')");
- ASSERT_EQ (true, result ().isString ());
- ASSERT_EQ ("lua", result <std::string> ());
- }
-}
-
-template <class T>
-struct TestClass
-{
- TestClass (T data)
- : data (data)
- , constData (data)
- {
- }
-
- T getValue () { return data; }
- T* getPtr () { return &data; }
- T const* getConstPtr () { return &data; }
- T& getRef () { return data; }
- T const& getConstRef () { return data; }
- T getValueConst () const { return data; }
- T* getPtrConst () const { return &data; }
- T const* getConstPtrConst () const { return &data; }
- T& getRefConst () const { return data; }
- T const& getConstRefConst () const { return data; }
-
- mutable T data;
- mutable T constData;
-};
-
-TEST_F (LuaBridgeTest, ClassFunction)
-{
- typedef TestClass <int> Inner;
- typedef TestClass <Inner> Outer;
-
- luabridge::getGlobalNamespace (L)
- .beginClass <Inner> ("Inner")
- .addConstructor <void (*) (int)> ()
- .addData ("data", &Inner::data)
- .endClass ()
- .beginClass <Outer> ("Outer")
- .addConstructor <void (*) (Inner)> ()
- .addFunction ("getValue", &Outer::getValue)
- .addFunction ("getPtr", &Outer::getPtr)
- .addFunction ("getConstPtr", &Outer::getConstPtr)
- .addFunction ("getRef", &Outer::getRef)
- .addFunction ("getConstRef", &Outer::getConstRef)
- .addFunction ("getValueConst", &Outer::getValueConst)
- .addFunction ("getPtrConst", &Outer::getPtrConst)
- .addFunction ("getConstPtrConst", &Outer::getConstPtrConst)
- .addFunction ("getRefConst", &Outer::getRefConst)
- .addFunction ("getConstRefConst", &Outer::getConstRefConst)
- .endClass ()
- ;
-
- Outer outer (Inner (0));
- luabridge::setGlobal (L, &outer, "outer");
-
- outer.data.data = 0;
- runLua ("outer:getValue ().data = 1");
- ASSERT_EQ (0, outer.data.data);
-
- outer.data.data = 1;
- runLua ("outer:getPtr ().data = 10");
- ASSERT_EQ (10, outer.data.data);
-
- outer.data.data = 2;
- ASSERT_THROW (
- runLua ("outer:getConstPtr ().data = 20"),
- std::runtime_error);
-
- outer.data.data = 3;
- runLua ("outer:getRef().data = 30");
- ASSERT_EQ (30, outer.data.data);
-
- outer.data.data = 4;
- ASSERT_THROW (
- runLua ("outer:getConstPtr ().data = 40"),
- std::runtime_error);
-
- outer.data.data = 5;
- runLua ("outer:getValueConst ().data = 50");
- ASSERT_EQ (5, outer.data.data);
-
- outer.data.data = 6;
- runLua ("outer:getPtrConst ().data = 60");
- ASSERT_EQ (60, outer.data.data);
-
- outer.data.data = 7;
- ASSERT_THROW (
- runLua ("outer:getConstPtr ().data = 70"),
- std::runtime_error);
-
- outer.data.data = 8;
- runLua ("outer:getRef().data = 80");
- ASSERT_EQ (80, outer.data.data);
-
- outer.data.data = 9;
- ASSERT_THROW (
- runLua ("outer:getConstPtr ().data = 90"),
- std::runtime_error);
-}