mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 17:56:01 +02:00
Added tests for CatchByReference
This commit is contained in:
parent
81d62c4f03
commit
b7eb03f5f9
2 changed files with 115 additions and 0 deletions
|
@ -0,0 +1,113 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2009 Alena Laskavaia
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* Alena Laskavaia - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.codan.core.internal.checkers;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.codan.core.test.CheckerTestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test for {@see CatchByReference} class
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class CatchByReferenceTest extends CheckerTestCase {
|
||||||
|
public boolean isCpp() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// void main() {
|
||||||
|
// try {
|
||||||
|
// foo();
|
||||||
|
// } catch (int e) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
public void test_int() {
|
||||||
|
loadCodeAndRun(getAboveComment());
|
||||||
|
checkNoErrors();
|
||||||
|
}
|
||||||
|
// class C {};
|
||||||
|
// void main() {
|
||||||
|
// try {
|
||||||
|
// foo();
|
||||||
|
// } catch (C e) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
public void test_class() {
|
||||||
|
loadCodeAndRun(getAboveComment());
|
||||||
|
checkErrorLine(5);
|
||||||
|
}
|
||||||
|
// class C {};
|
||||||
|
// void main() {
|
||||||
|
// try {
|
||||||
|
// foo();
|
||||||
|
// } catch (C & e) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
public void test_class_ref() {
|
||||||
|
loadCodeAndRun(getAboveComment());
|
||||||
|
checkNoErrors();
|
||||||
|
}
|
||||||
|
|
||||||
|
// class C {};
|
||||||
|
// void main() {
|
||||||
|
// try {
|
||||||
|
// foo();
|
||||||
|
// } catch (C * e) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
public void test_class_point() {
|
||||||
|
loadCodeAndRun(getAboveComment());
|
||||||
|
checkNoErrors();
|
||||||
|
}
|
||||||
|
// typedef int A;
|
||||||
|
// void main() {
|
||||||
|
// try {
|
||||||
|
// foo();
|
||||||
|
// } catch (A e) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
public void test_int_typedef() {
|
||||||
|
loadCodeAndRun(getAboveComment());
|
||||||
|
checkNoErrors();
|
||||||
|
}
|
||||||
|
// typedef int A;
|
||||||
|
// typedef A B;
|
||||||
|
// void main() {
|
||||||
|
// try {
|
||||||
|
// foo();
|
||||||
|
// } catch (B e) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
public void test_int_typedef2() {
|
||||||
|
loadCodeAndRun(getAboveComment());
|
||||||
|
checkNoErrors();
|
||||||
|
}
|
||||||
|
// void main() {
|
||||||
|
// try {
|
||||||
|
// foo();
|
||||||
|
// } catch (C e) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
public void test_class_unknown() {
|
||||||
|
loadCodeAndRun(getAboveComment());
|
||||||
|
checkErrorLine(4);
|
||||||
|
}
|
||||||
|
// class C {};
|
||||||
|
// typedef C B;
|
||||||
|
// void main() {
|
||||||
|
// try {
|
||||||
|
// foo();
|
||||||
|
// } catch (B e) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
public void test_class_typedef() {
|
||||||
|
loadCodeAndRun(getAboveComment());
|
||||||
|
checkErrorLine(6);
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,6 +14,7 @@ package org.eclipse.cdt.codan.core.test;
|
||||||
import junit.framework.Test;
|
import junit.framework.Test;
|
||||||
import junit.framework.TestSuite;
|
import junit.framework.TestSuite;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.codan.core.internal.checkers.CatchByReferenceTest;
|
||||||
import org.eclipse.cdt.codan.core.internal.checkers.ExpressionRequiredInReturnCheckerTest;
|
import org.eclipse.cdt.codan.core.internal.checkers.ExpressionRequiredInReturnCheckerTest;
|
||||||
import org.eclipse.cdt.codan.core.internal.checkers.StatementHasNoEffectCheckerTest;
|
import org.eclipse.cdt.codan.core.internal.checkers.StatementHasNoEffectCheckerTest;
|
||||||
import org.eclipse.cdt.codan.core.internal.checkers.SuggestedParenthesisCheckerTest;
|
import org.eclipse.cdt.codan.core.internal.checkers.SuggestedParenthesisCheckerTest;
|
||||||
|
@ -39,6 +40,7 @@ public class AutomatedIntegrationSuite extends TestSuite {
|
||||||
suite.addTestSuite(StatementHasNoEffectCheckerTest.class);
|
suite.addTestSuite(StatementHasNoEffectCheckerTest.class);
|
||||||
suite.addTestSuite(SuggestedParenthesisCheckerTest.class);
|
suite.addTestSuite(SuggestedParenthesisCheckerTest.class);
|
||||||
suite.addTestSuite(ExpressionRequiredInReturnCheckerTest.class);
|
suite.addTestSuite(ExpressionRequiredInReturnCheckerTest.class);
|
||||||
|
suite.addTestSuite(CatchByReferenceTest.class);
|
||||||
return suite;
|
return suite;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue