1. 29 Mar, 2017 11 commits
  2. 28 Mar, 2017 15 commits
  3. 27 Mar, 2017 9 commits
  4. 24 Mar, 2017 5 commits
    • Sean Roberts's avatar
      ef671dfe
    • Sean Roberts's avatar
      Branding fix app background height · bfd25250
      Sean Roberts authored
      bfd25250
    • Robert Knight's avatar
      Merge pull request #310 from hypothesis/reorganise-annotation-sync-tests · ce2509ba
      Robert Knight authored
      Reorganize annotation sync tests
      ce2509ba
    • Sean Hammond's avatar
      Improve AnnotationSync test names · 877fb348
      Sean Hammond authored
      Rename all the tests to better reflect what they actually test.
      
      Mostly replacing broadcast local event bus publisher proxying with
      "calls function", plus a couple of other clarifications.
      
      Before:
      
        AnnotationSync
          channel event handlers
            the "deleteAnnotation" event
              ✓ broadcasts the "annotationDeleted" event over the local event bus
              ✓ calls back with a formatted annotation
              ✓ removes an existing entry from the cache before the event is triggered
              ✓ removes the annotation from the cache
            the "loadAnnotations" event
              ✓ publishes the "annotationsLoaded" event
          event handlers
            the "beforeAnnotationCreated" event
              ✓ proxies the event over the bridge
              ✓ returns early if the annotation has a tag
      
      After:
      
        AnnotationSync
          #constructor
            when "deleteAnnotation" is published
              ✓ calls emit("annotationDeleted")
              ✓ calls the 'deleteAnnotation' event's callback function
              ✓ deletes any existing annotation from its cache before calling emit
              ✓ deletes any existing annotation from its cache
            when "loadAnnotations" is published
              ✓ calls emit("annotationsLoaded")
            when "beforeAnnotationCreated" is emitted
              ✓ calls bridge.call() passing the event
              if the annotation has a $tag
                ✓ does not call bridge.call()
      877fb348
    • Sean Hammond's avatar
      Reorganize AnnotationSync tests by method · 90535d22
      Sean Hammond authored
      If the tests are grouped according to what class / method / function
      they're testing, then it's a lot easier to see what is being tested and
      what isn't, and it's easier to find the tests for `foo()` or to know where
      to put new tests for `foo()`.
      
      On the other hand when you names tests like
      `describe('channel event handlers',` `describe('event handlers',`
      `describe('the "loadAnnotations" event',`,
      `describe('the "deleteAnnotation" event',` etc then it can be a lot
      harder for a reader coming along later to understand how the tests are
      organized and how this organization relates to the code itself.
      
      Most of the examples on https://mochajs.org/ use this style of
      organizing tests:
      
          describe('Array', function() {
            describe('#indexOf()', function() {
              it(...
              ...
            });
      
            describe('#concat()', function () {
              it(...
              ...
            });
      
            describe('#slice()', function () {
              it(...
              ...
            });
      
          describe('User', function() {
            describe('#save()', function() {
              it(...
      
          describe('Connection', function() {
            describe('#find()', function() {
              it(...
      
      This commit reorganizes the AnnotationSync tests along the same lines.
      
      I've also made use of Mocha's `context()` function to group tests
      **within a `describe()` for a method** by context. `context()` is just
      an alias for `describe()`, but it has different semantics. (This is
      also in line with how `context()` is used in the mochajs.org examples).
      90535d22