1 /*
2  * Copyright 2015 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #include "SkTraceMemoryDump.h"
9 
10 #include "Test.h"
11 
12 /*
13  * Build test for SkTraceMemoryDump.
14  */
15 class TestSkTraceMemoryDump : public SkTraceMemoryDump {
16 public:
17     TestSkTraceMemoryDump() { }
18     ~TestSkTraceMemoryDump() override { }
19 
20     void dumpNumericValue(const char* dumpName, const char* valueName, const char* units,
21                           uint64_t value) override { }
22     void setMemoryBacking(const char* dumpName, const char* backingType,
23                           const char* backingObjectId) override { }
24     void setDiscardableMemoryBacking(
25         const char* dumpName,
26         const SkDiscardableMemory& discardableMemoryObject) override { }
27     LevelOfDetail getRequestedDetails() const override {
28         return SkTraceMemoryDump::kObjectsBreakdowns_LevelOfDetail;
29     }
30 };
31 
32 DEF_TEST(SkTraceMemoryDump, reporter) {
33     TestSkTraceMemoryDump x;
34     x.dumpNumericValue("foobar", "size", "bytes", 42);
35     if (x.getRequestedDetails() == SkTraceMemoryDump::kObjectsBreakdowns_LevelOfDetail) {
36         x.dumpNumericValue("foobar/object1", "size", "bytes", 23);
37     }
38 }
39