| <!DOCTYPE html> | |
| <head> | |
| <title>Test cookies between sessions.</title> | |
| <style> | |
| h1 { | |
| color: #c50000; | |
| font-size: 6em; | |
| } | |
| </style> | |
| <script src='black_box_js_test_utils.js'></script> | |
| </head> | |
| <body> | |
| <h1> | |
| <span>Test cookies between sessions.</span> | |
| </h1> | |
| <script> | |
| document.body.style.backgroundColor = "green"; | |
| const persistent_cookie = "persistent_cookie_status=exists"; | |
| const persistent_cookie_expire_time = "; expires=Fri, 18 Dec 2023 12:00:00 UTC"; | |
| const very_old_date = "; expires=Fri, 18 Dec 2003 12:00:00 UTC"; | |
| function firstRun() { | |
| console.log( | |
| "First run, verifying basic functionalities and write persistent cookie"); | |
| // If the previous run failed, persistent cookie might not be deleted. | |
| // Clear it to avoid affecting this test run. | |
| document.cookie = persistent_cookie + very_old_date; | |
| // Verify basic cookie functionalities work before testing persistent cookie. | |
| const cookie_1 = "test_content=exist"; | |
| const cookie_2 = "second_test_content=still_exist"; | |
| const cookie_1_change = "test_content=changed"; | |
| document.cookie = cookie_1; | |
| assertEqual(cookie_1, document.cookie); | |
| document.cookie = cookie_2; | |
| assertEqual(cookie_1 + '; ' + cookie_2, document.cookie); | |
| document.cookie = cookie_1_change; | |
| assertEqual(cookie_2 + '; ' + cookie_1_change, document.cookie); | |
| document.cookie = cookie_1 + very_old_date; | |
| assertEqual(cookie_2, document.cookie); | |
| // End of basic functionality tests. | |
| // Add persistent cookie that's supposed to last till next opening. | |
| document.cookie = persistent_cookie + persistent_cookie_expire_time; | |
| assertEqual(cookie_2 + '; ' + persistent_cookie, document.cookie); | |
| } | |
| function secondRun() { | |
| console.log("Second run: Verifying persistent cookie is written."); | |
| assertEqual(persistent_cookie, document.cookie); | |
| document.cookie = persistent_cookie + very_old_date; | |
| assertEqual('', document.cookie); | |
| } | |
| function thirdRun() { | |
| console.log("Third run: verifying persistent cookie is wiped."); | |
| assertEqual('', document.cookie); | |
| } | |
| window.onkeydown = function(event) { | |
| if (event.keyCode === 97) { | |
| firstRun(); | |
| } else if (event.keyCode === 98) { | |
| secondRun(); | |
| } else if (event.keyCode === 99) { | |
| thirdRun(); | |
| } | |
| onEndTest(); | |
| } | |
| setupFinished(); | |
| </script> | |
| </body> |