com.google.caja.parser.js
Class JsFunFuzz

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by com.google.caja.util.CajaTestCase
              extended by com.google.caja.parser.js.JsFunFuzz
All Implemented Interfaces:
junit.framework.Test

public class JsFunFuzz
extends CajaTestCase

Fuzzer for testing JS parsing using jsfunfuzz

Author:
jasvir@google.com (Jasvir Nagra)

Field Summary
private  int MAX_NUMBER_OF_TESTS
          Number of fuzzed cases to generate
 
Fields inherited from class com.google.caja.util.CajaTestCase
is, mc, mq, SEED
 
Constructor Summary
JsFunFuzz()
           
 
Method Summary
private  java.lang.String fudgeroonify()
          Generate and return a new javascript string
private  java.lang.String generateTestCase(java.lang.String testCase, int testCount, java.lang.String e)
          Generates a snippet of Java code suitable for pasting into a JUnit test
private  java.lang.String quoteAndWrap(java.lang.String testCase)
          Linewraps test cases at the 60 character boundary Useful for generating java test cases for pasting into a JUnit test which meet the style guide
 void testParsesFuzz()
          Test parser against a snippet of fuzzed javascript Fail if the parser throws anything other than a ParseException.
 
Methods inherited from class com.google.caja.util.CajaTestCase
assertArrayEquals, assertCloneable, assertDeepEquals, assertMessage, assertMessage, assertMessagesLessSevereThan, assertNoErrors, assertNoMessage, assertNoWarnings, checkHeadless, css, css, cssDecls, cssDecls, dataFromResource, formatShort, fromResource, fromResource, fromString, fromString, fromString, html, htmlFragment, js, js, js, jsExpr, jsExpr, markup, markupFragment, minify, plain, quasi, render, render, renderProgram, runTest, setUp, tearDown, xml, xmlFragment
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_NUMBER_OF_TESTS

private final int MAX_NUMBER_OF_TESTS
Number of fuzzed cases to generate

See Also:
Constant Field Values
Constructor Detail

JsFunFuzz

public JsFunFuzz()
Method Detail

fudgeroonify

private java.lang.String fudgeroonify()
Generate and return a new javascript string

Returns:
snippet of fuzzed javascript

quoteAndWrap

private java.lang.String quoteAndWrap(java.lang.String testCase)
Linewraps test cases at the 60 character boundary Useful for generating java test cases for pasting into a JUnit test which meet the style guide


generateTestCase

private java.lang.String generateTestCase(java.lang.String testCase,
                                          int testCount,
                                          java.lang.String e)
Generates a snippet of Java code suitable for pasting into a JUnit test


testParsesFuzz

public final void testParsesFuzz()
Test parser against a snippet of fuzzed javascript Fail if the parser throws anything other than a ParseException. Formats and prints the failing case to stderr for pasting in to JUnit tests



Copyright (C) 2008 Google Inc.
Licensed under the Apache License, Version 2.0