static void test_ptrs(skiatest::Reporter* reporter) { SkRefCnt ref; REPORTER_ASSERT(reporter, 1 == ref.getRefCnt()); { SkMetaData md0, md1; const char name[] = "refcnt"; md0.setRefCnt(name, &ref); REPORTER_ASSERT(reporter, md0.findRefCnt(name)); REPORTER_ASSERT(reporter, md0.hasRefCnt(name, &ref)); REPORTER_ASSERT(reporter, 2 == ref.getRefCnt()); md1 = md0; REPORTER_ASSERT(reporter, md1.findRefCnt(name)); REPORTER_ASSERT(reporter, md1.hasRefCnt(name, &ref)); REPORTER_ASSERT(reporter, 3 == ref.getRefCnt()); REPORTER_ASSERT(reporter, md0.removeRefCnt(name)); REPORTER_ASSERT(reporter, !md0.findRefCnt(name)); REPORTER_ASSERT(reporter, !md0.hasRefCnt(name, &ref)); REPORTER_ASSERT(reporter, 2 == ref.getRefCnt()); } REPORTER_ASSERT(reporter, 1 == ref.getRefCnt()); }