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

Unified Diff: ios/web/web_state/ui/web_view_js_utils_unittest.mm

Issue 2327783002: Fix domdistiller for new JS execution (Closed)
Patch Set: comments test Created 4 years, 3 months 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: ios/web/web_state/ui/web_view_js_utils_unittest.mm
diff --git a/ios/web/web_state/ui/web_view_js_utils_unittest.mm b/ios/web/web_state/ui/web_view_js_utils_unittest.mm
index 84a5657d6b37c40cad28d384770fa7fe451d7ed2..501e6d189919711317a2c69085dbdd6d8f430372 100644
--- a/ios/web/web_state/ui/web_view_js_utils_unittest.mm
+++ b/ios/web/web_state/ui/web_view_js_utils_unittest.mm
@@ -93,6 +93,32 @@ TEST(WebViewJsUtilsTest, ValueResultFromDictionaryWKResult) {
EXPECT_EQ(42, value3);
}
+// Tests that ValueResultFromWKResult converts NSArray to properly
+// initialized base::ListValue.
+TEST(WebViewJsUtilsTest, ValueResultFromArrayWKResult) {
Eugene But (OOO till 7-30) 2016/09/19 21:52:27 Could you please add test for stack smashing case
lody 2016/09/20 13:41:37 Done, and test caught bug! (insert "is such a thin
+ NSArray* test_array = @[ @"Value1", @[ @YES ], @42 ];
+
+ std::unique_ptr<base::Value> value(web::ValueResultFromWKResult(test_array));
+ base::ListValue* list = nullptr;
+ value->GetAsList(&list);
+ EXPECT_NE(nullptr, list);
+
+ size_t list_size = 3;
+ EXPECT_EQ(list_size, list->GetSize());
+
+ std::string value1;
+ list->GetString(0, &value1);
+ EXPECT_EQ("Value1", value1);
+
+ base::ListValue const* inner_list;
Eugene But (OOO till 7-30) 2016/09/19 21:52:27 Please initialize
lody 2016/09/20 13:41:37 Done.
+ list->GetList(1, &inner_list);
+ EXPECT_NE(nullptr, inner_list);
+
+ double value3;
+ list->GetDouble(2, &value3);
+ EXPECT_EQ(42, value3);
+}
+
// Tests that an NSDictionary with a cycle does not cause infinite recursion.
TEST(WebViewJsUtilsTest, ValueResultFromDictionaryWithDepthCheckWKResult) {
// Create a dictionary with a cycle.

Powered by Google App Engine
This is Rietveld 408576698