WSJT-X/boost/tools/build/test/qt5/qtscripttools.cpp

48 lines
1.1 KiB
C++

// (c) Copyright Juergen Hunold 2012
// Use, modification and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_TEST_MODULE QtScriptTools
#include <QScriptEngine>
#include <QScriptEngineDebugger>
#include <QCoreApplication>
#include <boost/test/unit_test.hpp>
#include <iostream>
namespace utf = boost::unit_test::framework;
std::ostream&
operator << (std::ostream& stream, QString const& string)
{
stream << qPrintable(string);
return stream;
}
BOOST_AUTO_TEST_CASE( defines)
{
BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_SCRIPTTOOLS_LIB), true);
}
BOOST_AUTO_TEST_CASE( script )
{
QCoreApplication app(utf::master_test_suite().argc,
utf::master_test_suite().argv);
QScriptEngine myEngine;
QScriptValue three = myEngine.evaluate("1 + 2");
QScriptEngineDebugger debugger;
debugger.attachTo(&myEngine);
BOOST_CHECK_EQUAL(three.toNumber(), 3);
BOOST_CHECK_EQUAL(three.toString(), QLatin1String("3"));
debugger.detach();
}