summaryrefslogtreecommitdiffstats
path: root/toolkit/components/telemetry/tests/gtest/TelemetryTestHelpers.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /toolkit/components/telemetry/tests/gtest/TelemetryTestHelpers.h
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/telemetry/tests/gtest/TelemetryTestHelpers.h')
-rw-r--r--toolkit/components/telemetry/tests/gtest/TelemetryTestHelpers.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/toolkit/components/telemetry/tests/gtest/TelemetryTestHelpers.h b/toolkit/components/telemetry/tests/gtest/TelemetryTestHelpers.h
new file mode 100644
index 0000000000..b2eab48c73
--- /dev/null
+++ b/toolkit/components/telemetry/tests/gtest/TelemetryTestHelpers.h
@@ -0,0 +1,68 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+#ifndef TelemetryTestHelpers_h_
+#define TelemetryTestHelpers_h_
+
+#include "js/TypeDecls.h"
+#include "mozilla/TelemetryProcessEnums.h"
+#include "nsITelemetry.h"
+
+using mozilla::Telemetry::ProcessID;
+
+namespace TelemetryTestHelpers {
+
+void CheckUintScalar(const char* aName, JSContext* aCx,
+ JS::Handle<JS::Value> aSnapshot, uint32_t expectedValue);
+
+void CheckBoolScalar(const char* aName, JSContext* aCx,
+ JS::Handle<JS::Value> aSnapshot, bool expectedValue);
+
+void CheckStringScalar(const char* aName, JSContext* aCx,
+ JS::Handle<JS::Value> aSnapshot,
+ const char* expectedValue);
+
+void CheckKeyedUintScalar(const char* aName, const char* aKey, JSContext* aCx,
+ JS::Handle<JS::Value> aSnapshot,
+ uint32_t expectedValue);
+
+void CheckKeyedBoolScalar(const char* aName, const char* aKey, JSContext* aCx,
+ JS::Handle<JS::Value> aSnapshot, bool expectedValue);
+
+void CheckNumberOfProperties(const char* aName, JSContext* aCx,
+ JS::Handle<JS::Value> aSnapshot,
+ uint32_t expectedNumProperties);
+
+bool EventPresent(JSContext* aCx, const JS::RootedValue& aSnapshot,
+ const nsACString& aCategory, const nsACString& aMethod,
+ const nsACString& aObject);
+
+nsTArray<nsString> EventValuesToArray(JSContext* aCx,
+ const JS::RootedValue& aSnapshot,
+ const nsAString& aCategory,
+ const nsAString& aMethod,
+ const nsAString& aObject);
+
+void GetEventSnapshot(JSContext* aCx, JS::MutableHandle<JS::Value> aResult,
+ ProcessID aProcessType = ProcessID::Parent);
+
+void GetScalarsSnapshot(bool aKeyed, JSContext* aCx,
+ JS::MutableHandle<JS::Value> aResult,
+ ProcessID aProcessType = ProcessID::Parent);
+
+void GetAndClearHistogram(JSContext* cx, nsCOMPtr<nsITelemetry> mTelemetry,
+ const nsACString& name, bool is_keyed);
+
+void GetProperty(JSContext* cx, const char* name, JS::Handle<JS::Value> valueIn,
+ JS::MutableHandle<JS::Value> valueOut);
+
+void GetElement(JSContext* cx, uint32_t index, JS::Handle<JS::Value> valueIn,
+ JS::MutableHandle<JS::Value> valueOut);
+
+void GetSnapshots(JSContext* cx, nsCOMPtr<nsITelemetry> mTelemetry,
+ const char* name, JS::MutableHandle<JS::Value> valueOut,
+ bool is_keyed);
+} // namespace TelemetryTestHelpers
+
+#endif