1. 22 Jul, 2021 2 commits
    • Robert Knight's avatar
      Add test case for loading Hypothesis into a Shadow DOM-ed iframe · 5ca9d398
      Robert Knight authored
      Add a test case that reproduces the scenario encountered in the new
      VitalSource book reader [1] where Hypothesis is loaded into an iframe
      whose `<iframe>` element is contained within a shadow root and is thus
      not accessible via `window.frames`. This scenario currently prevents the
      Hypothesis sidebar from discovering and connecting to the frame.
      5ca9d398
    • Robert Knight's avatar
      Split test documents into general and specific-scenario tests · fd5a1307
      Robert Knight authored
      Split the test HTML and PDF documents into two groups: those that test
      general usage of Hypothesis with a particular document type using the
      default configuration and those that test specific scenarios, edge cases
      or non-standard configuration.
      
      The link descriptions for the scenario tests have been changed to focus
      on the scenario, since that is what is important, rather than the
      document title.
      fd5a1307
  2. 21 Jul, 2021 6 commits
  3. 19 Jul, 2021 7 commits
  4. 16 Jul, 2021 7 commits
  5. 15 Jul, 2021 8 commits
  6. 14 Jul, 2021 7 commits
    • Robert Knight's avatar
      Use `$imports.$mock` to mock RPC in bridge-test.js · b5e717ae
      Robert Knight authored
      The `Bridge` code was written before we had good mocking tools in the
      client. As a result the `Bridge` class mocks `RPC` in an unconventional
      way where it constructs the real class, but then stubs out specific
      methods. Also tests varied in the degree to which they tested only
      `Bridge` vs Bridge + RPC together.
      
      This commit mocks `RPC` in bridge-test.js using our standard mocking
      tools and makes all tests in the file unit tests. This involved some
      significant changes to the `onConnect` tests.
      b5e717ae
    • Eduardo Sanz García's avatar
      Various improvements based on PR feedback · 12982d25
      Eduardo Sanz García authored
      * change `@deprecated` for a comment
      * added a test to cover some missing lines in `_isValidSender` function.
      * `_isValidMessage` renamed to `_parseMessage`
      * created helper function `waitForMessageDelivery`
      * parametrise test
      12982d25
    • Eduardo Sanz García's avatar
      Cleanup/follow up work on `RPC` · 1aea95e6
      Eduardo Sanz García authored
      RPC:
      * added `@deprecated` statements and additional comments
      * removed `this._destroyed` for the listener checks, because the
        listener is removed when called `destroy()`.
      * added `this._port.close()` in addition to removing the listner.
      
      `bridge-test`:
      * refactor all the `function () {}` to arrow functions
      
      `frame-rpc-test.js`:
      * added these tests to check the `MessageChannel` functionality.
      1aea95e6
    • Eduardo Sanz García's avatar
      Strengthen types · 3e94f694
      Eduardo Sanz García authored
      3e94f694
    • Eduardo Sanz García's avatar
      Simplify internals · b0f23457
      Eduardo Sanz García authored
      Created a couple of utility methods to avoid duplication of code and
      enable to decouple RPC for `Window` or for `MessagePort`.
      b0f23457
    • Eduardo Sanz García's avatar
      Add `ListenerCollection` utility to handle listeners · 75525988
      Eduardo Sanz García authored
      It simplifies the code.
      75525988
    • Eduardo Sanz García's avatar
      Initial support of `MessageChannel` on `RPC` · 87832dbc
      Eduardo Sanz García authored
      It is a bit of a Frankenstein. The plan is to clean up on the next
      commits.
      87832dbc
  7. 13 Jul, 2021 3 commits