package cmu.defect4j.google.javascript.jscomp; import gov.nasa.jpf.util.test.TestJPF; import org.junit.Test; import junit.framework.TestCase; public class VariableReferenceCheckTest extends TestJPF { private final String[] config = {"+nhandler.delegateUnhandledNative", "+classpath+=${jpf-core}/lib/junit-4.11.jar,lib/compiler.jar"}; public static void main(String[] testMethods){ runTestsOfThisClass(testMethods); } @Test(timeout=120000) public void testUnreferencedBleedingFunction() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testUnreferencedBleedingFunction(); } }; testcase.run(); } } @Test(timeout=120000) public void testReferencedBleedingFunction() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testReferencedBleedingFunction(); } }; testcase.run(); } } @Test(timeout=120000) public void testCorrectCode() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testCorrectCode(); } }; testcase.run(); } } @Test(timeout=120000) public void testCorrectShadowing() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testCorrectShadowing(); } }; testcase.run(); } } @Test(timeout=120000) public void testCorrectRedeclare() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testCorrectRedeclare(); } }; testcase.run(); } } @Test(timeout=120000) public void testCorrectRecursion() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testCorrectRecursion(); } }; testcase.run(); } } @Test(timeout=120000) public void testCorrectCatch() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testCorrectCatch(); } }; testcase.run(); } } @Test(timeout=120000) public void testRedeclare() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testRedeclare(); } }; testcase.run(); } } @Test(timeout=120000) public void testEarlyReference() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testEarlyReference(); } }; testcase.run(); } } @Test(timeout=120000) public void testCorrectEarlyReference() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testCorrectEarlyReference(); } }; testcase.run(); } } @Test(timeout=120000) public void testDoubleDeclaration() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testDoubleDeclaration(); } }; testcase.run(); } } @Test(timeout=120000) public void testDoubleDeclaration2() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testDoubleDeclaration2(); } }; testcase.run(); } } @Test(timeout=120000) public void testHoistedFunction1() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testHoistedFunction1(); } }; testcase.run(); } } @Test(timeout=120000) public void testHoistedFunction2() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testHoistedFunction2(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedFunction() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedFunction(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedFunction2() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedFunction2(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedFunction3() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedFunction3(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedFunction4() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedFunction4(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedFunction5() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedFunction5(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedFunction6() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedFunction6(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedFunction7() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedFunction7(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedRecursiveFunction1() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedRecursiveFunction1(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedRecursiveFunction2() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedRecursiveFunction2(); } }; testcase.run(); } } @Test(timeout=120000) public void testNonHoistedRecursiveFunction3() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNonHoistedRecursiveFunction3(); } }; testcase.run(); } } @Test(timeout=120000) public void testNoWarnInExterns1() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNoWarnInExterns1(); } }; testcase.run(); } } @Test(timeout=120000) public void testNoWarnInExterns2() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.VariableReferenceCheckTest() { public void runTest() throws Exception { testNoWarnInExterns2(); } }; testcase.run(); } } }