[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/js/js_tests/cases/ -> exception_test.html (source)

   1  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   2          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   3  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   4  <head>
   5    <title>Limb3 JS Tests</title>
   6    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   7    <script src="../lib/prototype.js" type="text/javascript"></script>
   8    <script src="../lib/unittest.js" type="text/javascript"></script>
   9  
  10    <script src="../../shared/limb.js" type="text/javascript"></script>
  11    <script src="../../shared/limb/Browser.js" type="text/javascript"></script>
  12    <link rel="stylesheet" href="../test.css" type="text/css" />
  13  </head>
  14  <body>
  15  <h1>Limb.Exception test</h1>
  16  
  17  <!-- Log output -->
  18  <div id="testlog"> </div>
  19  
  20  <!-- Tests follow -->
  21  <script type="text/javascript" language="javascript" charset="utf-8">
  22  // <![CDATA[
  23  
  24  new Test.Unit.Runner({
  25    testThrowException: function()
  26    {
  27      try
  28      {
  29        throw new Limb.Exception('TestException', 'This is a test message');
  30      }
  31      catch(error)
  32      {
  33        this.assertEqual('TestException', error.getType(), 'Type is no set');
  34        this.assertEqual('This is a test message', error.getMessage(), 'Message is no set');
  35        this.assert(error.getStack(), 'Stack is no set');
  36        this.assert(error.getLineNumber(), 'LineNumber is no set');
  37        this.assert(error.getFileName()), 'FileName is no set';
  38      }
  39    },
  40  
  41    testWrapNativeException: function()
  42    {
  43      try
  44      {
  45        Some.object = 5;
  46      }
  47      catch(error)
  48      {
  49        var ex = new Limb.Exception(error);
  50        this.assert(ex.getMessage(), 'Message is not set');
  51        this.assert(ex.getType(), 'Type is not set');
  52        this.assert(ex.getStack(), 'Stack is not set');
  53        this.assert(ex.getFileName(), 'FileName is not set');
  54        this.assert(ex.getLineNumber(), 'LineNumber is not set');
  55  
  56        this.assertEqual(error.message, ex.getMessage(), 'Message not copied from native exception');
  57  
  58        if(Limb.Browser.is_ie)
  59        {
  60          this.assertEqual('LimbException', ex.getType(), 'Default Type not assigned');
  61          this.assertEqual('Stack is not available', ex.getStack(), 'Default Stack not assigned');
  62          this.assertEqual('File name is not available', ex.getFileName(), 'Default FileName not assigned');
  63          this.assertEqual('Line number is not available', ex.getLineNumber(), 'Default LineNumber not assigned');
  64        }
  65        else
  66        {
  67          this.assertEqual(error.stack, ex.getStack(), 'Stack not copied from native exception');
  68          this.assertEqual(error.fileName, ex.getFileName(), 'FileName not copied from native exception');
  69          this.assertEqual(error.lineNumber, ex.getLineNumber(), 'LineNumber not copied from native exception');
  70        }
  71      }
  72    },
  73  
  74    testToString: function()
  75    {
  76      var ex = new Limb.Exception('TestException');
  77      this.assertEqual('[ exception TestException ]', ex.toString());
  78    }
  79  });
  80  
  81  // ]]>
  82  </script>
  83  </body>
  84  </html>


Generated: Tue Oct 7 05:02:03 2008 Cross-referenced by PHPXref 0.7