123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- goog.provide('goog.testing.ExpectedFailuresTest');
- goog.setTestOnly('goog.testing.ExpectedFailuresTest');
- goog.require('goog.debug.Logger');
- goog.require('goog.testing.ExpectedFailures');
- goog.require('goog.testing.JsUnitException');
- goog.require('goog.testing.TestCase');
- goog.require('goog.testing.jsunit');
- var count, expectedFailures, lastLevel, lastMessage;
- goog.testing.ExpectedFailures.prototype.logger_.log = function(level, message) {
- lastLevel = level;
- lastMessage = message;
- count++;
- };
- function setUp() {
-
- goog.testing.TestCase.getActiveTestCase().failOnUnreportedAsserts = false;
- expectedFailures = new goog.testing.ExpectedFailures();
- count = 0;
- lastLevel = lastMessage = '';
- }
- function testNoExpectedFailure() {
- expectedFailures.handleTearDown();
- }
- function testPreventExpectedFailure() {
- expectedFailures.expectFailureFor(true);
- expectedFailures.handleException(new goog.testing.JsUnitException('', ''));
- assertEquals('Should have logged a message', 1, count);
- assertEquals(
- 'Should have logged an info message', goog.debug.Logger.Level.INFO,
- lastLevel);
- assertContains(
- 'Should log a suppression message', 'Suppressing test failure',
- lastMessage);
- expectedFailures.handleTearDown();
- assertEquals('Should not have logged another message', 1, count);
- }
- function testDoNotPreventException() {
- var ex = 'exception';
- expectedFailures.expectFailureFor(false);
- var e = assertThrows('Should have rethrown exception', function() {
- expectedFailures.handleException(ex);
- });
- assertEquals('Should rethrow same exception', ex, e);
- }
- function testExpectedFailureDidNotOccur() {
- expectedFailures.expectFailureFor(true);
- expectedFailures.handleTearDown();
- assertEquals('Should have logged a message', 1, count);
- assertEquals(
- 'Should have logged a warning', goog.debug.Logger.Level.WARNING,
- lastLevel);
- assertContains(
- 'Should log a suppression message', 'Expected a test failure',
- lastMessage);
- }
- function testRun() {
- expectedFailures.expectFailureFor(true);
- expectedFailures.run(function() { fail('Expected failure'); });
- assertEquals('Should have logged a message', 1, count);
- assertEquals(
- 'Should have logged an info message', goog.debug.Logger.Level.INFO,
- lastLevel);
- assertContains(
- 'Should log a suppression message', 'Suppressing test failure',
- lastMessage);
- expectedFailures.handleTearDown();
- assertEquals('Should not have logged another message', 1, count);
- }
- function testRunStrict() {
- expectedFailures.expectFailureFor(true);
- var ex = assertThrows(function() {
- expectedFailures.run(function() {
-
- });
- });
- assertContains(
- "Expected a test failure in 'testRunStrict' but the test passed.",
- ex.message);
- }
- function testRunLenient() {
- expectedFailures.expectFailureFor(true);
- expectedFailures.run(function() {
-
- }, true);
- expectedFailures.handleTearDown();
- assertEquals('Should have logged a message', 1, count);
- assertEquals(
- 'Should have logged a warning', goog.debug.Logger.Level.WARNING,
- lastLevel);
- assertContains(
- 'Should log a suppression message', 'Expected a test failure',
- lastMessage);
- }
|