summaryrefslogtreecommitdiffstats
path: root/media/cdm/json_web_key_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'media/cdm/json_web_key_unittest.cc')
-rw-r--r--media/cdm/json_web_key_unittest.cc23
1 files changed, 22 insertions, 1 deletions
diff --git a/media/cdm/json_web_key_unittest.cc b/media/cdm/json_web_key_unittest.cc
index fa5f823..07d28c0 100644
--- a/media/cdm/json_web_key_unittest.cc
+++ b/media/cdm/json_web_key_unittest.cc
@@ -45,7 +45,9 @@ class JSONWebKeyTest : public testing::Test {
MediaKeys::SessionType session_type,
const std::string& expected_result) {
std::vector<uint8> result;
- CreateLicenseRequest(key_id, key_id_length, session_type, &result);
+ KeyIdList key_ids;
+ key_ids.push_back(std::vector<uint8>(key_id, key_id + key_id_length));
+ CreateLicenseRequest(key_ids, session_type, &result);
std::string s(result.begin(), result.end());
EXPECT_EQ(expected_result, s);
}
@@ -498,5 +500,24 @@ TEST_F(JSONWebKeyTest, Base64UrlEncoding) {
arraysize(data1));
}
+TEST_F(JSONWebKeyTest, MultipleKeys) {
+ const uint8 data1[] = { 0x01, 0x02 };
+ const uint8 data2[] = { 0x01, 0x02, 0x03, 0x04 };
+ const uint8 data3[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10 };
+
+ std::vector<uint8> result;
+ KeyIdList key_ids;
+ key_ids.push_back(std::vector<uint8>(data1, data1 + arraysize(data1)));
+ key_ids.push_back(std::vector<uint8>(data2, data2 + arraysize(data2)));
+ key_ids.push_back(std::vector<uint8>(data3, data3 + arraysize(data3)));
+ CreateLicenseRequest(key_ids, MediaKeys::TEMPORARY_SESSION, &result);
+ std::string s(result.begin(), result.end());
+ EXPECT_EQ(
+ "{\"kids\":[\"AQI\",\"AQIDBA\",\"AQIDBAUGBwgJCgsMDQ4PEA\"],\"type\":"
+ "\"temporary\"}",
+ s);
+}
+
} // namespace media