code: function workFn() {
        var modules = currentSpec.$modules || [];
        var strictDi = !!currentSpec.$injectorStrict;
        modules.unshift('ngMock');
        modules.unshift('ng');
        var injector = currentSpec.$injector;
        if (!injector) {
          if (strictDi) {
            // If strictDi is enabled, annotate the providerInjector blocks
            angular.forEach(modules, function(moduleFn) {
              if (typeof moduleFn === "function") {
                angular.injector.$$annotate(moduleFn);
              }
            });
          }
          injector = currentSpec.$injector = angular.injector(modules, strictDi);
          currentSpec.$injectorStrict = strictDi;
        }
        for (var i = 0, ii = blockFns.length; i < ii; i++) {
          if (currentSpec.$injectorStrict) {
            // If the injector is strict / strictDi, and the spec wants to inject using automatic
            // annotation, then annotate the function here.
            injector.annotate(blockFns[i]);
          }
          try {
            /* jshint -W040 *//* Jasmine explicitly provides a `this` object when calling functions */
            injector.invoke(blockFns[i] || angular.noop, this);
            /* jshint +W040 */
          } catch (e) {
            if (e.stack && errorForStack) {
              throw new ErrorAddingDeclarationLocationStack(e, errorForStack);
            }
            throw e;
          } finally {
            errorForStack = null;
          }
        }
      }
docs: ///////////////////