diff options
Diffstat (limited to 'toolkit/components/telemetry/tests/gtest/TelemetryFixture.cpp')
-rw-r--r-- | toolkit/components/telemetry/tests/gtest/TelemetryFixture.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/toolkit/components/telemetry/tests/gtest/TelemetryFixture.cpp b/toolkit/components/telemetry/tests/gtest/TelemetryFixture.cpp new file mode 100644 index 0000000000..35742654f6 --- /dev/null +++ b/toolkit/components/telemetry/tests/gtest/TelemetryFixture.cpp @@ -0,0 +1,28 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +#include "TelemetryFixture.h" +#include "mozilla/dom/SimpleGlobalObject.h" + +using namespace mozilla; + +void TelemetryTestFixture::SetUp() { + mTelemetry = do_GetService("@mozilla.org/base/telemetry;1"); + + mCleanGlobal = dom::SimpleGlobalObject::Create( + dom::SimpleGlobalObject::GlobalType::BindingDetail); + + // The test must fail if we failed getting the global. + ASSERT_NE(mCleanGlobal, nullptr) + << "SimpleGlobalObject must return a valid global object."; +} + +AutoJSContextWithGlobal::AutoJSContextWithGlobal(JSObject* aGlobalObject) + : mCx(nullptr) { + // The JS API must initialize correctly. + JS::Rooted<JSObject*> globalObject(dom::RootingCx(), aGlobalObject); + MOZ_ALWAYS_TRUE(mJsAPI.Init(globalObject)); +} + +JSContext* AutoJSContextWithGlobal::GetJSContext() const { return mJsAPI.cx(); } |