🎨 Convert to a header-only library (#6)
This commit is contained in:
@ -1,17 +1,16 @@
|
||||
if(NOT EXISTS "${CMAKE_BINARY_DIR}/catch/catch.hpp")
|
||||
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/catch")
|
||||
message(STATUS "Downloading catch.hpp from https://github.com/catchorg/Catch2/")
|
||||
file(DOWNLOAD "https://github.com/catchorg/Catch2/releases/download/v2.5.0/catch.hpp"
|
||||
"${CMAKE_BINARY_DIR}/catch/catch.hpp")
|
||||
endif()
|
||||
project(moFileReaderTest)
|
||||
find_package(Catch2 REQUIRED)
|
||||
|
||||
add_executable(moFileReaderTest test.cpp)
|
||||
target_include_directories(moFileReaderTest PRIVATE ${CMAKE_SOURCE_DIR}/include ${CMAKE_BINARY_DIR}/catch)
|
||||
target_link_libraries(moFileReaderTest moFileReader)
|
||||
add_test(NAME mo_test COMMAND moFileReaderTest)
|
||||
include(CTest)
|
||||
include(Catch)
|
||||
|
||||
add_executable(${PROJECT_NAME} test.cpp link_test.cpp)
|
||||
target_include_directories(moFileReaderTest PRIVATE ${CMAKE_SOURCE_DIR}/include)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE Catch2::Catch2)
|
||||
catch_discover_tests(${PROJECT_NAME})
|
||||
|
||||
add_custom_command(
|
||||
TARGET moFileReaderTest POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/test.mo $<TARGET_FILE_DIR:moFileReaderTest>/test.mo
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/test.mo ${CMAKE_CURRENT_BINARY_DIR}/test.mo
|
||||
TARGET ${PROJECT_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/test.mo $<TARGET_FILE_DIR:moFileReaderTest>/test.mo
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/test.mo ${CMAKE_CURRENT_BINARY_DIR}/test.mo
|
||||
)
|
||||
|
17
test/link_test.cpp
Normal file
17
test/link_test.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
#include "catch.hpp"
|
||||
#include "moFileReader.hpp"
|
||||
|
||||
using namespace moFileLib;
|
||||
#define _L(str) moFileReaderSingleton::GetInstance().Lookup(str)
|
||||
#define _LC(ctx, str) moFileReaderSingleton::GetInstance().LookupWithContext(ctx, str)
|
||||
|
||||
void test()
|
||||
{
|
||||
moFileReaderSingleton::GetInstance().ReadFile("test.mo");
|
||||
/* This is the first comment. */
|
||||
CHECK("Text Nederlands Een" == _L("String English One"));
|
||||
/* This is the second comment. */
|
||||
CHECK("Text Nederlands Twee" == _L("String English Two"));
|
||||
/* This is the third comment. */
|
||||
CHECK("Text Nederlands Drie" == _L("String English Three"));
|
||||
}
|
@ -1,36 +1,35 @@
|
||||
#define CATCH_CONFIG_MAIN
|
||||
|
||||
#include "moFileReader.h"
|
||||
#include "catch.hpp"
|
||||
#include "moFileReader.hpp"
|
||||
|
||||
using namespace moFileLib;
|
||||
#define _L(str) moFileReaderSingleton::GetInstance().Lookup(str)
|
||||
#define _LC(ctx,str) moFileReaderSingleton::GetInstance().LookupWithContext(ctx,str)
|
||||
#define _LC(ctx, str) moFileReaderSingleton::GetInstance().LookupWithContext(ctx, str)
|
||||
|
||||
TEST_CASE ("Load mo-file", "[ReadFile]")
|
||||
TEST_CASE("Load mo-file", "[ReadFile]")
|
||||
{
|
||||
CHECK (moFileReaderSingleton::GetInstance ().ReadFile ("test.mo") == moFileLib::moFileReader::EC_SUCCESS);
|
||||
CHECK(moFileReaderSingleton::GetInstance().ReadFile("test.mo") == moFileLib::moFileReader::EC_SUCCESS);
|
||||
}
|
||||
|
||||
TEST_CASE ("Lookup string", "[Lookup]")
|
||||
TEST_CASE("Lookup string", "[Lookup]")
|
||||
{
|
||||
moFileReaderSingleton::GetInstance ().ReadFile ("test.mo");
|
||||
moFileReaderSingleton::GetInstance().ReadFile("test.mo");
|
||||
/* This is the first comment. */
|
||||
CHECK ("Text Nederlands Een" == _L ("String English One"));
|
||||
CHECK("Text Nederlands Een" == _L("String English One"));
|
||||
/* This is the second comment. */
|
||||
CHECK ("Text Nederlands Twee" == _L ("String English Two"));
|
||||
CHECK("Text Nederlands Twee" == _L("String English Two"));
|
||||
/* This is the third comment. */
|
||||
CHECK ("Text Nederlands Drie" == _L ("String English Three"));
|
||||
CHECK("Text Nederlands Drie" == _L("String English Three"));
|
||||
}
|
||||
|
||||
|
||||
TEST_CASE ("Lookup string with context", "[LookupWithContext]")
|
||||
TEST_CASE("Lookup string with context", "[LookupWithContext]")
|
||||
{
|
||||
moFileReaderSingleton::GetInstance ().ReadFile ("test.mo");
|
||||
moFileReaderSingleton::GetInstance().ReadFile("test.mo");
|
||||
/* This is the first comment. */
|
||||
CHECK ("Text Nederlands Een" == _LC ("TEST|String|1", "String English"));
|
||||
CHECK("Text Nederlands Een" == _LC("TEST|String|1", "String English"));
|
||||
/* This is the second comment. */
|
||||
CHECK ("Text Nederlands Twee" == _LC ("TEST|String|2", "String English"));
|
||||
CHECK("Text Nederlands Twee" == _LC("TEST|String|2", "String English"));
|
||||
/* This is the third comment. */
|
||||
CHECK ("Text Nederlands Drie" == _LC ("TEST|String|3", "String English"));
|
||||
CHECK("Text Nederlands Drie" == _LC("TEST|String|3", "String English"));
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "- //W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html><head><style type="text/css">
|
||||
|
||||
body { background-color: black; color: silver;}table {width: 80%;}th {background-color: orange;color: black;}hr { color: red;width: 80%; size: 5px; }a:link{color: gold;}a:visited{color: grey;}a:hover{color:blue;}.copyleft{ font-size: 12px; text-align: center;}
|
||||
</style>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Dump of test.mo</title></head>
|
||||
<body>
|
||||
<center>
|
||||
<h1>test.mo</h1>
|
||||
<table border="1"><th colspan="2">Project Info</th>
|
||||
<tr><td>Project-Id-Version</td><td>moFileTest</td></tr>
|
||||
<tr><td>POT-Creation-Date</td><td>2012-05-20 00:51+0100</td></tr>
|
||||
<tr><td>PO-Revision-Date</td><td>2012-05-20 00:57+0100</td></tr>
|
||||
<tr><td>Last-Translator</td><td>scorcher24 <scorcher24@gmail.>om></td></tr>
|
||||
<tr><td>MIME-Version</td><td>1.0</td></tr>
|
||||
<tr><td>Content-Type</td><td>text/plain; charset=UTF-8</td></tr>
|
||||
<tr><td>Content-Transfer-Encoding</td><td>8bit</td></tr>
|
||||
<tr><td>X-Poedit-KeywordsList</td><td>_;gettext;gettext_noop</td></tr>
|
||||
<tr><td>X-Poedit-Basepath</td><td>.</td></tr>
|
||||
<tr><td>X-Poedit-SearchPath-0</td><td>.</td></tr>
|
||||
</table>
|
||||
<hr noshade/>
|
||||
<table border="1"><th colspan="2">Content</th>
|
||||
<tr><td>String English One</td><td>Zeichenkette Englisch Eins</td></tr>
|
||||
<tr><td>String English Three</td><td>Zeichenkette Englisch Drei</td></tr>
|
||||
<tr><td>String English Two</td><td>Zeichenkette Englisch Zwei</td></tr>
|
||||
</table><br/>
|
||||
</center>
|
||||
<div class="copyleft">File generated by <a href="https://github.com/AnotherFoxGuy/MofileReader" target="_blank">moFileReaderSDK</a></div>
|
||||
</body></html>
|
Reference in New Issue
Block a user