Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(408)

Unified Diff: pkg/analysis_server/test/services/refactoring/extract_method_test.dart

Issue 871013012: Issue 22188. Verify that none or all execution flows return. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixes for review comments. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/test/services/refactoring/extract_method_test.dart
diff --git a/pkg/analysis_server/test/services/refactoring/extract_method_test.dart b/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
index 98de0cab65ed56dd747b35a3e7eba6470ef42afd..95c05a5da76e45da150d9d71f855ef7d00496ce4 100644
--- a/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
@@ -424,6 +424,21 @@ main() {
"Extend selection to a valid range.");
}
+ test_bad_statements_exit_notAllExecutionFlows() {
+ indexTestUnit('''
+main(int p) {
+// start
+ if (p == 0) {
+ return;
+ }
+// end
+ print(p);
+}
+''');
+ _createRefactoringForStartEndComments();
+ return _assertConditionsError(ExtractMethodRefactoringImpl.ERROR_EXITS);
+ }
+
test_bad_statements_return_andAssignsVariable() {
indexTestUnit('''
main() {
@@ -2080,6 +2095,21 @@ void res() {
''');
}
+ test_statements_exit_throws() async {
+ indexTestUnit('''
+main(int p) {
+// start
+ if (p == 0) {
+ return;
+ }
+ throw 'boo!';
+// end
+}
+''');
+ _createRefactoringForStartEndComments();
+ await assertRefactoringConditionsOK();
+ }
+
test_statements_inSwitchMember() {
indexTestUnit('''
class A {
@@ -2292,8 +2322,10 @@ int res() {
main(bool b) {
// start
if (b) {
+ print(true);
return <int>[];
} else {
+ print(false);
return <String>[];
}
// end
@@ -2310,8 +2342,10 @@ main(bool b) {
List res(bool b) {
if (b) {
+ print(true);
return <int>[];
} else {
+ print(false);
return <String>[];
}
}
« no previous file with comments | « pkg/analysis_server/lib/src/services/refactoring/extract_method.dart ('k') | pkg/analyzer/lib/src/generated/resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698