diff options
author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-01-09 16:26:49 +0100 |
---|---|---|
committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-01-09 16:26:49 +0100 |
commit | 58fed7b74357b82ba55558f91ae13123dc2380eb (patch) | |
tree | 78b36b5e13847d24a8609a00ab93c15188e87790 /test | |
parent | 72399fdf6f7c2eec785fe9b0e70b7284f550d5dd (diff) |
debugged DemoOutput.cpp
Diffstat (limited to 'test')
-rw-r--r-- | test/core/XMLTest.cpp | 2 | ||||
-rw-r--r-- | test/plugins/html/DemoOutputTest.cpp | 45 |
2 files changed, 46 insertions, 1 deletions
diff --git a/test/core/XMLTest.cpp b/test/core/XMLTest.cpp index f7a0b4a..b11a24c 100644 --- a/test/core/XMLTest.cpp +++ b/test/core/XMLTest.cpp @@ -49,7 +49,7 @@ TEST(XMLNode, testSerialize) // Now this is what we expect to see: std::string expected{ - "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<?xml version=\"1.0\"?>\n" "<html>\n" "\t<head>\n" "\t\t<title>\n" diff --git a/test/plugins/html/DemoOutputTest.cpp b/test/plugins/html/DemoOutputTest.cpp index 4ab2c53..5a34112 100644 --- a/test/plugins/html/DemoOutputTest.cpp +++ b/test/plugins/html/DemoOutputTest.cpp @@ -49,6 +49,7 @@ TEST(DemoHTMLTransformer, writeHTML) // Construct the document. Rooted<model::Document> doc = model::constructAdvancedDocument( mgr, logger, bookDom, headingDom, listDom, emDom); + ASSERT_TRUE(doc != nullptr); #ifdef MANAGER_GRAPHVIZ_EXPORT // dump the manager state @@ -59,5 +60,49 @@ TEST(DemoHTMLTransformer, writeHTML) DemoHTMLTransformer transformer; transformer.writeHTML(doc, std::cout); } + +TEST(DemoHTMLTransformer, AnnotationProcessing) +{ + // Construct Manager + TerminalLogger logger{std::cerr, true}; + Manager mgr{1}; + Rooted<model::SystemTypesystem> sys{new model::SystemTypesystem(mgr)}; + // Get the domains. + Rooted<model::Domain> bookDom = + model::constructBookDomain(mgr, sys, logger); + Rooted<model::Domain> emDom = + model::constructEmphasisDomain(mgr, sys, logger); + // Construct a document only containing overlapping annotations. + // it has the form: <em>bla<strong>blub</em>bla</strong> + Rooted<model::Document> doc{new model::Document(mgr, "annotations.oxd")}; + doc->addDomains({bookDom, emDom}); + Rooted<model::StructuredEntity> book = + buildRootStructuredEntity(doc, logger, {"book"}); + ASSERT_TRUE(book != nullptr); + Rooted<model::StructuredEntity> p = + buildStructuredEntity(doc, logger, book, {"paragraph"}); + ASSERT_TRUE(p != nullptr); + Rooted<model::AnnotationEntity::Anchor> em_start = + buildAnchor(logger, p, "1"); + ASSERT_TRUE(em_start != nullptr); + ASSERT_TRUE(addText(logger, doc, p, "bla")); + Rooted<model::AnnotationEntity::Anchor> strong_start = + buildAnchor(logger, p, "2"); + ASSERT_TRUE(strong_start != nullptr); + ASSERT_TRUE(addText(logger, doc, p, "blub")); + Rooted<model::AnnotationEntity::Anchor> em_end = + buildAnchor(logger, p, "3"); + ASSERT_TRUE(em_end != nullptr); + ASSERT_TRUE(addText(logger, doc, p, "bla")); + Rooted<model::AnnotationEntity::Anchor> strong_end = + buildAnchor(logger, p, "4"); + ASSERT_TRUE(strong_end != nullptr); + buildAnnotationEntity(doc, logger, {"emphasized"}, em_start, em_end); + buildAnnotationEntity(doc, logger, {"strong"}, strong_start, strong_end); + + // TODO: change this. Don't use printouts + DemoHTMLTransformer transformer; + transformer.writeHTML(doc, std::cout); +} } } |