Files
android/libwvdrmengine/cdm/core/test/test_printers.cpp
Alex Dale 52bd76e0e2 Fixed test and log formatting for CdmResponseType.
[ Merge of http://go/wvgerrit/168397 ]

When CdmResponseType (enum) was transformed to CdmResponseType
(struct), the test printers where not updated to print the result
of failed comparisons.  In addition, several logs statements were
updated haphazardly, leaving inconsistencies and potential
compiler-specific behavior.

This CL replaces CdmResponseType std::string operator with a ToString()
method.  This is to make it consistent with Google's C++ style guide
on conversion operators vs methods.  The string conversion function is
now defined in wv_cdm_types.cpp instead of inline in the header file.

The PrintTo function has been implemented along with the other CDM
test printers in test_printers.cpp.

Bug: 273989359
Test: run_x86_64_tests
Test: MediaDrmParameterizedTests on redfin
Test: Forrest drm_compliance
Change-Id: Ibfaa17029046b75b1c8c278f7bd7e04a24379848
2023-03-27 11:21:45 -07:00

84 lines
2.1 KiB
C++

// Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary
// source code may only be used and distributed under the Widevine License
// Agreement.
// This file adds some print methods so that when unit tests fail, the
// will print the name of an enumeration instead of the numeric value.
#include "test_printers.h"
#include "error_string_util.h"
namespace wvcdm {
void PrintTo(CdmResponseEnum value, ::std::ostream* os) {
*os << CdmResponseEnumToString(value);
}
void PrintTo(const CdmResponseType& value, ::std::ostream* os) {
*os << value.ToString();
}
void PrintTo(const enum CdmLicenseType& value, ::std::ostream* os) {
switch (value) {
case kLicenseTypeOffline:
*os << "kLicenseTypeOffline";
break;
case kLicenseTypeStreaming:
*os << "kLicenseTypeStreaming";
break;
case kLicenseTypeRelease:
*os << "kLicenseTypeRelease";
break;
default:
*os << "Unknown CdmLicenseType";
break;
}
}
void PrintTo(const enum CdmSecurityLevel& value, ::std::ostream* os) {
switch (value) {
case kSecurityLevelUninitialized:
*os << "kSecurityLevelUninitialized";
break;
case kSecurityLevelL1:
*os << "kSecurityLevelL1";
break;
case kSecurityLevelL2:
*os << "kSecurityLevelL2";
break;
case kSecurityLevelL3:
*os << "kSecurityLevelL3";
break;
case kSecurityLevelUnknown:
*os << "kSecurityLevelUnknown";
break;
default:
*os << "Unknown CdmSecurityLevel";
break;
}
}
void PrintTo(const enum CdmCertificateType& value, ::std::ostream* os) {
switch (value) {
case kCertificateWidevine:
*os << "kCertificateWidevine";
break;
case kCertificateX509:
*os << "kCertificateX509";
break;
default:
*os << "Unknown CdmCertificateType";
break;
}
}
void PrintTo(const enum OEMCryptoResult& value, ::std::ostream* os) {
*os << wvutil::OEMCryptoResultToString(value);
}
namespace okp {
void PrintTo(const SystemState& state, std::ostream* os) {
*os << SystemStateToString(state);
}
} // namespace okp
} // namespace wvcdm