当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript testing_internal.describe函数代码示例

本文整理汇总了TypeScript中@angular/testing/testing_internal.describe函数的典型用法代码示例。如果您正苦于以下问题:TypeScript describe函数的具体用法?TypeScript describe怎么用?TypeScript describe使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了describe函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: main

export function main() {
  describe('statistic', () => {

    it('should calculate the mean', () => {
      expect(Statistic.calculateMean([])).toBeNaN();
      expect(Statistic.calculateMean([1, 2, 3])).toBe(2.0);
    });

    it('should calculate the standard deviation', () => {
      expect(Statistic.calculateStandardDeviation([], NaN)).toBeNaN();
      expect(Statistic.calculateStandardDeviation([1], 1)).toBe(0.0);
      expect(Statistic.calculateStandardDeviation([2, 4, 4, 4, 5, 5, 7, 9], 5)).toBe(2.0);
    });

    it('should calculate the coefficient of variation', () => {
      expect(Statistic.calculateCoefficientOfVariation([], NaN)).toBeNaN();
      expect(Statistic.calculateCoefficientOfVariation([1], 1)).toBe(0.0);
      expect(Statistic.calculateCoefficientOfVariation([2, 4, 4, 4, 5, 5, 7, 9], 5)).toBe(40.0);
    });

    it('should calculate the regression slope', () => {
      expect(Statistic.calculateRegressionSlope([], NaN, [], NaN)).toBeNaN();
      expect(Statistic.calculateRegressionSlope([1], 1, [2], 2)).toBeNaN();
      expect(Statistic.calculateRegressionSlope([1, 2], 1.5, [2, 4], 3)).toBe(2.0);
    });

  });
}
开发者ID:0xJoKe,项目名称:angular,代码行数:28,代码来源:statistic_spec.ts

示例2: main

export function main() {
  function createExtension(ids: any[], caps) {
    return PromiseWrapper.wrap(() => {
      return ReflectiveInjector.resolveAndCreate([
                                 ids.map((id) => { return {provide: id, useValue: new MockExtension(id)}}),
                                 {provide: Options.CAPABILITIES, useValue: caps},
                                 WebDriverExtension.bindTo(ids)
                               ])
          .get(WebDriverExtension);
    });
  }

  describe('WebDriverExtension.bindTo', () => {

    it('should bind the extension that matches the capabilities',
       inject([AsyncTestCompleter], (async) => {
         createExtension(['m1', 'm2', 'm3'], {'browser': 'm2'})
             .then((m) => {
               expect(m.id).toEqual('m2');
               async.done();
             });
       }));

    it('should throw if there is no match', inject([AsyncTestCompleter], (async) => {
         PromiseWrapper.catchError(createExtension(['m1'], {'browser': 'm2'}), (err) => {
           expect(isPresent(err)).toBe(true);
           async.done();
         });
       }));
  });
}
开发者ID:4vanger,项目名称:angular,代码行数:31,代码来源:web_driver_extension_spec.ts

示例3: main

export function main() {
  describe('size validator', () => {
    var validator;

    function createValidator(size) {
      validator = ReflectiveInjector.resolveAndCreate([
                                      SizeValidator.BINDINGS,
                                      bind(SizeValidator.SAMPLE_SIZE).toValue(size)
                                    ])
                      .get(SizeValidator);
    }

    it('should return sampleSize as description', () => {
      createValidator(2);
      expect(validator.describe()).toEqual({'sampleSize': 2});
    });

    it('should return null while the completeSample is smaller than the given size', () => {
      createValidator(2);
      expect(validator.validate([])).toBe(null);
      expect(validator.validate([mv(0, 0, {})])).toBe(null);
    });

    it('should return the last sampleSize runs when it has at least the given size', () => {
      createValidator(2);
      var sample = [mv(0, 0, {'a': 1}), mv(1, 1, {'b': 2}), mv(2, 2, {'c': 3})];
      expect(validator.validate(ListWrapper.slice(sample, 0, 2)))
          .toEqual(ListWrapper.slice(sample, 0, 2));
      expect(validator.validate(sample)).toEqual(ListWrapper.slice(sample, 1, 3));
    });

  });
}
开发者ID:2blessed2bstressedbythedevilsmess,项目名称:angular,代码行数:33,代码来源:size_validator_spec.ts

