Adding mapbox-gl branch
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
// Copyright 2008 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.debugTest');
|
||||
goog.setTestOnly('goog.debugTest');
|
||||
|
||||
goog.require('goog.debug');
|
||||
goog.require('goog.html.SafeHtml');
|
||||
goog.require('goog.structs.Set');
|
||||
goog.require('goog.testing.jsunit');
|
||||
|
||||
function testExposeException() {
|
||||
var expected =
|
||||
'Message: message"<br>' +
|
||||
'Url: <a href="view-source:http://fileName%22" ' +
|
||||
'target="_new">http://fileName"</a><br>' +
|
||||
'Line: lineNumber"<br><br>' +
|
||||
'Browser stack:<br>' +
|
||||
'stack"-> [end]';
|
||||
var error = {
|
||||
message: 'message"',
|
||||
fileName: 'http://fileName"',
|
||||
lineNumber: 'lineNumber"',
|
||||
stack: 'stack"'
|
||||
};
|
||||
var actualHtml = goog.debug.exposeExceptionAsHtml(error);
|
||||
var actual = goog.html.SafeHtml.unwrap(actualHtml);
|
||||
actual = actual.substring(0, expected.length);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
function testMakeWhitespaceVisible() {
|
||||
assertEquals(
|
||||
'Hello[_][_]World![r][n]\n' +
|
||||
'[r][n]\n' +
|
||||
'[f][f]I[_]am[t][t]here![r][n]\n',
|
||||
goog.debug.makeWhitespaceVisible(
|
||||
'Hello World!\r\n\r\n\f\fI am\t\there!\r\n'));
|
||||
}
|
||||
|
||||
function testGetFunctionName() {
|
||||
// Trivial resolver that matches just a few names: a static function, a
|
||||
// constructor, and a member function.
|
||||
var resolver = function(f) {
|
||||
if (f === goog.debug.getFunctionName) {
|
||||
return 'goog.debug.getFunctionName';
|
||||
} else if (f === goog.structs.Set) {
|
||||
return 'goog.structs.Set';
|
||||
} else if (f === goog.structs.Set.prototype.getCount) {
|
||||
return 'goog.structs.Set.getCount';
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
goog.debug.setFunctionResolver(resolver);
|
||||
|
||||
assertEquals(
|
||||
'goog.debug.getFunctionName',
|
||||
goog.debug.getFunctionName(goog.debug.getFunctionName));
|
||||
assertEquals(
|
||||
'goog.structs.Set',
|
||||
goog.debug.getFunctionName(goog.structs.Set));
|
||||
var set = new goog.structs.Set();
|
||||
assertEquals(
|
||||
'goog.structs.Set.getCount',
|
||||
goog.debug.getFunctionName(set.getCount));
|
||||
|
||||
// This function is matched by the fallback heuristic.
|
||||
assertEquals(
|
||||
'testGetFunctionName',
|
||||
goog.debug.getFunctionName(testGetFunctionName));
|
||||
|
||||
goog.debug.setFunctionResolver(null);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Asserts that a substring can be found in a specified text string.
|
||||
*
|
||||
* @param {string} substring The substring to search for.
|
||||
* @param {string} text The text string to search within.
|
||||
*/
|
||||
function assertContainsSubstring(substring, text) {
|
||||
assertNotEquals('Could not find "' + substring + '" in "' + text + '"',
|
||||
-1, text.search(substring));
|
||||
}
|
||||
|
||||
|
||||
function testDeepExpose() {
|
||||
var a = {};
|
||||
var b = {};
|
||||
a.ancestor = a;
|
||||
a.otherObject = b;
|
||||
a.otherObjectAgain = b;
|
||||
|
||||
var deepExpose = goog.debug.deepExpose(a);
|
||||
|
||||
assertContainsSubstring('ancestor = ... reference loop detected ...',
|
||||
deepExpose);
|
||||
|
||||
assertContainsSubstring('otherObjectAgain = {', deepExpose);
|
||||
}
|
||||
Reference in New Issue
Block a user