===
navigate to test page
%require
===
plwr -S plwr-test open "http://localhost:8599/index.html"
---

===
set a custom header
===
plwr -S plwr-test header X-Custom-One first
---

===
set a second custom header
===
plwr -S plwr-test header X-Custom-Two second
---

===
navigate to echo server to verify headers
===
plwr -S plwr-test open "http://localhost:8598/"
---

===
custom header is sent
===
plwr -S plwr-test eval "JSON.parse(document.body.innerText)['x-custom-one']"
---
first

===
second custom header is also sent
===
plwr -S plwr-test eval "JSON.parse(document.body.innerText)['x-custom-two']"
---
second

===
overwrite an existing header
===
plwr -S plwr-test header X-Custom-One updated
---

===
reload to re-fetch with new headers
===
plwr -S plwr-test reload
---

===
overwritten header has new value
===
plwr -S plwr-test eval "JSON.parse(document.body.innerText)['x-custom-one']"
---
updated

===
second header is still present
===
plwr -S plwr-test eval "JSON.parse(document.body.innerText)['x-custom-two']"
---
second

===
clear all headers
===
plwr -S plwr-test header --clear
---

===
reload to re-fetch without headers
===
plwr -S plwr-test reload
---

===
cleared headers are no longer sent
===
plwr -S plwr-test eval "String(JSON.parse(document.body.innerText)['x-custom-one'])"
---
undefined

===
navigate back to static server still works
===
plwr -S plwr-test open "http://localhost:8599/index.html"
---

===
page content is intact after clearing headers
===
plwr -S plwr-test text h1
---
Test Page


