anchor.diff:    your browser. On the other hand, if you were to try running the *test suite*,
     things wouldn't look quite that good yet. We also have to make our tests
     support our new module organization.
  -  
  +
   :marked
     ## Preparing Tests
  -  
  +
     Our project has both E2E Protractor tests and some Karma unit tests in it.
     Of these two, E2E tests can be dealt with much quicker: By definition,
  -  E2E tests access our application from the *outside* by interacting with 
  +  E2E tests access our application from the *outside* by interacting with
     the various UI elements the app puts on the screen. E2E tests aren't really that
     concerned with the internal structure of the application components. That
     also means that although we've modified our project quite a bit, the E2E
     test suite should keep passing just as it was before. We haven't changed
     how the app behaves from the user's point of view.
  -  
  +
     For unit tests, on the other hand, we'll do a bit of conversion work.
     What we'll do is convert our existing unit tests to TypeScript and have them
     use `import`s to load in the code they need.
  -  
  +
     We'll also need to tweak our Karma configuration so that it'll let SystemJS load
     the application files. For this we'll use a shim file that will tweak the way
     files get loaded:
  -  
  +
   +makeExample('upgrade-phonecat/ts/typescript-conversion/test/karma_test_shim.js', null, 'test/karma_test_shim.js')
   
   .alert.is-important The shim is likely to be replaced by improved tooling, but is currently needed.
  
positive.code:   begin enjoying everything Angular 2 has to offer. That's because Angular 2
    comes with built-in tools for migrating Angular 1 projects over to the
    Angular 2 platform.
  
    Some applications will be easier to upgrade than others, and there are
    ways in which we can make it easier for ourselves. It is possible to
  
negative.code:   shim file. We'll also change how the app and unit tests files themselves are loaded.
    We will *watch* them so that the test suite is triggered when changes occur, but we
    won't have Karma *include* them because that is now done by SystemJS and the shim.
  
  +makeExample('upgrade-phonecat/ts/typescript-conversion/test/karma.conf.1.js', 'files', 'test/karma.conf.js')
  
  :marked
    Now we have the infrastructure in place and can convert the test files themselves.
    This mainly just consists for changing the file extensions of those files, and adding
    the necessary imports to them.
  
    In the checkmark filter spec, we'll import the core module file, so that it is
    available when we load the corresponding Angular module:
  
  +makeExample('upgrade-phonecat/ts/typescript-conversion/test/unit/checkmark.filter.spec.ts', 'top', 'test/unit/checkmark.filter.spec.ts')
  
  :marked
  