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

Unified Diff: corelib/src/expect.dart

Issue 8528050: Fix throwing ObjectNotClosure instead of null exception if closure is null. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years, 1 month 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
« no previous file with comments | « no previous file | runtime/lib/integers.dart » ('j') | runtime/vm/code_generator.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: corelib/src/expect.dart
===================================================================
--- corelib/src/expect.dart (revision 1524)
+++ corelib/src/expect.dart (working copy)
@@ -127,56 +127,58 @@
String msg = _getMessage(reason);
String defaultMessage =
'Expect.stringEquals(expected: <$expected>", <$actual>$msg) fails';
- if (expected != actual) {
- // scan from the left until we find a mismatch
- int left = 0;
- int eLen = expected.length;
- int aLen = actual.length;
- while (true) {
- if (left == eLen) {
- assert (left < aLen);
- String snippet = actual.substring(left, aLen);
- _fail('$defaultMessage\nDiff:\n...[ ]\n...[ $snippet ]');
- return;
- }
- if (left == aLen) {
- assert (left < eLen);
- String snippet = expected.substring(left, eLen);
- _fail('$defaultMessage\nDiff:\n...[ ]\n...[ $snippet ]');
- return;
- }
- if (expected[left] != actual[left]) {
- break;
- }
- left++;
+
+ if (expected == actual) return;
+ if ((expected == null) || (actual == null)) {
siva 2011/11/15 02:46:06 expected === null || actual === null
srdjan 2011/11/15 17:43:04 Done.
+ _fail('$defaultMessage');
+ }
+ // scan from the left until we find a mismatch
+ int left = 0;
+ int eLen = expected.length;
+ int aLen = actual.length;
+ while (true) {
+ if (left == eLen) {
+ assert (left < aLen);
+ String snippet = actual.substring(left, aLen);
+ _fail('$defaultMessage\nDiff:\n...[ ]\n...[ $snippet ]');
+ return;
}
+ if (left == aLen) {
+ assert (left < eLen);
+ String snippet = expected.substring(left, eLen);
+ _fail('$defaultMessage\nDiff:\n...[ ]\n...[ $snippet ]');
+ return;
+ }
+ if (expected[left] != actual[left]) {
+ break;
+ }
+ left++;
+ }
- // scan from the right until we find a mismatch
- int right = 0;
- while (true) {
- if (right == eLen) {
- assert (right < aLen);
- String snippet = actual.substring(0, aLen - right);
- _fail('$defaultMessage\nDiff:\n[ ]...\n[ $snippet ]...');
- return;
- }
- if (right == aLen) {
- assert (right < eLen);
- String snippet = expected.substring(0, eLen - right);
- _fail('$defaultMessage\nDiff:\n[ ]...\n[ $snippet ]...');
- return;
- }
- if (expected[eLen - right - 1] != actual[aLen - right - 1]) {
- break;
- }
- right++;
+ // scan from the right until we find a mismatch
+ int right = 0;
+ while (true) {
+ if (right == eLen) {
+ assert (right < aLen);
+ String snippet = actual.substring(0, aLen - right);
+ _fail('$defaultMessage\nDiff:\n[ ]...\n[ $snippet ]...');
+ return;
}
-
- String eSnippet = expected.substring(left, eLen - right);
- String aSnippet = actual.substring(left, aLen - right);
- String diff = '\nDiff:\n...[ $eSnippet} ]...\n...[ $aSnippet ]...';
- _fail('$defaultMessage$diff');
+ if (right == aLen) {
+ assert (right < eLen);
+ String snippet = expected.substring(0, eLen - right);
+ _fail('$defaultMessage\nDiff:\n[ ]...\n[ $snippet ]...');
+ return;
+ }
+ if (expected[eLen - right - 1] != actual[aLen - right - 1]) {
+ break;
+ }
+ right++;
}
+ String eSnippet = expected.substring(left, eLen - right);
+ String aSnippet = actual.substring(left, aLen - right);
+ String diff = '\nDiff:\n...[ $eSnippet} ]...\n...[ $aSnippet ]...';
+ _fail('$defaultMessage$diff');
}
/**
« no previous file with comments | « no previous file | runtime/lib/integers.dart » ('j') | runtime/vm/code_generator.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698