summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am1
-rw-r--r--src/gui/widgets/browserbox_unittest.cc109
2 files changed, 110 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 84035d53d..54911f281 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -798,6 +798,7 @@ manaplus_SOURCES += \
if ENABLE_UNITTESTS
manaplus_CXXFLAGS += -DUNITTESTS
manaplus_SOURCES += \
+ gui/widgets/browserbox_unittest.cc \
utils/stringutils_unittest.cc
endif
diff --git a/src/gui/widgets/browserbox_unittest.cc b/src/gui/widgets/browserbox_unittest.cc
new file mode 100644
index 000000000..88e8143c3
--- /dev/null
+++ b/src/gui/widgets/browserbox_unittest.cc
@@ -0,0 +1,109 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2012 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "logger.h"
+
+#include "gui/theme.h"
+
+#include "gui/widgets/browserbox.h"
+
+#include "gtest/gtest.h"
+
+#include <physfs.h>
+
+#include <list>
+#include <string>
+#include <vector>
+
+#include "debug.h"
+
+TEST(browserbox, test1)
+{
+ PHYSFS_init("manaplus");
+ logger = new Logger();
+ Theme *theme = Theme::instance();
+ BrowserBox *box = new BrowserBox(BrowserBox::AUTO_WRAP);
+ box->setWidth(100);
+ std::string row = "test";
+ box->addRow(row);
+ EXPECT_TRUE(box->hasRows());
+ box->clearRows();
+ row = "@@";
+ box->addRow(row);
+ row = "@@|";
+ box->addRow(row);
+ row = "|@@";
+ box->addRow(row);
+ row = "@@|@@";
+ box->addRow(row);
+ row = "|@@@@";
+ box->addRow(row);
+ row = "@@11|22@@";
+ box->addRow(row);
+ row = "##@@11|22@@";
+ box->addRow(row);
+ row = "@@##|22@@";
+ box->addRow(row);
+ row = "@@11|##22@@";
+ box->addRow(row);
+ row = "@@11|22##@@";
+ box->addRow(row);
+ row = "@@11|22@@##";
+ box->addRow(row);
+ row = "<##@@11|22@@";
+ box->addRow(row);
+ row = "@@<##|22@@";
+ box->addRow(row);
+ row = "@@11|<##22@@";
+ box->addRow(row);
+ row = "@@11|22<##@@";
+ box->addRow(row);
+ row = "@@11|22@@<##";
+ box->addRow(row);
+ row = "<##11|22@@";
+ box->addRow(row);
+ row = "<##|22@@";
+ box->addRow(row);
+ row = "11|<##22@@";
+ box->addRow(row);
+ row = "11|22<##@@";
+ box->addRow(row);
+ row = "11|22@@<##";
+ box->addRow(row);
+ row = "##>@@11|22@@";
+ box->addRow(row);
+ row = "@@##>|22@@";
+ box->addRow(row);
+ row = "@@11|##>22@@";
+ box->addRow(row);
+ row = "@@11|22##>@@";
+ box->addRow(row);
+ row = "@@11|22@@##>";
+ box->addRow(row);
+ row = "<##11|22##>";
+ box->addRow(row);
+ row = "<##|22##>";
+ box->addRow(row);
+ row = "11|<##22##>";
+ box->addRow(row);
+ row = "11|22<####>";
+ box->addRow(row);
+ row = "11|22##><##";
+}