| Index: chrome/browser/chrome_browser_application_mac_unittest.mm
|
| diff --git a/chrome/browser/chrome_browser_application_mac_unittest.mm b/chrome/browser/chrome_browser_application_mac_unittest.mm
|
| deleted file mode 100644
|
| index 4252a7597133aba8edd39fb15b313ca364dd98c8..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chrome_browser_application_mac_unittest.mm
|
| +++ /dev/null
|
| @@ -1,94 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#import "chrome/browser/chrome_browser_application_mac.h"
|
| -
|
| -#import <Cocoa/Cocoa.h>
|
| -#include <stddef.h>
|
| -
|
| -#include <memory>
|
| -
|
| -#include "base/metrics/histogram_macros.h"
|
| -#include "base/metrics/histogram_samples.h"
|
| -#include "base/metrics/statistics_recorder.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -using base::HistogramBase;
|
| -using base::HistogramSamples;
|
| -using base::StatisticsRecorder;
|
| -
|
| -namespace chrome_browser_application_mac {
|
| -
|
| -// Generate an NSException with the given name.
|
| -NSException* ExceptionNamed(NSString* name) {
|
| - return [NSException exceptionWithName:name
|
| - reason:@"No reason given"
|
| - userInfo:nil];
|
| -}
|
| -
|
| -// Helper to keep binning expectations readible.
|
| -size_t BinForExceptionNamed(NSString* name) {
|
| - return BinForException(ExceptionNamed(name));
|
| -}
|
| -
|
| -TEST(ChromeApplicationMacTest, ExceptionBinning) {
|
| - // These exceptions must be in this order.
|
| - EXPECT_EQ(BinForExceptionNamed(NSGenericException), 0U);
|
| - EXPECT_EQ(BinForExceptionNamed(NSRangeException), 1U);
|
| - EXPECT_EQ(BinForExceptionNamed(NSInvalidArgumentException), 2U);
|
| - EXPECT_EQ(BinForExceptionNamed(NSMallocException), 3U);
|
| -
|
| - // Random other exceptions map to |kUnknownNSException|.
|
| - EXPECT_EQ(BinForExceptionNamed(@"CustomName"), kUnknownNSException);
|
| - EXPECT_EQ(BinForExceptionNamed(@"Custom Name"), kUnknownNSException);
|
| - EXPECT_EQ(BinForExceptionNamed(@""), kUnknownNSException);
|
| - EXPECT_EQ(BinForException(nil), kUnknownNSException);
|
| -}
|
| -
|
| -TEST(ChromeApplicationMacTest, RecordException) {
|
| - // Start up a histogram recorder.
|
| - // TODO(rtenneti): Leaks StatisticsRecorder and will update suppressions.
|
| - base::StatisticsRecorder::Initialize();
|
| -
|
| - StatisticsRecorder::Histograms histograms;
|
| - StatisticsRecorder::GetSnapshot("OSX.NSException", &histograms);
|
| - EXPECT_EQ(0U, histograms.size());
|
| -
|
| - // Record some known exceptions.
|
| - RecordExceptionWithUma(ExceptionNamed(NSGenericException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSGenericException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSGenericException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSGenericException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSRangeException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSInvalidArgumentException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSInvalidArgumentException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSInvalidArgumentException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSMallocException));
|
| - RecordExceptionWithUma(ExceptionNamed(NSMallocException));
|
| -
|
| - // Record some unknown exceptions.
|
| - RecordExceptionWithUma(ExceptionNamed(@"CustomName"));
|
| - RecordExceptionWithUma(ExceptionNamed(@"Custom Name"));
|
| - RecordExceptionWithUma(ExceptionNamed(@""));
|
| - RecordExceptionWithUma(nil);
|
| -
|
| - // We should have exactly the right number of exceptions.
|
| - StatisticsRecorder::GetSnapshot("OSX.NSException", &histograms);
|
| - EXPECT_EQ(1U, histograms.size());
|
| - EXPECT_EQ(HistogramBase::kUmaTargetedHistogramFlag, histograms[0]->flags());
|
| -
|
| - std::unique_ptr<HistogramSamples> samples(histograms[0]->SnapshotSamples());
|
| - EXPECT_EQ(4, samples->GetCount(0));
|
| - EXPECT_EQ(1, samples->GetCount(1));
|
| - EXPECT_EQ(3, samples->GetCount(2));
|
| - EXPECT_EQ(2, samples->GetCount(3));
|
| -
|
| - // The unknown exceptions should end up in the overflow bucket.
|
| - EXPECT_TRUE(histograms[0]->HasConstructionArguments(1,
|
| - kUnknownNSException,
|
| - kUnknownNSException + 1));
|
| - EXPECT_EQ(4, samples->GetCount(kUnknownNSException));
|
| -}
|
| -
|
| -} // chrome_browser_application_mac
|
|
|