UNPKG

accessibility-developer-tools

Version:

This is a library of accessibility-related testing and utility code.

119 lines (102 loc) 3.5 kB
<!DOCTYPE html> <html> <!-- Copyright 2007 The Closure Library Authors. All Rights Reserved. Use of this source code is governed by the Apache License, Version 2.0. See the COPYING file for details. --> <head> <title>Debug</title> <script type="text/javascript" src="../base.js"></script> <script type="text/javascript"> goog.require('goog.debug'); goog.require('goog.debug.FancyWindow'); goog.require('goog.log'); /** * Person - a sample person object. * @param {string} name The name * @param {number} age The age */ var Person = function(name, age) { this.name_ = name; this.age_ = age; this.address_ = null; this.kids_ = []; /** * Set the address. * @param {string} address The address to set */ this.setAddress = function(address) { this.address_ = address; } /** * Add a child. * @param {Object} child The child to add */ this.addChild = function(child) { this.kids_.push(child); } /** * Create a string representation of the object. * @return {string} The object as a string */ this.toString = function() { return 'Person name: ' + this.name_ + ' Age: ' + this.age_; } } /** * Demonstrate the debug options. */ var demoDebug = function() { // Create the debug window. var debugWindow = new goog.debug.FancyWindow('main'); debugWindow.setEnabled(true); debugWindow.init(); // Create a logger. var theLogger = goog.log.getLogger('demo'); goog.log.info(theLogger, 'Logging examples'); // Create a simple object. var someone = {'name': 'joe', 'age': 33, 'gender': 'm', 'kids': ['jen', 'sam', 'oliver'], 'address': '233 Great Road, Axtonhammer, MD'}; // Show the object, note that it will output '[object Object]'. goog.log.info(theLogger, someone); // Use expose to walk through the object and show all data. goog.log.info(theLogger, 'Person: '+ goog.debug.expose(someone)); // Now create a Person object to demonstrate expose w/functions. var pObj = new Person('fred', 2); // Add a child, and an address. pObj.addChild(someone); pObj.setAddress('1 broadway, ny, ny'); // The toString will be called. goog.log.info(theLogger, 'toString: '+ pObj); // Does not show the functions by default. goog.log.info(theLogger, 'expose (no functions): ' + goog.debug.expose(pObj)); // You can specify false if you really want to. goog.log.info(theLogger, 'expose (no functions): ' + goog.debug.expose(pObj, false)); // Shows the functions as well. goog.log.info(theLogger, 'expose (w/functions): ' + goog.debug.expose(pObj, true)); // Show deepExpose, which walks recursively through data. goog.log.info(theLogger, 'deepExpose (no functions): '+ goog.debug.deepExpose(pObj)); // You can specify false if you really want to. goog.log.info(theLogger, 'deepExpose (no functions): '+ goog.debug.deepExpose(pObj, false)); goog.log.info(theLogger, 'deepExpose (w/functions): '+ goog.debug.deepExpose(pObj, true)); goog.log.log(theLogger, goog.log.Level.SHOUT, 'shout'); goog.log.error(theLogger, 'severe'); goog.log.warning(theLogger, 'warning'); goog.log.info(theLogger, 'info'); goog.log.fine(theLogger, 'fine'); } </script> <body> Look in the log window for debugging examples. </body> <script> // Call the demo method. demoDebug(); </script> </html>