More tests, and does clang++ work on travis yet?!
This commit is contained in:
parent
91e8f40a70
commit
081690492e
3
Makefile
3
Makefile
@ -162,8 +162,7 @@ tests: $(TESTS) json_wrapper $(BASE_LIB) $(WIDGET_LIB)
|
|||||||
|
|
||||||
|
|
||||||
run-tests: tests
|
run-tests: tests
|
||||||
./tests/runner -s
|
./tests/runner
|
||||||
./tests/runner -r compact
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.res
|
rm -f *.res
|
||||||
|
@ -23,12 +23,22 @@ ThemeConfig::~ThemeConfig() {}
|
|||||||
* Set the current theme
|
* Set the current theme
|
||||||
*
|
*
|
||||||
* @param string theme_name
|
* @param string theme_name
|
||||||
* @return void
|
* @return bool
|
||||||
*/
|
*/
|
||||||
void ThemeConfig::SetTheme(string theme_name)
|
bool ThemeConfig::SetTheme(string theme_name)
|
||||||
{
|
{
|
||||||
JsonValue theme_list = this->GetRoot();
|
JsonValue theme_list = this->GetRoot();
|
||||||
this->current_theme = theme_list.get(theme_name, JsonValue());
|
JsonValue selected_theme = theme_list.get(theme_name, JsonValue());
|
||||||
|
|
||||||
|
if (selected_theme.isNull()) return FALSE;
|
||||||
|
|
||||||
|
if (selected_theme.isObject())
|
||||||
|
{
|
||||||
|
this->current_theme = selected_theme;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -77,6 +87,6 @@ wxColor ThemeConfig::GetThemeColor(string type, string key)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return wxColor("black");
|
return wxColor("BLACK");
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,7 +12,7 @@ class ThemeConfig : TyroConfig {
|
|||||||
public:
|
public:
|
||||||
ThemeConfig();
|
ThemeConfig();
|
||||||
~ThemeConfig();
|
~ThemeConfig();
|
||||||
void SetTheme(string theme_name);
|
bool SetTheme(string theme_name);
|
||||||
JsonValue GetTheme();
|
JsonValue GetTheme();
|
||||||
JsonValue GetThemeValue(string type, string key);
|
JsonValue GetThemeValue(string type, string key);
|
||||||
wxColor GetThemeColor(string type, string key);
|
wxColor GetThemeColor(string type, string key);
|
||||||
|
@ -41,16 +41,25 @@ TEST_CASE("Language Config Library")
|
|||||||
|
|
||||||
SECTION("GetCurrentLangName()")
|
SECTION("GetCurrentLangName()")
|
||||||
{
|
{
|
||||||
|
config->SetLang("cpp");
|
||||||
|
REQUIRE("C / C++" == config->GetCurrentLangName());
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("GetLexerMap()")
|
SECTION("GetLexerMap()")
|
||||||
{
|
{
|
||||||
|
JsonValue lexer_map = config->GetLexerMap("none");
|
||||||
|
REQUIRE(lexer_map.isNull());
|
||||||
|
|
||||||
|
lexer_map = config->GetLexerMap("cpp");
|
||||||
|
REQUIRE(lexer_map.isArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("GetKeywordList()")
|
SECTION("GetKeywordList()")
|
||||||
{
|
{
|
||||||
|
JsonValue keyword_list = config->GetKeywordList("none");
|
||||||
|
REQUIRE(keyword_list.isNull());
|
||||||
|
|
||||||
|
keyword_list = config->GetKeywordList("cpp");
|
||||||
|
REQUIRE(keyword_list.isArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
28
tests/ThemeConfigTest.cpp
Normal file
28
tests/ThemeConfigTest.cpp
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#include "catch.hpp"
|
||||||
|
#include "../src/settings/ThemeConfig.h"
|
||||||
|
|
||||||
|
TEST_CASE("Theme Config Library")
|
||||||
|
{
|
||||||
|
ThemeConfig *config = new ThemeConfig();
|
||||||
|
|
||||||
|
SECTION("GetTheme()")
|
||||||
|
{
|
||||||
|
JsonValue theme = config->GetTheme();
|
||||||
|
REQUIRE(theme.isObject());
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("SetTheme()")
|
||||||
|
{
|
||||||
|
REQUIRE_FALSE(config->SetTheme("foobar"));
|
||||||
|
REQUIRE(config->SetTheme("Solarized"));
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("GetThemeColor()")
|
||||||
|
{
|
||||||
|
REQUIRE(config->SetTheme("Solarized"));
|
||||||
|
|
||||||
|
// Bad color
|
||||||
|
wxColor theme_color = config->GetThemeColor("foo", "bar");
|
||||||
|
REQUIRE(wxColor("BLACK") == theme_color);
|
||||||
|
}
|
||||||
|
}
|
@ -62,6 +62,7 @@
|
|||||||
#define INTERNAL_CATCH_STRINGIFY2( expr ) #expr
|
#define INTERNAL_CATCH_STRINGIFY2( expr ) #expr
|
||||||
#define INTERNAL_CATCH_STRINGIFY( expr ) INTERNAL_CATCH_STRINGIFY2( expr )
|
#define INTERNAL_CATCH_STRINGIFY( expr ) INTERNAL_CATCH_STRINGIFY2( expr )
|
||||||
|
|
||||||
|
#include <stdlib>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
Loading…
Reference in New Issue
Block a user