Adding mapbox-gl branch
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
// Copyright 2009 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS-IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
goog.provide('goog.debug.ErrorTest');
|
||||
goog.setTestOnly('goog.debug.ErrorTest');
|
||||
|
||||
goog.require('goog.debug.Error');
|
||||
goog.require('goog.testing.ExpectedFailures');
|
||||
goog.require('goog.testing.jsunit');
|
||||
goog.require('goog.userAgent');
|
||||
goog.require('goog.userAgent.product');
|
||||
|
||||
var expectedFailures;
|
||||
|
||||
function setUpPage() {
|
||||
expectedFailures = new goog.testing.ExpectedFailures();
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
expectedFailures.handleTearDown();
|
||||
}
|
||||
|
||||
function testError() {
|
||||
function xxxxx() {
|
||||
yyyyy();
|
||||
}
|
||||
function yyyyy() {
|
||||
zzzzz();
|
||||
}
|
||||
function zzzzz() {
|
||||
throw new goog.debug.Error('testing');
|
||||
}
|
||||
|
||||
var stack = null, message = null;
|
||||
try {
|
||||
xxxxx();
|
||||
} catch (e) {
|
||||
message = e.message;
|
||||
if (e.stack) {
|
||||
stack = e.stack.split('\n');
|
||||
}
|
||||
}
|
||||
|
||||
assertEquals('Message property should be set', 'testing', message);
|
||||
|
||||
expectedFailures.expectFailureFor(
|
||||
(goog.userAgent.IE && !goog.userAgent.isVersionOrHigher('10')) ||
|
||||
goog.userAgent.product.SAFARI || (
|
||||
goog.userAgent.product.CHROME &&
|
||||
!goog.userAgent.isVersionOrHigher(532)),
|
||||
'error.stack is not widely supported');
|
||||
|
||||
try {
|
||||
assertNotNull(stack);
|
||||
|
||||
if (goog.userAgent.product.FIREFOX &&
|
||||
goog.userAgent.isVersionOrHigher('2.0')) {
|
||||
// Firefox 4 and greater does not have the first line that says
|
||||
// 'Error'. So we insert a dummy line to simplify the test.
|
||||
stack.splice(0, 0, 'Error');
|
||||
}
|
||||
|
||||
// If the stack trace came from a synthetic Error object created
|
||||
// inside the goog.debug.Error constructor, it will have an extra frame
|
||||
// at stack[1]. If it came from captureStackTrace or was attached
|
||||
// by IE when the error was caught, it will not.
|
||||
if (!Error.captureStackTrace && !goog.userAgent.IE) {
|
||||
stack.splice(1, 1); // Remove stack[1].
|
||||
}
|
||||
|
||||
assertContains(
|
||||
'1st line of stack should have "Error"', 'Error', stack[0]);
|
||||
assertContains(
|
||||
'2nd line of stack should have "zzzzz"', 'zzzzz', stack[1]);
|
||||
assertContains(
|
||||
'3rd line of stack should have "yyyyy"', 'yyyyy', stack[2]);
|
||||
assertContains(
|
||||
'4th line of stack should have "xxxxx"', 'xxxxx', stack[3]);
|
||||
} catch (e) {
|
||||
expectedFailures.handleException(e);
|
||||
}
|
||||
}
|
||||
|
||||
function testInheriting() {
|
||||
function MyError() {
|
||||
goog.debug.Error.call(this);
|
||||
}
|
||||
goog.inherits(MyError, goog.debug.Error);
|
||||
MyError.prototype.message = 'My custom error';
|
||||
|
||||
var message = null;
|
||||
try {
|
||||
throw new MyError();
|
||||
} catch (e) {
|
||||
message = e.message;
|
||||
}
|
||||
assertEquals('My custom error', message);
|
||||
}
|
||||
Reference in New Issue
Block a user