qtscripttools.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // (c) Copyright Juergen Hunold 2012
  2. // Use, modification and distribution is subject to the Boost Software
  3. // License, Version 1.0. (See accompanying file LICENSE.txt or copy at
  4. // https://www.bfgroup.xyz/b2/LICENSE.txt)
  5. #define BOOST_TEST_MODULE QtScriptTools
  6. #include <QScriptEngine>
  7. #include <QScriptEngineDebugger>
  8. #include <QCoreApplication>
  9. #include <boost/test/unit_test.hpp>
  10. #include <iostream>
  11. namespace utf = boost::unit_test::framework;
  12. std::ostream&
  13. operator << (std::ostream& stream, QString const& string)
  14. {
  15. stream << qPrintable(string);
  16. return stream;
  17. }
  18. BOOST_AUTO_TEST_CASE( defines)
  19. {
  20. BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_SCRIPTTOOLS_LIB), true);
  21. }
  22. BOOST_AUTO_TEST_CASE( script )
  23. {
  24. QCoreApplication app(utf::master_test_suite().argc,
  25. utf::master_test_suite().argv);
  26. QScriptEngine myEngine;
  27. QScriptValue three = myEngine.evaluate("1 + 2");
  28. QScriptEngineDebugger debugger;
  29. debugger.attachTo(&myEngine);
  30. BOOST_CHECK_EQUAL(three.toNumber(), 3);
  31. BOOST_CHECK_EQUAL(three.toString(), QLatin1String("3"));
  32. debugger.detach();
  33. }