hunk.code_window:         throw new Error('Expected an error but none happened.');
         }
       })
       // Fix the error!
       .then(() => writeFile('src/funky2.ts', `
         export function funky(value: string): string {
           return value + 'hello';
  
hunk.labels: keep keep add keep keep keep keep
hunk.after_edit:     // Change an UNRELATED file and the error should still happen.
       .then(() => wait(2000))
       .then(() => appendToFile('src/app/app.module.ts', `
         function anything(): number {}
       `))
       // Should trigger a rebuild, this time an error is expected.
       .then(() => waitForAnyProcessOutputToMatch(doneRe, 10000))
       .then(({ stdout }) => {
         if (!/ERROR in .*\/src\/main\.ts \(/.test(stdout)) {
           throw new Error('Expected an error but none happened.');
         }
       })
  
hunk.file_path: tests/e2e/tests/build/rebuild-deps-type-check.ts
hunk.type: add
file: 'use strict';
  
  var commandProperties = [
    'name',
    'description',
    'aliases',
    'works',
    'availableOptions',
    'anonymousOptions'
  ];
  var blueprintProperties = [
    'name',
    'aliases',
    'description',
    'availableOptions',
    'anonymousOptions',
    'overridden'
  ];
  
  function forEachWithProperty(properties, forEach, context) {
    return properties.filter(function(key) {
      return this[key] !== undefined;
    }, context).forEach(forEach, context);
  }
  
  module.exports = {
    command: {
      forEachWithProperty: function(forEach, context) {
        return forEachWithProperty(commandProperties, forEach, context);
      }
    },
    blueprint: {
      forEachWithProperty: function(forEach, context) {
        return forEachWithProperty(blueprintProperties, forEach, context);
      }
    }
  };
  