Files
tubestation/testing/gtest/mozilla/MozAssertions.h
Nika Layzell a46e7ae319 Bug 1790614 - Part 1: Add helpers for asserting nsresult in gtest, r=ahal
These helpers are inspired by the gtest-provided
{ASSERT,ENSURE}_HRESULT_{SUCCEEDED,FAILED} macros.

These are intended as replacements for patterns like
ENSURE_TRUE(NS_SUCCEEDED(rv)) which will actually report the encountered
nsresult error code code when they fail.

Differential Revision: https://phabricator.services.mozilla.com/D157213
2022-09-15 14:51:49 +00:00

33 lines
1.1 KiB
C++

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
#ifndef mozilla_gtest_MozAssertions_h__
#define mozilla_gtest_MozAssertions_h__
#include "gtest/gtest.h"
#include "nsError.h"
namespace mozilla::gtest {
testing::AssertionResult IsNsresultSuccess(const char* expr, nsresult rv);
testing::AssertionResult IsNsresultFailure(const char* expr, nsresult rv);
} // namespace mozilla::gtest
#define EXPECT_NS_SUCCEEDED(expr) \
EXPECT_PRED_FORMAT1(::mozilla::gtest::IsNsresultSuccess, (expr))
#define ASSERT_NS_SUCCEEDED(expr) \
ASSERT_PRED_FORMAT1(::mozilla::gtest::IsNsresultSuccess, (expr))
#define EXPECT_NS_FAILED(expr) \
EXPECT_PRED_FORMAT1(::mozilla::gtest::IsNsresultFailure, (expr))
#define ASSERT_NS_FAILED(expr) \
ASSERT_PRED_FORMAT1(::mozilla::gtest::IsNsresultFailure, (expr))
#endif // mozilla_gtest_MozAssertions_h__