| Index: media/audio/sounds/wav_parser_unittest.cc
|
| diff --git a/media/audio/sounds/wav_parser_unittest.cc b/media/audio/sounds/wav_parser_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a4db20160f30a0700e5b4e04bdb4df9c0fe48526
|
| --- /dev/null
|
| +++ b/media/audio/sounds/wav_parser_unittest.cc
|
| @@ -0,0 +1,39 @@
|
| +// Copyright 2013 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.
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "base/logging.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/strings/string_piece.h"
|
| +#include "media/audio/sounds/test_data.h"
|
| +#include "media/audio/sounds/wav_parser.h"
|
| +#include "media/audio/sounds/wav_reader.h"
|
| +#include "media/base/audio_bus.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace media {
|
| +
|
| +TEST(WavParserTest, SampleDataTest) {
|
| + WavParser parser(base::StringPiece(kTestAudioData,
|
| + arraysize(kTestAudioData)));
|
| + ASSERT_EQ(static_cast<uint16>(2), parser.num_channels());
|
| + ASSERT_EQ(static_cast<uint16>(16), parser.bits_per_sample());
|
| + ASSERT_EQ(static_cast<uint32>(48000), parser.sample_rate());
|
| + ASSERT_EQ(static_cast<uint32>(96000), parser.byte_rate());
|
| +
|
| + ASSERT_EQ(static_cast<size_t>(4), parser.data().size());
|
| + const char kData[] = "\x01\x00\x01\x00";
|
| + ASSERT_EQ(base::StringPiece(kData, arraysize(kData) - 1), parser.data());
|
| +
|
| + scoped_ptr<AudioBus> bus = AudioBus::Create(
|
| + parser.num_channels(),
|
| + parser.data().size() / parser.num_channels());
|
| +
|
| + WavReaderImpl reader(parser);
|
| + size_t bytes_written;
|
| + ASSERT_TRUE(reader.CopyTo(bus.get(), 0, &bytes_written));
|
| + ASSERT_EQ(static_cast<size_t>(parser.data().size()), bytes_written);
|
| +}
|
| +
|
| +} // namespace media
|
|
|