xref: /aosp_15_r20/external/zucchini/test_utils.cc (revision a03ca8b91e029cd15055c20c78c2e087c84792e4)
1*a03ca8b9SKrzysztof Kosiński // Copyright 2017 The Chromium Authors. All rights reserved.
2*a03ca8b9SKrzysztof Kosiński // Use of this source code is governed by a BSD-style license that can be
3*a03ca8b9SKrzysztof Kosiński // found in the LICENSE file.
4*a03ca8b9SKrzysztof Kosiński 
5*a03ca8b9SKrzysztof Kosiński #include "components/zucchini/test_utils.h"
6*a03ca8b9SKrzysztof Kosiński 
7*a03ca8b9SKrzysztof Kosiński #include <ios>
8*a03ca8b9SKrzysztof Kosiński #include <sstream>
9*a03ca8b9SKrzysztof Kosiński 
10*a03ca8b9SKrzysztof Kosiński #include "base/check_op.h"
11*a03ca8b9SKrzysztof Kosiński 
12*a03ca8b9SKrzysztof Kosiński namespace zucchini {
13*a03ca8b9SKrzysztof Kosiński 
ParseHexString(const std::string & hex_string)14*a03ca8b9SKrzysztof Kosiński std::vector<uint8_t> ParseHexString(const std::string& hex_string) {
15*a03ca8b9SKrzysztof Kosiński   std::vector<uint8_t> ret;
16*a03ca8b9SKrzysztof Kosiński   std::istringstream iss(hex_string);
17*a03ca8b9SKrzysztof Kosiński   iss >> std::hex;
18*a03ca8b9SKrzysztof Kosiński   uint32_t temp = 0;  // Cannot be uint8_t: istringstream treats this as char!
19*a03ca8b9SKrzysztof Kosiński   while (iss >> temp) {
20*a03ca8b9SKrzysztof Kosiński     CHECK_LE(temp, 0xFFU);
21*a03ca8b9SKrzysztof Kosiński     ret.push_back(temp);
22*a03ca8b9SKrzysztof Kosiński   }
23*a03ca8b9SKrzysztof Kosiński   return ret;
24*a03ca8b9SKrzysztof Kosiński }
25*a03ca8b9SKrzysztof Kosiński 
26*a03ca8b9SKrzysztof Kosiński }  // namespace zucchini
27