1. 27 Mar, 2017 1 commit
  2. 24 Mar, 2017 11 commits
    • 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
    • Sean Hammond's avatar
      Merge pull request #305 from hypothesis/annotation-sync-test-to-js · 6a8af948
      Sean Hammond authored
      Translate AnnotationSync tests to JavaScript
      6a8af948
    • Sean Hammond's avatar
      Tidy up annotation-sync-test.js · 725cbfcc
      Sean Hammond authored
      Tidy the CoffeeScript-generated annotation-sync-test.js into something
      more human readable.
      725cbfcc
    • Robert Knight's avatar
      1.5.0 · eb22b50b
      Robert Knight authored
      eb22b50b
    • Robert Knight's avatar
      Update Change Log · e65053b3
      Robert Knight authored
      e65053b3
    • Robert Knight's avatar
      Simplify `<excerpt>` component exports · 45f09724
      Robert Knight authored
      Just export the `<excerpt>` component definition instead of both the
      definition (which includes the controller) and the controller itself.
      45f09724
    • Robert Knight's avatar
      Move ExcerptOverflowMonitor to src/sidebar/util · 794960d1
      Robert Knight authored
      This module previously lived under `src/sidebar/directive` but it isn't
      a directive, only a helper class used by a directive.
      794960d1
    • Robert Knight's avatar
      a5d029b5
    • Robert Knight's avatar
      Convert `<excerpt>` to a component · 33f0450a
      Robert Knight authored
      33f0450a
  3. 23 Mar, 2017 6 commits
  4. 22 Mar, 2017 1 commit
  5. 21 Mar, 2017 1 commit
    • Robert Knight's avatar
      Implement moderation banner for annotation cards (#285) · 967f89f7
      Robert Knight authored
      * Implement <moderation-banner> component
      
      Implement the UI component for the moderation banner at the top of
      annotation cards, following the designs on [1].
      
      [1] https://github.com/hypothesis/product-backlog/issues/183
      
      * Add reducer and actions for managing moderation app state
      
      Add a module which defines the state and actions related to moderation
      status of annotations.
      
      * Display moderation banner at the top of annotation cards
      
      The moderation banner is currently only supported on top-level
      annotations. It will need to be adjusted and moved to a different
      component in order to support replies.
      
      * Support displaying moderation banner above replies.
      
       * Move the `<moderation-banner>` component to `<annotation-thread>` so
         that it can be displayed for replies as well as annotations.
      
       * Customize the styling of the banner when the annotation is a reply.
      
      * Add a simple test for display change when moderation banner is used on a reply
      
      * Add additional parameter documentation
      
      * Convert `<moderation-banner>` to a component
      
      As per hypothesis/client#292, all element directives are being converted
      to components.
      
      * Add tooltips to moderation banner buttons.
      
      The "Hide" and "Undo" labels for the button were potentially ambiguous.
      The final labels are still being discussed but improve the UI by adding
      tooltips and changing "Undo" to "Unhide".
      
      * Correct a reference to a button label in tests
      
      The label changed from "Undo" to "Unhide".
      967f89f7
  6. 20 Mar, 2017 2 commits
  7. 18 Mar, 2017 3 commits
  8. 17 Mar, 2017 13 commits
  9. 16 Mar, 2017 2 commits