OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #import <EarlGrey/EarlGrey.h> | 5 #import <EarlGrey/EarlGrey.h> |
6 #import <XCTest/XCTest.h> | 6 #import <XCTest/XCTest.h> |
7 | 7 |
8 #include "base/ios/ios_util.h" | 8 #include "base/ios/ios_util.h" |
9 #include "components/strings/grit/components_strings.h" | 9 #include "components/strings/grit/components_strings.h" |
10 #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" | 10 #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
333 [[EarlGrey selectElementWithMatcher:chrome_test_util::Omnibox()] | 333 [[EarlGrey selectElementWithMatcher:chrome_test_util::Omnibox()] |
334 assertWithMatcher:chrome_test_util::OmniboxText("")]; | 334 assertWithMatcher:chrome_test_util::OmniboxText("")]; |
335 } | 335 } |
336 | 336 |
337 // Types JavaScript into Omnibox and verify that an alert is displayed. | 337 // Types JavaScript into Omnibox and verify that an alert is displayed. |
338 - (void)testTypeJavaScriptIntoOmnibox { | 338 - (void)testTypeJavaScriptIntoOmnibox { |
339 // TODO(crbug.com/642544): Enable the test for iPad when typing bug is fixed. | 339 // TODO(crbug.com/642544): Enable the test for iPad when typing bug is fixed. |
340 if (IsIPadIdiom() && base::ios::IsRunningOnIOS10OrLater()) { | 340 if (IsIPadIdiom() && base::ios::IsRunningOnIOS10OrLater()) { |
341 EARL_GREY_TEST_DISABLED(@"Disabled for iOS10 iPad due to a typing bug."); | 341 EARL_GREY_TEST_DISABLED(@"Disabled for iOS10 iPad due to a typing bug."); |
342 } | 342 } |
343 [ChromeEarlGrey loadURL:GURL("chrome://version")]; | 343 |
344 std::map<GURL, std::string> responses; | |
345 GURL URL = web::test::HttpServer::MakeUrl("http://foo"); | |
346 responses[URL] = "bar"; | |
347 web::test::SetUpSimpleHttpServer(responses); | |
348 [ChromeEarlGrey loadURL:GURL(URL)]; | |
349 | |
344 [[EarlGrey selectElementWithMatcher:chrome_test_util::Omnibox()] | 350 [[EarlGrey selectElementWithMatcher:chrome_test_util::Omnibox()] |
345 performAction:grey_typeText(@"javascript:alert('Hello');")]; | 351 performAction:grey_typeText(@"javascript:alert('Hello');")]; |
346 | 352 |
347 [[EarlGrey selectElementWithMatcher:grey_accessibilityID(@"Go")] | 353 [[EarlGrey selectElementWithMatcher:grey_accessibilityID(@"Go")] |
348 performAction:grey_tap()]; | 354 performAction:grey_tap()]; |
349 | 355 |
350 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(@"Hello")] | 356 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(@"Hello")] |
351 assertWithMatcher:grey_notNil()]; | 357 assertWithMatcher:grey_notNil()]; |
352 } | 358 } |
353 | 359 |
360 // Loads WebUI page, types JavaScript into Omnibox and verify that alert is not | |
lpromero
2017/03/23 12:43:48
Nit: verifies
Eugene But (OOO till 7-30)
2017/03/23 17:45:08
Done.
| |
361 // displayed. WebUI pages have elevated previledges and should not allow script | |
lpromero
2017/03/23 12:43:48
Nit: privileges
Eugene But (OOO till 7-30)
2017/03/23 17:45:08
Done.
| |
362 // execution. | |
363 - (void)testTypeJavaScriptIntoOmniboxWithWebUIPage { | |
364 // TODO(crbug.com/642544): Enable the test for iPad when typing bug is fixed. | |
365 if (IsIPadIdiom() && base::ios::IsRunningOnIOS10OrLater()) { | |
366 EARL_GREY_TEST_DISABLED(@"Disabled for iOS10 iPad due to a typing bug."); | |
367 } | |
368 [ChromeEarlGrey loadURL:GURL("chrome://version")]; | |
369 [[EarlGrey selectElementWithMatcher:chrome_test_util::Omnibox()] | |
370 performAction:grey_typeText(@"javascript:alert('Hello');")]; | |
371 | |
372 [[EarlGrey selectElementWithMatcher:grey_accessibilityID(@"Go")] | |
373 performAction:grey_tap()]; | |
374 | |
375 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(@"Hello")] | |
376 assertWithMatcher:grey_nil()]; | |
377 } | |
378 | |
354 // Tests typing in the omnibox. | 379 // Tests typing in the omnibox. |
355 - (void)testToolbarOmniboxTyping { | 380 - (void)testToolbarOmniboxTyping { |
356 SelectNewTabPagePanel(NewTabPage::kMostVisitedPanel); | 381 SelectNewTabPagePanel(NewTabPage::kMostVisitedPanel); |
357 | 382 |
358 id<GREYMatcher> locationbarButton = grey_allOf( | 383 id<GREYMatcher> locationbarButton = grey_allOf( |
359 grey_accessibilityLabel(l10n_util::GetNSString(IDS_OMNIBOX_EMPTY_HINT)), | 384 grey_accessibilityLabel(l10n_util::GetNSString(IDS_OMNIBOX_EMPTY_HINT)), |
360 grey_minimumVisiblePercent(0.2), nil); | 385 grey_minimumVisiblePercent(0.2), nil); |
361 [[EarlGrey selectElementWithMatcher:locationbarButton] | 386 [[EarlGrey selectElementWithMatcher:locationbarButton] |
362 assertWithMatcher:grey_text(@"Search or type URL")]; | 387 assertWithMatcher:grey_text(@"Search or type URL")]; |
363 | 388 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
444 | 469 |
445 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(clearText)] | 470 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(clearText)] |
446 performAction:grey_tap()]; | 471 performAction:grey_tap()]; |
447 [[EarlGrey selectElementWithMatcher:chrome_test_util::Omnibox()] | 472 [[EarlGrey selectElementWithMatcher:chrome_test_util::Omnibox()] |
448 assertWithMatcher:chrome_test_util::OmniboxText("")]; | 473 assertWithMatcher:chrome_test_util::OmniboxText("")]; |
449 | 474 |
450 SelectNewTabPagePanel(NewTabPage::kMostVisitedPanel); | 475 SelectNewTabPagePanel(NewTabPage::kMostVisitedPanel); |
451 } | 476 } |
452 } | 477 } |
453 @end | 478 @end |
OLD | NEW |