Mercurial > malikania
diff examples/js-window/main.cpp @ 80:a162f380f02e
CMake: create examples, closes #615
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 22 Jan 2017 09:59:14 +0100 |
parents | 78de82cc6bde |
children | 119bcc5a727e |
line wrap: on
line diff
--- a/examples/js-window/main.cpp Sat Jan 21 14:13:52 2017 +0100 +++ b/examples/js-window/main.cpp Sun Jan 22 09:59:14 2017 +0100 @@ -1,7 +1,7 @@ /* * main.cpp -- test Window (JavaScript binding) * - * Copyright (c) 2013-2016 Malikania Authors + * Copyright (c) 2013-2017 Malikania Authors * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -17,71 +17,60 @@ */ #include <chrono> +#include <iostream> #include <thread> -#define BOOST_TEST_MODULE "Javascript Window" -#include <boost/test/unit_test.hpp> - #include <malikania/js_window.hpp> -using namespace mlk; using namespace std::chrono_literals; -class test_window { -protected: - dukx_context m_ctx; +void basic(dukx_context& ctx) +{ + auto ret = duk_peval_string(ctx, + "w = new Malikania.Window();" + "w.setDrawingColor('lightskyblue');" + "w.clear();" + "w.present();" + ); + + if (ret != 0) { + throw dukx_get_exception(ctx, -1); + } + + std::this_thread::sleep_for(3s); +} -public: - test_window() - { - duk_push_object(m_ctx); - duk_put_global_string(m_ctx, "Malikania"); - mlk::dukx_load_window(m_ctx); +void rect(dukx_context& ctx) +{ + auto ret = duk_peval_string(ctx, + "w = new Malikania.Window();" + "w.setDrawingColor('lightskyblue');" + "w.clear();" + "w.setDrawingColor('white');" + "w.drawRectangle({ x: 10, y: 10, width: 10, height: 10 });" + "w.present();" + ); + + if (ret != 0) { + throw dukx_get_exception(ctx, -1); } -}; -BOOST_FIXTURE_TEST_SUITE(test_window_suite, test_window) + std::this_thread::sleep_for(3s); +} -BOOST_AUTO_TEST_CASE(basic) +int main() { try { - auto ret = duk_peval_string(m_ctx, - "w = new Malikania.Window();" - "w.setDrawingColor('lightskyblue');" - "w.clear();" - "w.present();" - ); + dukx_context ctx; + + duk_push_object(ctx); + duk_put_global_string(ctx, "Malikania"); + mlk::dukx_load_window(ctx); - if (ret != 0) { - throw dukx_get_exception(m_ctx, -1); - } - - std::this_thread::sleep_for(3s); - } catch (const std::exception &ex) { - BOOST_FAIL(ex.what()); + basic(ctx); + rect(ctx); + } catch (const std::exception& ex) { + std::cerr << ex.what() << std::endl; + return 1; } } - -BOOST_AUTO_TEST_CASE(rect) -{ - try { - auto ret = duk_peval_string(m_ctx, - "w = new Malikania.Window();" - "w.setDrawingColor('lightskyblue');" - "w.clear();" - "w.setDrawingColor('white');" - "w.drawRectangle({ x: 10, y: 10, width: 10, height: 10 });" - "w.present();" - ); - - if (ret != 0) { - throw dukx_get_exception(m_ctx, -1); - } - - std::this_thread::sleep_for(3s); - } catch (const std::exception &ex) { - BOOST_FAIL(ex.what()); - } -} - -BOOST_AUTO_TEST_SUITE_END()