diff options
author | Vincent Richard <[email protected]> | 2005-08-25 21:25:45 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2005-08-25 21:25:45 +0000 |
commit | 5d18fce959ea74f99a8683c944c96881b2365bb2 (patch) | |
tree | d35b9177115606eedd84bbc64eb11aa21ca72878 /tests/lib/unit++/gui.cc | |
parent | Fixed undefined symbol 'UNSPECIFIED_PORT'. (diff) | |
download | vmime-5d18fce959ea74f99a8683c944c96881b2365bb2.tar.gz vmime-5d18fce959ea74f99a8683c944c96881b2365bb2.zip |
Moved to CppUnit for unit tests framework.
Diffstat (limited to '')
-rw-r--r-- | tests/lib/unit++/gui.cc | 313 |
1 files changed, 0 insertions, 313 deletions
diff --git a/tests/lib/unit++/gui.cc b/tests/lib/unit++/gui.cc deleted file mode 100644 index 6344b5e8..00000000 --- a/tests/lib/unit++/gui.cc +++ /dev/null @@ -1,313 +0,0 @@ -#include <algorithm> -#include "gui.h" -#include "unit++.h" -#ifdef HAVE_SSTREAM -#include <sstream> -#endif -using namespace unitpp; -using namespace std; - -#ifdef GUI -static const char* const img_error[] = { -"14 14 2 1", -". c #ff0000", -"# c #ffffff", -"...########...", -"....######....", -".....####.....", -"#.....##.....#", -"##..........##", -"###........###", -"####......####", -"####......####", -"###........###", -"##..........##", -"#.....##.....#", -".....####.....", -"....######....", -"...########..."}; - -static const char* const img_fail[] = { -"14 14 2 1", -"# c #ff0000", -". c #ffffff", -"..............", -".##........##.", -".###......###.", -"..###....###..", -"...###..###...", -"....######....", -".....####.....", -".....####.....", -"....######....", -"...###..###...", -"..###....###..", -".###......###.", -".##........##.", -".............."}; - -static const char* const img_ok[] = { -"14 14 3 1", -"# c #00ff00", -"a c #00ff6a", -". c #ffffff", -"..........###.", -".........###..", -"........#a#...", -"........aa#...", -".......#aa....", -".......#a.....", -"......#aa.....", -"#.....aa#.....", -"###..#a#......", -".##.##a.......", -"..#aaa#.......", -"...#aa#.......", -"....##........", -".....#........"}; - -static const char* const img_empty[] = { -"14 14 2 1", -". c #f0f0f0", -"# c #ffffff", -"..............", -".############.", -".############.", -".############.", -".############.", -".############.", -".############.", -".############.", -".############.", -".############.", -".############.", -".############.", -".############.", -".............."}; - - -cnt_item::cnt_item(QWidget* par, const QString& txt, const QColor& col, - const char* name) - : QHBox(par, name), v(0) -{ - setSpacing(3); - setMargin(5); - val = new QLabel("0", this); - val->setAlignment(QLabel::AlignVCenter | QLabel::AlignRight); - QPalette pal(val->palette()); - QColorGroup cg(pal.active()); - cg.setColor(QColorGroup::Foreground, col); - pal.setActive(cg); - val->setPalette(pal); - label = new QLabel(txt, this); -} -void cnt_item::value(int iv) -{ - v = iv; - val->setNum(v); -} -void cnt_item::inc() -{ - value(v+1); -} - -cnt_line::cnt_line(const QString& txt, QWidget* par, const char* name) - : QHBox(par, name) -{ - label = new QLabel(txt, this); - QFont font(label->font()); - font.setBold(true); - label->setFont(font); - cnts[0] = new cnt_item(this, "Total"); - cnts[1] = new cnt_item(this, "OK", green); - cnts[2] = new cnt_item(this, "Fail", red); - cnts[3] = new cnt_item(this, "Error", red); - setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred)); -} - -void cnt_line::max(int m) { cnts[id_max]->value(m); } -void cnt_line::inc_ok() { cnts[id_ok]->inc(); } -void cnt_line::inc_fail() { cnts[id_fail]->inc(); } -void cnt_line::inc_error() { cnts[id_error]->inc(); } -void cnt_line::reset() -{ - for (int i = id_ok; i < n_id; ++i) - cnts[i]->value(0); -} - -res_stack::res_stack(const QString& txt, QWidget* par, const char* name) - : QVBox(par, name) -{ - cnts = new cnt_line(txt, this, name); - bar = new QProgressBar(this); - setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred)); -} -void res_stack::max(int v) -{ - cnts->max(v); - bar->setTotalSteps(v); -} -void res_stack::inc_progress(bool err) -{ - QPalette pal(bar->palette()); - QColorGroup cg(pal.active()); - QColor red(255,0,0); - QColor green(0,244,0); - cg.setColor(QColorGroup::Highlight, err ? red : green); - cg.setColor(QColorGroup::HighlightedText, black); - pal.setActive(cg); - pal.setInactive(cg); - pal.setDisabled(cg); - bar->setPalette(pal); - bar->setProgress(bar->progress()+1); -} -void res_stack::reset() { - cnts->reset(); - bar->setProgress(0); -} -void res_stack::inc_ok() { cnts->inc_ok(); inc_progress(false); } -void res_stack::inc_fail() { cnts->inc_fail(); inc_progress(true); } -void res_stack::inc_error() { cnts->inc_error(); inc_progress(true); } - -QHBox* behave(QHBox* box, bool x_expand, bool y_expand) -{ - box->setSizePolicy(QSizePolicy( - x_expand ? QSizePolicy::Preferred : QSizePolicy::Maximum, - y_expand ? QSizePolicy::Preferred : QSizePolicy::Maximum)); - box->setFrameShape(QFrame::StyledPanel); - box->setFrameShadow(QFrame::Raised); - box->setMargin(11); - box->setSpacing(6); - return box; -} - -void node::setImg() -{ - static QPixmap i_emp((const char**)img_empty); - static QPixmap i_ok((const char**)img_ok); - static QPixmap i_fail((const char**)img_fail); - static QPixmap i_err((const char**)img_error); - static QPixmap* imgs[] = { &i_emp, &i_ok, &i_fail, &i_err }; - item->setPixmap(0, *(imgs[st])); - if (st > is_ok) - for (QListViewItem* ip = item; ip != 0; ip = ip->parent()) - ip->setOpen(true); -}; - -node::node(suite_node* par, test& t) - : item(new QListViewItem(par->lvi(), t.name().c_str())), t(t), st(none) -{ - par->add_child(this); - setImg(); -} -node::node(gui* gp, test& t) - : item(new QListViewItem(gp->test_tree(), t.name().c_str())), t(t), st(none) -{ - setImg(); - item->setOpen(true); -} -void node::run() -{ - for (QListViewItem* ip=item->firstChild(); ip != 0; ip=item->firstChild()) - delete ip; - try { - t(); - status(is_ok); - emit ok(); - } catch (assertion_error& e) { - status(is_fail); - show_error(e); - emit fail(); - } catch (exception& e) { - status(is_error); - show_error(e.what()); - emit error(); - } catch (...) { - status(is_error); - show_error("unknown ... exception"); - emit error(); - } -} -void node::show_error(assertion_error& e) -{ -#ifdef HAVE_SSTREAM - ostringstream oss; - oss << e; - show_error(oss.str().c_str()); -#else - show_error(e.what()); // not well, but some sign -#endif -} -void node::show_error(const char* msg) -{ - QListViewItem* elvi = new QListViewItem(item, msg); - elvi->setSelectable(false); -} -suite_node::suite_node(suite_node* par, suite& t) : node(par, t) { } -suite_node::suite_node(gui* par, suite& t) : node(par, t) { } -void suite_node::run() -{ - status(is_ok); - for (cctyp::iterator p = cc.begin(); p != cc.end(); ++p) { - (*p)->run(); - status(max(status(), (*p)->status())); - } - switch (status()) { - case is_ok: emit ok(); break; - case is_fail: emit fail(); break; - case is_error: emit error(); break; - } -} -gui::gui(QApplication& app, QWidget* par, const char* name) - : QVBox(par, name), app(app) -{ - setMargin(6); - setSpacing(3); - tree = new QListView(behave(new QVBox(this), true, true), "tree"); - tree->addColumn("Test"); - tree->setFrameShadow(QListView::Sunken); - tree->setResizePolicy(QScrollView::Manual); - tree->setRootIsDecorated(true); - QVBox* f_cnts = new QVBox(this); - behave(f_cnts, true, false); - suites = new res_stack("Suites", f_cnts); - tests = new res_stack("Tests", f_cnts); - QHBox* hbox = behave(new QHBox(this), true, false); - b_run = new QPushButton("Run", hbox, "run"); - b_stop = new QPushButton("Stop", hbox, "stop"); - b_quit = new QPushButton("Quit", hbox, "quit"); - connect(b_quit, SIGNAL(clicked()), &app, SLOT(quit())); - connect(b_run, SIGNAL(clicked()), this, SLOT(run_pressed())); - connect(b_stop, SIGNAL(clicked()), this, SLOT(stop_pressed())); -} - -gui::~gui() { } - -void gui::processEvents(int t) -{ - app.processEvents(t); -} -void gui::reset() -{ - tests->reset(); - suites->reset(); -} -void gui::nconnect(node* n, res_stack* rs) -{ - connect(n, SIGNAL(ok()), rs, SLOT(inc_ok())); - connect(n, SIGNAL(fail()), rs, SLOT(inc_fail())); - connect(n, SIGNAL(error()), rs, SLOT(inc_error())); -} -void gui::add_test(node* n) -{ - nconnect(n, tests); -} -void gui::add_suite(node* n) -{ - nconnect(n, suites); -} - -void gui::totSuites(int v) { suites->max(v); } -void gui::totTests(int v) { tests->max(v); } - -#endif |