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

Side by Side Diff: third_party/WebKit/Source/platform/weborigin/SecurityOriginTest.cpp

Issue 2378323003: Add url::Origin::GetURL() to convert Origins to URLs without reparsing (Closed)
Patch Set: propagate file:/// change to weborigin Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 struct TestCase { 411 struct TestCase {
412 const char* scheme; 412 const char* scheme;
413 const char* host; 413 const char* host;
414 unsigned short port; 414 unsigned short port;
415 const char* origin; 415 const char* origin;
416 } cases[] = { 416 } cases[] = {
417 {"http", "example.com", 80, "http://example.com"}, 417 {"http", "example.com", 80, "http://example.com"},
418 {"http", "example.com", 81, "http://example.com:81"}, 418 {"http", "example.com", 81, "http://example.com:81"},
419 {"https", "example.com", 443, "https://example.com"}, 419 {"https", "example.com", 443, "https://example.com"},
420 {"https", "example.com", 444, "https://example.com:444"}, 420 {"https", "example.com", 444, "https://example.com:444"},
421 {"file", "", 0, "file://"}, 421 {"file", "", 0, "file:///"},
422 {"file", "example.com", 0, "file://"}, 422 {"file", "example.com", 0, "file:///"},
423 }; 423 };
424 424
425 for (const auto& test : cases) { 425 for (const auto& test : cases) {
426 RefPtr<SecurityOrigin> origin = 426 RefPtr<SecurityOrigin> origin =
427 SecurityOrigin::create(test.scheme, test.host, test.port); 427 SecurityOrigin::create(test.scheme, test.host, test.port);
428 EXPECT_EQ(test.origin, origin->toString()) << test.origin; 428 EXPECT_EQ(test.origin, origin->toString()) << test.origin;
429 } 429 }
430 } 430 }
431 431
432 TEST_F(SecurityOriginTest, UniquenessPropagatesToBlobUrls) { 432 TEST_F(SecurityOriginTest, UniquenessPropagatesToBlobUrls) {
433 struct TestCase { 433 struct TestCase {
434 const char* url; 434 const char* url;
435 bool expectedUniqueness; 435 bool expectedUniqueness;
436 const char* expectedOriginString; 436 const char* expectedOriginString;
437 } cases[]{ 437 } cases[]{
438 {"", true, "null"}, 438 {"", true, "null"},
439 {"null", true, "null"}, 439 {"null", true, "null"},
440 {"data:text/plain,hello_world", true, "null"}, 440 {"data:text/plain,hello_world", true, "null"},
441 {"file:///path", false, "file://"}, 441 {"file:///path", false, "file:///"},
442 {"filesystem:http://host/filesystem-path", false, "http://host"}, 442 {"filesystem:http://host/filesystem-path", false, "http://host"},
443 {"filesystem:file:///filesystem-path", false, "file://"}, 443 {"filesystem:file:///filesystem-path", false, "file:///"},
444 {"filesystem:null/filesystem-path", true, "null"}, 444 {"filesystem:null/filesystem-path", true, "null"},
445 {"blob:http://host/blob-id", false, "http://host"}, 445 {"blob:http://host/blob-id", false, "http://host"},
446 {"blob:file:///blob-id", false, "file://"}, 446 {"blob:file:///blob-id", false, "file:///"},
447 {"blob:null/blob-id", true, "null"}, 447 {"blob:null/blob-id", true, "null"},
448 }; 448 };
449 449
450 for (const TestCase& test : cases) { 450 for (const TestCase& test : cases) {
451 RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromString(test.url); 451 RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromString(test.url);
452 EXPECT_EQ(test.expectedUniqueness, origin->isUnique()); 452 EXPECT_EQ(test.expectedUniqueness, origin->isUnique());
453 EXPECT_EQ(test.expectedOriginString, origin->toString()); 453 EXPECT_EQ(test.expectedOriginString, origin->toString());
454 454
455 KURL blobUrl = BlobURL::createPublicURL(origin.get()); 455 KURL blobUrl = BlobURL::createPublicURL(origin.get());
456 RefPtr<SecurityOrigin> blobUrlOrigin = SecurityOrigin::create(blobUrl); 456 RefPtr<SecurityOrigin> blobUrlOrigin = SecurityOrigin::create(blobUrl);
457 EXPECT_EQ(blobUrlOrigin->isUnique(), origin->isUnique()); 457 EXPECT_EQ(blobUrlOrigin->isUnique(), origin->isUnique());
458 EXPECT_EQ(blobUrlOrigin->toString(), origin->toString()); 458 EXPECT_EQ(blobUrlOrigin->toString(), origin->toString());
459 EXPECT_EQ(blobUrlOrigin->toRawString(), origin->toRawString()); 459 EXPECT_EQ(blobUrlOrigin->toRawString(), origin->toRawString());
460 } 460 }
461 } 461 }
462 462
463 TEST_F(SecurityOriginTest, UniqueOriginIsSameSchemeHostPort) { 463 TEST_F(SecurityOriginTest, UniqueOriginIsSameSchemeHostPort) {
464 RefPtr<SecurityOrigin> uniqueOrigin = SecurityOrigin::createUnique(); 464 RefPtr<SecurityOrigin> uniqueOrigin = SecurityOrigin::createUnique();
465 RefPtr<SecurityOrigin> tupleOrigin = 465 RefPtr<SecurityOrigin> tupleOrigin =
466 SecurityOrigin::createFromString("http://example.com"); 466 SecurityOrigin::createFromString("http://example.com");
467 467
468 EXPECT_TRUE(uniqueOrigin->isSameSchemeHostPort(uniqueOrigin.get())); 468 EXPECT_TRUE(uniqueOrigin->isSameSchemeHostPort(uniqueOrigin.get()));
469 EXPECT_FALSE( 469 EXPECT_FALSE(
470 SecurityOrigin::createUnique()->isSameSchemeHostPort(uniqueOrigin.get())); 470 SecurityOrigin::createUnique()->isSameSchemeHostPort(uniqueOrigin.get()));
471 EXPECT_FALSE(tupleOrigin->isSameSchemeHostPort(uniqueOrigin.get())); 471 EXPECT_FALSE(tupleOrigin->isSameSchemeHostPort(uniqueOrigin.get()));
472 EXPECT_FALSE(uniqueOrigin->isSameSchemeHostPort(tupleOrigin.get())); 472 EXPECT_FALSE(uniqueOrigin->isSameSchemeHostPort(tupleOrigin.get()));
473 } 473 }
474 474
475 } // namespace blink 475 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698