Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5187)

Unified Diff: chrome/browser/media/webrtc/webrtc_browsertest_base.cc

Issue 2489673003: RTCPeerConnection.getStats: Whitelist of stats in unittest. (Closed)
Patch Set: Addressed nits Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/webrtc/webrtc_browsertest_base.cc
diff --git a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
index 107b49f612b8ff72ad093d6ca6a5dc834688434b..9419be89db13eaeadc29fc132ff99ec2ad4400f2 100644
--- a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
+++ b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
@@ -6,6 +6,7 @@
#include <stddef.h>
+#include "base/json/json_reader.h"
#include "base/lazy_instance.h"
#include "base/macros.h"
#include "base/strings/string_util.h"
@@ -120,6 +121,26 @@ class PermissionRequestObserver : public PermissionRequestManager::Observer {
DISALLOW_COPY_AND_ASSIGN(PermissionRequestObserver);
};
+std::vector<std::string> JsonArrayToVectorOfStrings(
+ const std::string& json_array) {
+ std::unique_ptr<base::Value> value = base::JSONReader::Read(json_array);
+ EXPECT_TRUE(value);
+ EXPECT_TRUE(value->IsType(base::Value::TYPE_LIST));
+ std::unique_ptr<base::ListValue> list =
+ base::ListValue::From(std::move(value));
+ std::vector<std::string> vector;
+ vector.reserve(list->GetSize());
+ for (size_t i = 0; i < list->GetSize(); ++i) {
+ base::Value* item;
+ EXPECT_TRUE(list->Get(i, &item));
+ EXPECT_TRUE(item->IsType(base::Value::TYPE_STRING));
+ std::string item_str;
+ EXPECT_TRUE(item->GetAsString(&item_str));
+ vector.push_back(std::move(item_str));
+ }
+ return vector;
+}
+
} // namespace
WebRtcTestBase::WebRtcTestBase(): detect_errors_in_javascript_(false) {
@@ -460,10 +481,17 @@ void WebRtcTestBase::VerifyStatsGeneratedCallback(
EXPECT_EQ("ok-got-stats", ExecuteJavascript("verifyStatsGenerated()", tab));
}
-void WebRtcTestBase::VerifyStatsGeneratedPromise(
+std::vector<std::string> WebRtcTestBase::VerifyStatsGeneratedPromise(
+ content::WebContents* tab) const {
+ std::string result = ExecuteJavascript("verifyStatsGeneratedPromise()", tab);
+ EXPECT_TRUE(base::StartsWith(result, "ok-", base::CompareCase::SENSITIVE));
+ return JsonArrayToVectorOfStrings(result.substr(3));
+}
+
+std::vector<std::string> WebRtcTestBase::GetWhitelistedStatsTypes(
content::WebContents* tab) const {
- EXPECT_EQ("ok-got-stats",
- ExecuteJavascript("verifyStatsGeneratedPromise()", tab));
+ return JsonArrayToVectorOfStrings(
+ ExecuteJavascript("getWhitelistedStatsTypes()", tab));
}
void WebRtcTestBase::SetDefaultVideoCodec(
« no previous file with comments | « chrome/browser/media/webrtc/webrtc_browsertest_base.h ('k') | chrome/test/data/webrtc/peerconnection_getstats.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698