Things we did:

  • Test Curation
    • Categorized the tests! I haven’t filed the issues yet, but it boils down to roughly two large groups:
      • “Promise is not defined”: While the test messages are saying promise is not defined, these tests are in fact related to body. Body has a few methods that return Promise.
      • “xxxxdict is not iterable”: OpenEndedDictionary needs to be implemented. What Nick said about this: “OpenEndedDictionary isn’t supported in HeadersInit, bindings glue tries to convert the object into something that is supported in HeadersInit. The object is not a Headers object, so that doesn’t work. Then the glue code tries to treat it as a Sequence. However, it is not an iterable sequence, so it throws the error you’re seeing.”
    • There are a few notes:
      • Each API has a -idl.html test file that are currently timing out. I’m not exactly sure what they do, but it looks like once webidls are fully implemented, these tests will pass.
      • Some subtests related to stream like readableStreamfail. I’m not sure if stream is something we can implement or is already implemented. Will have to ask someone knows more about this.
      • Response is currently throwing an error about network error code. Malisa will be working on this!
  • Response
    • PR is finally ready to be merged (or so we thought), but Jeena discovered a test which is failing which should be passing, so I’m fixing that up.
  • Body
    • Tried to understand how/where I should be implementing Body. Decided to start with writing body’s extract method.

Things we learned:

  • In JavaScript there is a distinction between for ... of loops and for ... in loops. E.g.
    • In Python, for x in foo is the same as in JS, for (x of foo). In this case, x is the object you ultimately want to view or manipulate.
    • In Python, for x in foo.keys() is the same as in JS, for (x in foo). In this case, x is the key to the dictionary you might what to iterate over.

TODO:

  • Response
    • Figure out how to encode StatusCode 0 as an Enum, which is not supported currently.
  • Body
    • Start implementing extract as well as I can w/o ReadableStream
  • Test Curation
    • File issues for the large groups of failing tests