| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "base/strings/stringprintf.h" |
| #include "extensions/common/api/speech/tts_engine_manifest_handler.h" |
| #include "extensions/common/manifest_constants.h" |
| #include "extensions/common/manifest_test.h" |
| #include "media/base/limits.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace extensions { |
| |
| using TtsManifestTest = ManifestTest; |
| |
| namespace errors = manifest_errors; |
| |
| TEST_F(TtsManifestTest, TtsEngine) { |
| std::string error_invalid_sample_rate_range = base::StringPrintf( |
| errors::kInvalidTtsSampleRateRange, media::limits::kMinSampleRate, |
| media::limits::kMaxSampleRate); |
| std::string error_invalid_buffer_size_range = |
| base::StringPrintf(errors::kInvalidTtsBufferSizeRange, 1, |
| media::limits::kMaxSamplesPerPacket); |
| |
| const Testcase testcases[] = { |
| Testcase("tts_engine_invalid_voices_1.json", errors::kInvalidTts), |
| Testcase("tts_engine_invalid_voices_2.json", errors::kInvalidTtsVoices), |
| Testcase("tts_engine_invalid_voices_3.json", errors::kInvalidTtsVoices), |
| Testcase("tts_engine_invalid_voices_4.json", |
| errors::kInvalidTtsVoicesVoiceName), |
| Testcase("tts_engine_invalid_voices_5.json", |
| errors::kInvalidTtsVoicesLang), |
| Testcase("tts_engine_invalid_voices_6.json", |
| errors::kInvalidTtsVoicesLang), |
| Testcase("tts_engine_invalid_voices_7.json", |
| errors::kInvalidTtsVoicesEventTypes), |
| Testcase("tts_engine_invalid_voices_8.json", |
| errors::kInvalidTtsVoicesEventTypes), |
| |
| Testcase("tts_engine_invalid_sample_rate_1.json", |
| errors::kInvalidTtsSampleRateFormat), |
| Testcase("tts_engine_invalid_sample_rate_2.json", |
| error_invalid_sample_rate_range), |
| Testcase("tts_engine_invalid_sample_rate_3.json", |
| error_invalid_sample_rate_range), |
| Testcase("tts_engine_invalid_sample_rate_4.json", |
| errors::kInvalidTtsRequiresSampleRateAndBufferSize), |
| |
| Testcase("tts_engine_invalid_buffer_size_1.json", |
| errors::kInvalidTtsBufferSizeFormat), |
| Testcase("tts_engine_invalid_buffer_size_2.json", |
| error_invalid_buffer_size_range), |
| Testcase("tts_engine_invalid_buffer_size_3.json", |
| error_invalid_buffer_size_range), |
| Testcase("tts_engine_invalid_buffer_size_4.json", |
| errors::kInvalidTtsRequiresSampleRateAndBufferSize), |
| }; |
| RunTestcases(testcases, EXPECT_TYPE_ERROR); |
| |
| LoadAndExpectSuccess("tts_engine_valid_voices.json"); |
| LoadAndExpectSuccess("tts_engine_valid_sample_rate_buffer_size.json"); |
| } |
| |
| } // namespace extensions |