TestNanoPBHelpers.swift 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // Copyright 2022 Google LLC
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. import XCTest
  16. @testable import FirebaseSessions
  17. // The file and line fields in this function capture the file and line of the
  18. // function call site in the test, and pass them to XCTAssert. Without this, the
  19. // test will attribute the test failure to this function instead of the call in the test.
  20. func assertEqualProtoString(_ value: UnsafeMutablePointer<pb_bytes_array_t>!, expected: String,
  21. fieldName: String, file: StaticString = #filePath,
  22. line: UInt = #line) {
  23. if value == nil {
  24. XCTAssert(
  25. false,
  26. "Field \(fieldName) is nil, but we expected \"\(expected)\"",
  27. file: file,
  28. line: line
  29. )
  30. } else {
  31. XCTAssert(
  32. FIRSESIsPBStringEqual(value, expected),
  33. "Field \(fieldName) does not match expected value \"\(expected)\"",
  34. file: file,
  35. line: line
  36. )
  37. }
  38. }