xref: /aosp_15_r20/external/cronet/url/mojom/scheme_host_port_mojom_traits_unittest.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2021 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "url/mojom/scheme_host_port_mojom_traits.h"
6 
7 #include <string>
8 
9 #include "mojo/public/cpp/test_support/test_utils.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "url/mojom/scheme_host_port.mojom.h"
12 #include "url/scheme_host_port.h"
13 
14 namespace url {
15 
16 namespace {
17 
TestRoundTrip(const url::SchemeHostPort & in)18 void TestRoundTrip(const url::SchemeHostPort& in) {
19   url::SchemeHostPort result;
20   ASSERT_TRUE(
21       mojo::test::SerializeAndDeserialize<mojom::SchemeHostPort>(in, result))
22       << in.Serialize();
23   EXPECT_EQ(in, result) << "Expected " << in.Serialize() << ", but got "
24                         << result.Serialize();
25 }
26 
27 }  // namespace
28 
TEST(SchemeHostPortMojomTraitsTest,RoundTrip)29 TEST(SchemeHostPortMojomTraitsTest, RoundTrip) {
30   TestRoundTrip(url::SchemeHostPort());
31   TestRoundTrip(url::SchemeHostPort("http", "test", 80));
32   TestRoundTrip(url::SchemeHostPort("https", "foo.test", 443));
33   TestRoundTrip(url::SchemeHostPort("file", "", 0));
34 }
35 
36 }  // namespace url
37