<!doctype html>
<meta charset="utf-8">
<title>Async Cookes: cokieStore.getAll() sees cookieStore.set() cookie</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
'use strict';

promise_test(testCase => {
  const tenYears = 10 * 365 * 24 * 60 * 60 * 1000;
  const expiresAt = Date.now() + tenYears;
  return cookieStore.set('answer', '42', { expires: expiresAt }).then(() => {
    return cookieStore.getAll().then(cookies => {
      assert_equals(cookies.length, 1);
      assert_equals(cookies[0].name, 'answer');
      assert_equals(cookies[0].value, '42');
    });
  });
}, 'cookieStore.getAll returns the cookie written by cookieStore.set');

</script>
