diff options
| author | Adrian Boguszewski <adrbogus1@student.pg.gda.pl> | 2016-07-05 11:49:26 +0000 |
|---|---|---|
| committer | Adrian Boguszewski <adrbogus1@student.pg.gda.pl> | 2016-07-05 11:49:26 +0000 |
| commit | af9a8fb23a525dc0392890762651f315b32544e8 (patch) | |
| tree | 643b6961ad8f7f8fa2e181e3634efdcf0d6ee7fb /testfiles/src/sp-object-test.cpp | |
| parent | Added tests (diff) | |
| download | inkscape-af9a8fb23a525dc0392890762651f315b32544e8.tar.gz inkscape-af9a8fb23a525dc0392890762651f315b32544e8.zip | |
Added simple test for SPObject
(bzr r14954.1.16)
Diffstat (limited to 'testfiles/src/sp-object-test.cpp')
| -rw-r--r-- | testfiles/src/sp-object-test.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/testfiles/src/sp-object-test.cpp b/testfiles/src/sp-object-test.cpp new file mode 100644 index 000000000..594fd9eb7 --- /dev/null +++ b/testfiles/src/sp-object-test.cpp @@ -0,0 +1,69 @@ +/* + * Multiindex container for selection + * + * Authors: + * Adrian Boguszewski + * + * Copyright (C) 2016 Adrian Boguszewski + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ +#include <gtest/gtest.h> +#include <src/sp-object.h> +#include <src/sp-item.h> +#include <src/xml/node.h> +#include <doc-per-case-test.h> + +class SPObjectTest: public DocPerCaseTest { +public: + SPObjectTest() { + a = new SPItem(); + b = new SPItem(); + c = new SPItem(); + d = new SPItem(); + e = new SPItem(); + } + ~SPObjectTest() { + delete a; + delete b; + delete c; + delete d; + delete e; + } + SPObject* a; + SPObject* b; + SPObject* c; + SPObject* d; + SPObject* e; +}; + +TEST_F(SPObjectTest, Basics) { + d->invoke_build(_doc, _doc->rroot, 1); + c->invoke_build(_doc, _doc->rroot, 1); + b->invoke_build(_doc, _doc->rroot, 1); + a->attach(b, a->lastChild()); + a->attach(c, a->lastChild()); + a->attach(d, a->lastChild()); + EXPECT_TRUE(a->hasChildren()); + EXPECT_EQ(d, a->lastChild()); + auto children = a->childList(false); + EXPECT_EQ(3, children.size()); + EXPECT_EQ(b, children[0]); + EXPECT_EQ(c, children[1]); + EXPECT_EQ(d, children[2]); + b->reorder(d); + children = a->childList(false); + EXPECT_EQ(3, children.size()); + EXPECT_EQ(c, children[0]); + EXPECT_EQ(d, children[1]); + EXPECT_EQ(b, children[2]); + a->detach(d); + EXPECT_EQ(b, a->lastChild()); + children = a->childList(false); + EXPECT_EQ(2, children.size()); + EXPECT_EQ(c, children[0]); + EXPECT_EQ(b, children[1]); + a->detach(c); + a->detach(b); + EXPECT_FALSE(a->hasChildren()); +} |
