Add a unit test for dumpHtml
We have no unit tests for this. This isn't very extensive, but we
should have at least one.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I212ee528b354f2ed47f88076be009fd6e16fb760
diff --git a/test/include/json_html_serializer.cpp b/test/include/json_html_serializer.cpp
new file mode 100644
index 0000000..b8afc9b
--- /dev/null
+++ b/test/include/json_html_serializer.cpp
@@ -0,0 +1,41 @@
+#include "json_html_serializer.hpp"
+
+#include <nlohmann/json.hpp>
+
+#include <string>
+
+#include <gtest/gtest.h> // IWYU pragma: keep
+
+// IWYU pragma: no_include <gtest/gtest-message.h>
+// IWYU pragma: no_include <gtest/gtest-test-part.h>
+// IWYU pragma: no_include "gtest/gtest_pred_impl.h"
+
+namespace json_html_util
+{
+namespace
+{
+
+TEST(JsonHtmlSerializer, dumpHtmlLink)
+{
+ std::string out;
+ nlohmann::json j;
+ j["@odata.id"] = "/redfish/v1";
+ dumpHtml(out, j);
+ EXPECT_EQ(
+ out,
+ "<html>\n"
+ "<head>\n"
+ "<title>Redfish API</title>\n"
+ "<link href=\"/redfish.css\" rel=\"stylesheet\">\n"
+ "</head>\n"
+ "<body>\n"
+ "<div class=\"container\">\n"
+ "<img src=\"/DMTF_Redfish_logo_2017.svg\" alt=\"redfish\" height=\"406px\" width=\"576px\">\n"
+ "<div class=\"content\">\n"
+ "{<div class=tab>"@odata.id": <a href=\"/redfish/v1\">\"/redfish/v1\"</a><br></div>}</div>\n"
+ "</div>\n"
+ "</body>\n"
+ "</html>\n");
+}
+} // namespace
+} // namespace json_html_util