Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /base /location_unittest.cc
blob: bb06f734f26684ede20a6cacf47418b1ae7d7662 [file] [log] [blame]
Avi Drissmane4622aa2022-09-08 20:36:06[diff] [blame]1// Copyright 2019 The Chromium Authors
Jeremy Romana5999de2019-07-04 20:13:01[diff] [blame]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"base/location.h"
6
Etienne Pierre-dorayfc7952f02025-06-06 00:04:33[diff] [blame]7#include"base/trace_event/trace_event.h"
Jeremy Romana5999de2019-07-04 20:13:01[diff] [blame]8#include"testing/gmock/include/gmock/gmock.h"
9#include"testing/gtest/include/gtest/gtest.h"
Etienne Pierre-doray4c826fa2025-06-04 19:10:58[diff] [blame]10#include"third_party/perfetto/include/perfetto/test/traced_value_test_support.h"
Alexander Timin26ac38f2021-10-05 00:50:36[diff] [blame]11
Jeremy Romana5999de2019-07-04 20:13:01[diff] [blame]12namespace base{
13
14namespace{
15
16// This is a typical use: taking Location::Current as a default parameter.
17// So even though this looks contrived, it confirms that such usage works as
18// expected.
19LocationWhereAmI(constLocation& location=Location::Current()){
20return location;
21}
22
23}// namespace
24
25TEST(LocationTest,CurrentYieldsCorrectValue){
Avi Drissmandea32052022-01-13 21:31:18[diff] [blame]26[[maybe_unused]]int previous_line= __LINE__;
Jeremy Romana5999de2019-07-04 20:13:01[diff] [blame]27Location here=WhereAmI();
28 EXPECT_NE(here.program_counter(),WhereAmI().program_counter());
Jeremy Romana5999de2019-07-04 20:13:01[diff] [blame]29 EXPECT_THAT(here.file_name(),::testing::EndsWith("location_unittest.cc"));
Jeremy Romana5999de2019-07-04 20:13:01[diff] [blame]30 EXPECT_EQ(here.line_number(), previous_line+1);
31 EXPECT_STREQ("TestBody", here.function_name());
Jeremy Romana5999de2019-07-04 20:13:01[diff] [blame]32}
33
Alexander Timin26ac38f2021-10-05 00:50:36[diff] [blame]34TEST(LocationTest,TracingSupport){
Daniel Chengcd6d6fb2022-10-22 03:38:32[diff] [blame]35 EXPECT_EQ(perfetto::TracedValueToString(Location::CreateForTesting(
36"func","file",42,WhereAmI().program_counter())),
Alexander Timin26ac38f2021-10-05 00:50:36[diff] [blame]37"{function_name:func,file_name:file,line_number:42}");
38}
Alexander Timin26ac38f2021-10-05 00:50:36[diff] [blame]39
Jeremy Romana5999de2019-07-04 20:13:01[diff] [blame]40}// namespace base

[8]ページ先頭

©2009-2025 Movatter.jp