summaryrefslogtreecommitdiffstats
path: root/toolkit/components/glean/gtest/TestFogIPC.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/glean/gtest/TestFogIPC.cpp')
-rw-r--r--toolkit/components/glean/gtest/TestFogIPC.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/toolkit/components/glean/gtest/TestFogIPC.cpp b/toolkit/components/glean/gtest/TestFogIPC.cpp
new file mode 100644
index 0000000000..f0ac9c85ac
--- /dev/null
+++ b/toolkit/components/glean/gtest/TestFogIPC.cpp
@@ -0,0 +1,47 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "gtest/gtest.h"
+
+// NOTE: No ContentChild/Parent tests because it includes headers that aren't
+// present in GTest builds (or something).
+
+#include "mozilla/FOGIPC.h"
+#include <functional>
+#include "mozilla/ipc/ByteBuf.h"
+#include "nsTArray.h"
+#include "nsXULAppAPI.h"
+
+using mozilla::ipc::ByteBuf;
+
+TEST(FOG, TestFlushFOGData)
+{
+ // A "It doesn't explode" test.
+ std::function<void(ByteBuf &&)> resolver = [](ByteBuf&& bufs) {};
+ mozilla::glean::FlushFOGData(std::move(resolver));
+}
+
+TEST(FOG, TestFlushAllChildData)
+{
+ std::function<void(const nsTArray<ByteBuf>&&)> resolver =
+ [](const nsTArray<ByteBuf>&& bufs) {
+ ASSERT_TRUE(bufs.Length() == 0)
+ << "Not expecting any bufs yet.";
+ };
+ mozilla::glean::FlushAllChildData(std::move(resolver));
+}
+
+TEST(FOG, FOGData)
+{
+ // Another "It doesn't explode" test.
+ ByteBuf buf;
+ mozilla::glean::FOGData(std::move(buf));
+}
+
+TEST(FOG, SendFOGData)
+{
+ ASSERT_EQ(XRE_GetProcessType(), GeckoProcessType_Default)
+ << "If we can run a test as a different process type, we can write a "
+ "test for this function.";
+}