// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <string_view>

#include "base/strings/string_view_rust.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace gurl_base {
namespace {

TEST(BaseStringViewRustTest, StrRoundTrip) {
  std::string data = "hello";
  std::string_view data_piece(data);
  rust::Str rust_str = StringViewToRustStrUTF8(data_piece);
  EXPECT_EQ(5ul, rust_str.length());
  std::string_view data_piece2 = RustStrToStringView(rust_str);
  EXPECT_EQ(data_piece, data_piece2);
}

TEST(BaseStringViewRustTest, StrToSlice) {
  std::string data = "hello";
  std::string_view data_piece(data);
  rust::Slice<const uint8_t> rust_slice = StringViewToRustSlice(data_piece);
  EXPECT_EQ(5ul, rust_slice.length());
  EXPECT_EQ('e', rust_slice[1]);
}

}  // namespace
}  // namespace base
