anchor.diff:    The router seems particularly challenging.
   .l-sub-section
     :marked
  -    The [discussion below](#routed-component) covers testing components that requre the router.
  +    The [discussion below](#routed-component) covers testing components that require the router.
   :marked
     The immediate goal is to test the `DashboardHeroComponent`, not the `DashboardComponent`, and there's no need
     to work hard unnecessarily. Let's try the second and third options.
  
positive.code:   which intercepts all promises issued within the _async_ method call.
    
    The `ComponentFixture.whenStable` method returns its own promise which resolves when the `getQuote` promise completes.
    In fact, the _whenStable_ promise resolves when _all pending asynchronous activities_ complete ... the definition of "stable".
  
    Then the testing continues. 
    The test kicks off another round of change detection (`fixture.detechChanges`) which tells Angular to update the DOM with the quote.
    The `getQuote` helper method extracts the display element text and the expectation confirms that the text matches the test quote.
  
  #fakeAsync
  
negative.code: :marked
    ### Synchronous tests
    The first two tests are synchronous. 
    Thanks to the spy, they verify that `getQuote` is called _after_
    the first change detection cycle during which Angular calls `ngOnInit`. 
  
    Neither test can prove that a value from the service is be displayed.
    The quote itself has not arrived, despite the fact that the spy returns a resolved promise.
    
    This test must wait at least one full turn of the JavaScript engine before the
    value becomes available. The test must become _asynchronous_.
  
  #async
  :marked
  