@@ -0,0 +1,59 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU Lesser General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU Lesser General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU Lesser General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors:
17+ * Nick Dedekind <nick.dedekind@canonical.com>
18+ */
19+
20+#include "rootactionstate.h"
21+
22+#include <unitymenumodel.h>
23+#include <QtTest>
24+
25+class RootActionStateTest : public QObject
26+{
27+ Q_OBJECT
28+private Q_SLOTS:
29+
30+ void testDeleteRootActionState()
31+ {
32+ UnityMenuModel* menuModel = new UnityMenuModel();
33+ RootActionState* rootState = new RootActionState();
34+
35+ rootState->setMenu(menuModel);
36+
37+ QCOMPARE(menuModel->actionStateParser(), rootState);
38+ delete rootState;
39+ QVERIFY(menuModel->actionStateParser() == NULL);
40+
41+ delete menuModel;
42+ }
43+
44+ void testDeleteUnityMenuModel()
45+ {
46+ UnityMenuModel* menuModel = new UnityMenuModel();
47+ RootActionState* rootState = new RootActionState();
48+
49+ rootState->setMenu(menuModel);
50+
51+ QCOMPARE(rootState->menu(), menuModel);
52+ delete menuModel;
53+ QVERIFY(rootState->menu() == NULL);
54+ delete rootState;
55+ }
56+};
57+
58+QTEST_GUILESS_MAIN(RootActionStateTest)
59+#include "rootactionstatetest.moc"