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 */
15class TestSkTraceMemoryDump : public SkTraceMemoryDump {
16public:
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
32DEF_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