示例4: main

export function main() {
  describe('regression slope validator', () => {
    var validator;

    function createValidator({size, metric}) {
      validator = ReflectiveInjector.resolveAndCreate([
                                      RegressionSlopeValidator.PROVIDERS,
                                      provide(RegressionSlopeValidator.METRIC).toValue(metric),
                                      provide(RegressionSlopeValidator.SAMPLE_SIZE).toValue(size)
                                    ])
                      .get(RegressionSlopeValidator);
    }

    it('should return sampleSize and metric as description', () => {
      createValidator({size: 2, metric: 'script'});
      expect(validator.describe()).toEqual({'sampleSize': 2, 'regressionSlopeMetric': 'script'});
    });

    it('should return null while the completeSample is smaller than the given size', () => {
      createValidator({size: 2, metric: 'script'});
      expect(validator.validate([])).toBe(null);
      expect(validator.validate([mv(0, 0, {})])).toBe(null);
    });

    it('should return null while the regression slope is < 0', () => {
      createValidator({size: 2, metric: 'script'});
      expect(validator.validate([mv(0, 0, {'script': 2}), mv(1, 1, {'script': 1})])).toBe(null);
    });

    it('should return the last sampleSize runs when the regression slope is ==0', () => {
      createValidator({size: 2, metric: 'script'});
      var sample = [mv(0, 0, {'script': 1}), mv(1, 1, {'script': 1}), mv(2, 2, {'script': 1})];
      expect(validator.validate(ListWrapper.slice(sample, 0, 2)))
          .toEqual(ListWrapper.slice(sample, 0, 2));
      expect(validator.validate(sample)).toEqual(ListWrapper.slice(sample, 1, 3));
    });

    it('should return the last sampleSize runs when the regression slope is >0', () => {
      createValidator({size: 2, metric: 'script'});
      var sample = [mv(0, 0, {'script': 1}), mv(1, 1, {'script': 2}), mv(2, 2, {'script': 3})];
      expect(validator.validate(ListWrapper.slice(sample, 0, 2)))
          .toEqual(ListWrapper.slice(sample, 0, 2));
      expect(validator.validate(sample)).toEqual(ListWrapper.slice(sample, 1, 3));
    });

  });
}
开发者ID:0xJoKe,项目名称:angular,代码行数:47,代码来源:regression_slope_validator_spec.ts

示例5: main

export function main() {
  function createReporters(ids: any[]) {
    var r = ReflectiveInjector.resolveAndCreate([
                                ids.map(id => provide(id, {useValue: new MockReporter(id)})),
                                MultiReporter.createBindings(ids)
                              ])
                .get(MultiReporter);
    return PromiseWrapper.resolve(r);
  }

  describe('multi reporter', () => {

    it('should reportMeasureValues to all', inject([AsyncTestCompleter], (async) => {
         var mv = new MeasureValues(0, DateWrapper.now(), {});
         createReporters(['m1', 'm2'])
             .then((r) => r.reportMeasureValues(mv))
             .then((values) => {

               expect(values).toEqual([{'id': 'm1', 'values': mv}, {'id': 'm2', 'values': mv}]);
               async.done();
             });
       }));

    it('should reportSample to call', inject([AsyncTestCompleter], (async) => {
         var completeSample = [
           new MeasureValues(0, DateWrapper.now(), {}),
           new MeasureValues(1, DateWrapper.now(), {})
         ];
         var validSample = [completeSample[1]];

         createReporters(['m1', 'm2'])
             .then((r) => r.reportSample(completeSample, validSample))
             .then((values) => {

               expect(values).toEqual([
                 {'id': 'm1', 'completeSample': completeSample, 'validSample': validSample},
                 {'id': 'm2', 'completeSample': completeSample, 'validSample': validSample}
               ]);
               async.done();
             })
       }));

  });
}
开发者ID:0xJoKe,项目名称:angular,代码行数:44,代码来源:multi_reporter_spec.ts

示例6: main

export function main() {
  describe('runner', () => {
    var injector: ReflectiveInjector;
    var runner;

    function createRunner(defaultBindings = null): Runner {
      if (isBlank(defaultBindings)) {
        defaultBindings = [];
      }
      runner = new Runner([
        defaultBindings,
        {
          provide: Sampler,
          useFactory: (_injector) => {
            injector = _injector;
            return new MockSampler();
          },
          deps: [Injector]
        },
        { provide: Metric, useFactory: () => new MockMetric(), deps: []},
        { provide: Validator, useFactory: () => new MockValidator(), deps: []},
        { provide: WebDriverAdapter, useFactory: () => new MockWebDriverAdapter(), deps: []}
      ]);
      return runner;
    }

    it('should set SampleDescription.id', inject([AsyncTestCompleter], (async) => {
         createRunner()
             .sample({id: 'someId'})
             .then((_) => injector.get(SampleDescription))
             .then((desc) => {
               expect(desc.id).toBe('someId');
               async.done();
             });
       }));

    it('should merge SampleDescription.description', inject([AsyncTestCompleter], (async) => {
         createRunner([{provide: Options.DEFAULT_DESCRIPTION, useValue: {'a': 1}}])
             .sample({id: 'someId', providers: [{provide: Options.SAMPLE_DESCRIPTION, useValue: {'b': 2}}]})
             .then((_) => injector.get(SampleDescription))
             .then((desc) => {
               expect(desc.description)
                   .toEqual(
                       {'forceGc': false, 'userAgent': 'someUserAgent', 'a': 1, 'b': 2, 'v': 11});
               async.done();
             });
       }));

    it('should fill SampleDescription.metrics from the Metric',
       inject([AsyncTestCompleter], (async) => {
         createRunner()
             .sample({id: 'someId'})
             .then((_) => injector.get(SampleDescription))
             .then((desc) => {

               expect(desc.metrics).toEqual({'m1': 'some metric'});
               async.done();
             });
       }));

    it('should bind Options.EXECUTE', inject([AsyncTestCompleter], (async) => {
         var execute = () => {};
         createRunner()
             .sample({id: 'someId', execute: execute})
             .then((_) => {
               expect(injector.get(Options.EXECUTE)).toEqual(execute);
               async.done();
             });
       }));

    it('should bind Options.PREPARE', inject([AsyncTestCompleter], (async) => {
         var prepare = () => {};
         createRunner()
             .sample({id: 'someId', prepare: prepare})
             .then((_) => {
               expect(injector.get(Options.PREPARE)).toEqual(prepare);
               async.done();
             });
       }));

    it('should bind Options.MICRO_METRICS', inject([AsyncTestCompleter], (async) => {
         createRunner()
             .sample({id: 'someId', microMetrics: {'a': 'b'}})
             .then((_) => {
               expect(injector.get(Options.MICRO_METRICS)).toEqual({'a': 'b'});
               async.done();
             });
       }));

    it('should overwrite bindings per sample call', inject([AsyncTestCompleter], (async) => {
         createRunner([{provide: Options.DEFAULT_DESCRIPTION, useValue: {'a': 1}}])
             .sample({
               id: 'someId',
               providers: [{provide: Options.DEFAULT_DESCRIPTION, useValue: {'a': 2}}]
             })
             .then((_) => injector.get(SampleDescription))
             .then((desc) => {

               expect(desc.description['a']).toBe(2);
               async.done();
//.........这里部分代码省略.........
开发者ID:4vanger,项目名称:angular,代码行数:101,代码来源:runner_spec.ts

示例7: main

export function main() {
  describe('file reporter', () => {
    var loggedFile;

    function createReporter({sampleId, descriptions, metrics, path}) {
      var bindings = [
        JsonFileReporter.PROVIDERS,
        provide(SampleDescription,
                {useValue: new SampleDescription(sampleId, descriptions, metrics)}),
        bind(JsonFileReporter.PATH).toValue(path),
        bind(Options.NOW).toValue(() => DateWrapper.fromMillis(1234)),
        bind(Options.WRITE_FILE)
            .toValue((filename, content) => {
              loggedFile = {'filename': filename, 'content': content};
              return PromiseWrapper.resolve(null);
            })
      ];
      return ReflectiveInjector.resolveAndCreate(bindings).get(JsonFileReporter);
    }

    it('should write all data into a file', inject([AsyncTestCompleter], (async) => {
         createReporter({
           sampleId: 'someId',
           descriptions: [{'a': 2}],
           path: 'somePath',
           metrics: {'script': 'script time'}
         })
             .reportSample([mv(0, 0, {'a': 3, 'b': 6})],
                           [mv(0, 0, {'a': 3, 'b': 6}), mv(1, 1, {'a': 5, 'b': 9})]);
         var regExp = /somePath\/someId_\d+\.json/g;
         expect(isPresent(RegExpWrapper.firstMatch(regExp, loggedFile['filename']))).toBe(true);
         var parsedContent = Json.parse(loggedFile['content']);
         expect(parsedContent)
             .toEqual({
               "description":
                   {"id": "someId", "description": {"a": 2}, "metrics": {"script": "script time"}},
               "completeSample": [
                 {
                   "timeStamp": "1970-01-01T00:00:00.000Z",
                   "runIndex": 0,
                   "values": {"a": 3, "b": 6}
                 }
               ],
               "validSample": [
                 {
                   "timeStamp": "1970-01-01T00:00:00.000Z",
                   "runIndex": 0,
                   "values": {"a": 3, "b": 6}
                 },
                 {
                   "timeStamp": "1970-01-01T00:00:00.001Z",
                   "runIndex": 1,
                   "values": {"a": 5, "b": 9}
                 }
               ]
             });
         async.done();
       }));

  });
}
开发者ID:0xJoKe,项目名称:angular,代码行数:61,代码来源:json_file_reporter_spec.ts

示例8: describe

    describe('readPerfLog (common)', () => {

      it('should execute a dummy script before reading them',
         inject([AsyncTestCompleter], (async) => {
           // TODO(tbosch): This seems to be a bug in ChromeDriver:
           // Sometimes it does not report the newest events of the performance log
           // to the WebDriver client unless a script is executed...
           createExtension([]).readPerfLog().then((_) => {
             expect(log).toEqual([['executeScript', '1+1'], ['logs', 'performance']]);
             async.done();
           });
         }));

      ['Rasterize', 'CompositeLayers'].forEach((recordType) => {
        it(`should report ${recordType} as "render"`, inject([AsyncTestCompleter], (async) => {
             createExtension(
                 [
                   chromeTimelineEvents.start(recordType, 1234),
                   chromeTimelineEvents.end(recordType, 2345)
                 ],
                 CHROME45_USER_AGENT)
                 .readPerfLog()
                 .then((events) => {
                   expect(events).toEqual([
                     normEvents.start('render', 1.234),
                     normEvents.end('render', 2.345),
                   ]);
                   async.done();
                 });
           }));
      });

      describe('frame metrics', () => {
        it('should report ImplThreadRenderingStats as frame event',
           inject([AsyncTestCompleter], (async) => {
             createExtension([
               benchmarkEvents.instant('BenchmarkInstrumentation::ImplThreadRenderingStats', 1100,
                                       {'data': {'frame_count': 1}})
             ])
                 .readPerfLog()
                 .then((events) => {
                   expect(events).toEqual([
                     normEvents.create('i', 'frame', 1.1),
                   ]);
                   async.done();
                 });
           }));

        it('should not report ImplThreadRenderingStats with zero frames',
           inject([AsyncTestCompleter], (async) => {
             createExtension([
               benchmarkEvents.instant('BenchmarkInstrumentation::ImplThreadRenderingStats', 1100,
                                       {'data': {'frame_count': 0}})
             ])
                 .readPerfLog()
                 .then((events) => {
                   expect(events).toEqual([]);
                   async.done();
                 });
           }));

        it('should throw when ImplThreadRenderingStats contains more than one frame',
           inject([AsyncTestCompleter], (async) => {
             PromiseWrapper.catchError(
                 createExtension([
                   benchmarkEvents.instant('BenchmarkInstrumentation::ImplThreadRenderingStats',
                                           1100, {'data': {'frame_count': 2}})
                 ]).readPerfLog(),
                 (err): any => {
                   expect(() => { throw err; })
                       .toThrowError('multi-frame render stats not supported');
                   async.done();
                 });
           }));

      });

      it('should report begin timestamps', inject([AsyncTestCompleter], (async) => {
           createExtension([blinkEvents.create('S', 'someName', 1000)])
               .readPerfLog()
               .then((events) => {
                 expect(events).toEqual([normEvents.markStart('someName', 1.0)]);
                 async.done();
               });
         }));

      it('should report end timestamps', inject([AsyncTestCompleter], (async) => {
           createExtension([blinkEvents.create('F', 'someName', 1000)])
               .readPerfLog()
               .then((events) => {
                 expect(events).toEqual([normEvents.markEnd('someName', 1.0)]);
                 async.done();
               });
         }));

      it('should throw an error on buffer overflow', inject([AsyncTestCompleter], (async) => {
           PromiseWrapper.catchError(
               createExtension(
                   [
                     chromeTimelineEvents.start('FunctionCall', 1234),
//.........这里部分代码省略.........
开发者ID:2blessed2bstressedbythedevilsmess,项目名称:angular,代码行数:101,代码来源:chrome_driver_extension_spec.ts

示例9: describe

  describe('ios driver extension', () => {
    var log;
    var extension;

    var normEvents = new TraceEventFactory('timeline', 'pid0');

    function createExtension(perfRecords = null): WebDriverExtension {
      if (isBlank(perfRecords)) {
        perfRecords = [];
      }
      log = [];
      extension = ReflectiveInjector.resolveAndCreate([
                                      IOsDriverExtension.BINDINGS,
                                      provide(WebDriverAdapter,
                                              {useValue: new MockDriverAdapter(log, perfRecords)})
                                    ])
                      .get(IOsDriverExtension);
      return extension;
    }

    it('should throw on forcing gc', () => {
      expect(() => createExtension().gc()).toThrowError('Force GC is not supported on iOS');
    });

    it('should mark the timeline via console.time()', inject([AsyncTestCompleter], (async) => {
         createExtension()
             .timeBegin('someName')
             .then((_) => {
               expect(log).toEqual([['executeScript', `console.time('someName');`]]);
               async.done();
             });
       }));

    it('should mark the timeline via console.timeEnd()', inject([AsyncTestCompleter], (async) => {
         createExtension()
             .timeEnd('someName', null)
             .then((_) => {
               expect(log).toEqual([['executeScript', `console.timeEnd('someName');`]]);
               async.done();
             });
       }));

    it('should mark the timeline via console.time() and console.timeEnd()',
       inject([AsyncTestCompleter], (async) => {
         createExtension()
             .timeEnd('name1', 'name2')
             .then((_) => {
               expect(log)
                   .toEqual([['executeScript', `console.timeEnd('name1');console.time('name2');`]]);
               async.done();
             });
       }));

    describe('readPerfLog', () => {

      it('should execute a dummy script before reading them',
         inject([AsyncTestCompleter], (async) => {
           // TODO(tbosch): This seems to be a bug in ChromeDriver:
           // Sometimes it does not report the newest events of the performance log
           // to the WebDriver client unless a script is executed...
           createExtension([]).readPerfLog().then((_) => {
             expect(log).toEqual([['executeScript', '1+1'], ['logs', 'performance']]);
             async.done();
           });
         }));

      it('should report FunctionCall records as "script"', inject([AsyncTestCompleter], (async) => {
           createExtension([durationRecord('FunctionCall', 1, 5)])
               .readPerfLog()
               .then((events) => {
                 expect(events)
                     .toEqual([normEvents.start('script', 1), normEvents.end('script', 5)]);
                 async.done();
               });
         }));

      it('should ignore FunctionCalls from webdriver', inject([AsyncTestCompleter], (async) => {
           createExtension([internalScriptRecord(1, 5)])
               .readPerfLog()
               .then((events) => {
                 expect(events).toEqual([]);
                 async.done();
               });
         }));

      it('should report begin time', inject([AsyncTestCompleter], (async) => {
           createExtension([timeBeginRecord('someName', 12)])
               .readPerfLog()
               .then((events) => {
                 expect(events).toEqual([normEvents.markStart('someName', 12)]);
                 async.done();
               });
         }));

      it('should report end timestamps', inject([AsyncTestCompleter], (async) => {
           createExtension([timeEndRecord('someName', 12)])
               .readPerfLog()
               .then((events) => {
                 expect(events).toEqual([normEvents.markEnd('someName', 12)]);
                 async.done();
//.........这里部分代码省略.........
开发者ID:2blessed2bstressedbythedevilsmess,项目名称:angular,代码行数:101,代码来源:ios_driver_extension_spec.ts


注:本文中的@angular/testing/testing_internal.describe函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。