OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "media/base/decoder_buffer.h" | 10 #include "media/base/decoder_buffer.h" |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 decrypt_cb_(base::Bind(&AesDecryptorTest::BufferDecrypted, | 235 decrypt_cb_(base::Bind(&AesDecryptorTest::BufferDecrypted, |
236 base::Unretained(this))), | 236 base::Unretained(this))), |
237 subsample_entries_(kSubsampleEntries, | 237 subsample_entries_(kSubsampleEntries, |
238 kSubsampleEntries + arraysize(kSubsampleEntries)) { | 238 kSubsampleEntries + arraysize(kSubsampleEntries)) { |
239 } | 239 } |
240 | 240 |
241 protected: | 241 protected: |
242 void GenerateKeyRequest(const uint8* key_id, int key_id_size) { | 242 void GenerateKeyRequest(const uint8* key_id, int key_id_size) { |
243 std::string key_id_string(reinterpret_cast<const char*>(key_id), | 243 std::string key_id_string(reinterpret_cast<const char*>(key_id), |
244 key_id_size); | 244 key_id_size); |
245 EXPECT_CALL(*this, KeyMessage(kClearKeySystem, | 245 EXPECT_CALL( |
246 StrNe(""), StrEq(key_id_string), "")) | 246 *this, |
| 247 KeyMessage( |
| 248 kClearKeySystem, StrNe(std::string()), StrEq(key_id_string), "")) |
247 .WillOnce(SaveArg<1>(&session_id_string_)); | 249 .WillOnce(SaveArg<1>(&session_id_string_)); |
248 EXPECT_TRUE(decryptor_.GenerateKeyRequest(kClearKeySystem, "", | 250 EXPECT_TRUE(decryptor_.GenerateKeyRequest( |
249 key_id, key_id_size)); | 251 kClearKeySystem, std::string(), key_id, key_id_size)); |
250 } | 252 } |
251 | 253 |
252 void AddKeyAndExpectToSucceed(const uint8* key_id, int key_id_size, | 254 void AddKeyAndExpectToSucceed(const uint8* key_id, int key_id_size, |
253 const uint8* key, int key_size) { | 255 const uint8* key, int key_size) { |
254 EXPECT_CALL(*this, KeyAdded(kClearKeySystem, session_id_string_)); | 256 EXPECT_CALL(*this, KeyAdded(kClearKeySystem, session_id_string_)); |
255 decryptor_.AddKey(kClearKeySystem, key, key_size, key_id, key_id_size, | 257 decryptor_.AddKey(kClearKeySystem, key, key_size, key_id, key_id_size, |
256 session_id_string_); | 258 session_id_string_); |
257 } | 259 } |
258 | 260 |
259 void AddKeyAndExpectToFail(const uint8* key_id, int key_id_size, | 261 void AddKeyAndExpectToFail(const uint8* key_id, int key_id_size, |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 const std::string& message, | 320 const std::string& message, |
319 const std::string& default_url)); | 321 const std::string& default_url)); |
320 | 322 |
321 AesDecryptor decryptor_; | 323 AesDecryptor decryptor_; |
322 std::string session_id_string_; | 324 std::string session_id_string_; |
323 AesDecryptor::DecryptCB decrypt_cb_; | 325 AesDecryptor::DecryptCB decrypt_cb_; |
324 std::vector<SubsampleEntry> subsample_entries_; | 326 std::vector<SubsampleEntry> subsample_entries_; |
325 }; | 327 }; |
326 | 328 |
327 TEST_F(AesDecryptorTest, GenerateKeyRequestWithNullInitData) { | 329 TEST_F(AesDecryptorTest, GenerateKeyRequestWithNullInitData) { |
328 EXPECT_CALL(*this, KeyMessage(kClearKeySystem, StrNe(""), "", "")); | 330 EXPECT_CALL(*this, KeyMessage(kClearKeySystem, StrNe(std::string()), "", "")); |
329 EXPECT_TRUE(decryptor_.GenerateKeyRequest(kClearKeySystem, "", NULL, 0)); | 331 EXPECT_TRUE( |
| 332 decryptor_.GenerateKeyRequest(kClearKeySystem, std::string(), NULL, 0)); |
330 } | 333 } |
331 | 334 |
332 TEST_F(AesDecryptorTest, NormalWebMDecryption) { | 335 TEST_F(AesDecryptorTest, NormalWebMDecryption) { |
333 const WebmEncryptedData& frame = kWebmEncryptedFrames[0]; | 336 const WebmEncryptedData& frame = kWebmEncryptedFrames[0]; |
334 GenerateKeyRequest(frame.key_id, frame.key_id_size); | 337 GenerateKeyRequest(frame.key_id, frame.key_id_size); |
335 AddKeyAndExpectToSucceed(frame.key_id, frame.key_id_size, | 338 AddKeyAndExpectToSucceed(frame.key_id, frame.key_id_size, |
336 frame.key, frame.key_size); | 339 frame.key, frame.key_size); |
337 scoped_refptr<DecoderBuffer> encrypted_data = | 340 scoped_refptr<DecoderBuffer> encrypted_data = |
338 CreateWebMEncryptedBuffer(frame.encrypted_data, | 341 CreateWebMEncryptedBuffer(frame.encrypted_data, |
339 frame.encrypted_data_size, | 342 frame.encrypted_data_size, |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 scoped_refptr<DecoderBuffer> encrypted_data = CreateSubsampleEncryptedBuffer( | 599 scoped_refptr<DecoderBuffer> encrypted_data = CreateSubsampleEncryptedBuffer( |
597 kSubsampleData, arraysize(kSubsampleData), | 600 kSubsampleData, arraysize(kSubsampleData), |
598 kSubsampleKeyId, arraysize(kSubsampleKeyId), | 601 kSubsampleKeyId, arraysize(kSubsampleKeyId), |
599 kSubsampleIv, arraysize(kSubsampleIv), | 602 kSubsampleIv, arraysize(kSubsampleIv), |
600 0, | 603 0, |
601 entries); | 604 entries); |
602 ASSERT_NO_FATAL_FAILURE(DecryptAndExpectToFail(encrypted_data)); | 605 ASSERT_NO_FATAL_FAILURE(DecryptAndExpectToFail(encrypted_data)); |
603 } | 606 } |
604 | 607 |
605 } // namespace media | 608 } // namespace media |
OLD | NEW |