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

Unified Diff: packages/matcher/test/core_matchers_test.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 5 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
« no previous file with comments | « packages/matcher/pubspec.yaml ('k') | packages/matcher/test/escape_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: packages/matcher/test/core_matchers_test.dart
diff --git a/packages/matcher/test/core_matchers_test.dart b/packages/matcher/test/core_matchers_test.dart
index 32e30f0519f813d301e446ec29f7bcc9c11d706c..04cc111c1abfd099514ae4aac9baab032a831f59 100644
--- a/packages/matcher/test/core_matchers_test.dart
+++ b/packages/matcher/test/core_matchers_test.dart
@@ -2,13 +2,16 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-library matcher.core_matchers_test;
-
import 'package:matcher/matcher.dart';
import 'package:test/test.dart' show test, group;
import 'test_utils.dart';
+class BadCustomMatcher extends CustomMatcher {
+ BadCustomMatcher() : super("feature", "description", {1: "a"});
+ featureValueOf(actual) => throw new Exception("bang");
+}
+
void main() {
test('isTrue', () {
shouldPass(true, isTrue);
@@ -63,34 +66,18 @@ void main() {
shouldPass(set2, equals(set1));
shouldPass(numbers, equals(set1));
- shouldFail([
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9
- ], equals(set1), matches(r"Expected: .*:\[1, 2, 3, 4, 5, 6, 7, 8, 9, 10\]"
- r" Actual: \[1, 2, 3, 4, 5, 6, 7, 8, 9\]"
- r" Which: does not contain 10"));
- shouldFail([
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11
- ], equals(set1), matches(r"Expected: .*:\[1, 2, 3, 4, 5, 6, 7, 8, 9, 10\]"
- r" Actual: \[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11\]"
- r" Which: larger than expected"));
+ shouldFail(
+ [1, 2, 3, 4, 5, 6, 7, 8, 9],
+ equals(set1),
+ matches(r"Expected: .*:\[1, 2, 3, 4, 5, 6, 7, 8, 9, 10\]"
+ r" Actual: \[1, 2, 3, 4, 5, 6, 7, 8, 9\]"
+ r" Which: does not contain 10"));
+ shouldFail(
+ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
+ equals(set1),
+ matches(r"Expected: .*:\[1, 2, 3, 4, 5, 6, 7, 8, 9, 10\]"
+ r" Actual: \[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11\]"
+ r" Which: larger than expected"));
});
test('anything', () {
@@ -103,10 +90,12 @@ void main() {
test('returnsNormally', () {
shouldPass(doesNotThrow, returnsNormally);
- shouldFail(doesThrow, returnsNormally, matches(r"Expected: return normally"
- r" Actual: <Closure(: \(\) => dynamic "
- r"from Function 'doesThrow': static\.)?>"
- r" Which: threw 'X'"));
+ shouldFail(
+ doesThrow,
+ returnsNormally,
+ matches(r"Expected: return normally"
+ r" Actual: <Closure.*>"
+ r" Which: threw 'X'"));
});
test('hasLength', () {
@@ -115,56 +104,107 @@ void main() {
shouldPass(a, hasLength(0));
shouldPass(b, hasLength(0));
shouldPass('a', hasLength(1));
- shouldFail(0, hasLength(0),
+ shouldFail(
+ 0,
+ hasLength(0),
"Expected: an object with length of <0> "
"Actual: <0> "
"Which: has no length property");
b.add(0);
shouldPass(b, hasLength(1));
- shouldFail(b, hasLength(2), "Expected: an object with length of <2> "
+ shouldFail(
+ b,
+ hasLength(2),
+ "Expected: an object with length of <2> "
"Actual: [0] "
"Which: has length of <1>");
b.add(0);
- shouldFail(b, hasLength(1), "Expected: an object with length of <1> "
+ shouldFail(
+ b,
+ hasLength(1),
+ "Expected: an object with length of <1> "
"Actual: [0, 0] "
"Which: has length of <2>");
shouldPass(b, hasLength(2));
});
test('scalar type mismatch', () {
- shouldFail('error', equals(5.1), "Expected: <5.1> "
+ shouldFail(
+ 'error',
+ equals(5.1),
+ "Expected: <5.1> "
"Actual: 'error'");
});
test('nested type mismatch', () {
- shouldFail(['error'], equals([5.1]), "Expected: [5.1] "
+ shouldFail(
+ ['error'],
+ equals([5.1]),
+ "Expected: [5.1] "
"Actual: ['error'] "
"Which: was 'error' instead of <5.1> at location [0]");
});
test('doubly-nested type mismatch', () {
- shouldFail([['error']], equals([[5.1]]), "Expected: [[5.1]] "
+ shouldFail(
+ [
+ ['error']
+ ],
+ equals([
+ [5.1]
+ ]),
+ "Expected: [[5.1]] "
"Actual: [['error']] "
"Which: was 'error' instead of <5.1> at location [0][0]");
});
test('doubly nested inequality', () {
- var actual1 = [['foo', 'bar'], ['foo'], 3, []];
- var expected1 = [['foo', 'bar'], ['foo'], 4, []];
+ var actual1 = [
+ ['foo', 'bar'],
+ ['foo'],
+ 3,
+ []
+ ];
+ var expected1 = [
+ ['foo', 'bar'],
+ ['foo'],
+ 4,
+ []
+ ];
var reason1 = "Expected: [['foo', 'bar'], ['foo'], 4, []] "
"Actual: [['foo', 'bar'], ['foo'], 3, []] "
"Which: was <3> instead of <4> at location [2]";
- var actual2 = [['foo', 'barry'], ['foo'], 4, []];
- var expected2 = [['foo', 'bar'], ['foo'], 4, []];
+ var actual2 = [
+ ['foo', 'barry'],
+ ['foo'],
+ 4,
+ []
+ ];
+ var expected2 = [
+ ['foo', 'bar'],
+ ['foo'],
+ 4,
+ []
+ ];
var reason2 = "Expected: [['foo', 'bar'], ['foo'], 4, []] "
"Actual: [['foo', 'barry'], ['foo'], 4, []] "
"Which: was 'barry' instead of 'bar' at location [0][1]";
- var actual3 = [['foo', 'bar'], ['foo'], 4, {'foo': 'bar'}];
- var expected3 = [['foo', 'bar'], ['foo'], 4, {'foo': 'barry'}];
+ var actual3 = [
+ ['foo', 'bar'],
+ ['foo'],
+ 4,
+ {'foo': 'bar'}
+ ];
+ var expected3 = [
+ ['foo', 'bar'],
+ ['foo'],
+ 4,
+ {'foo': 'barry'}
+ ];
var reason3 = "Expected: [['foo', 'bar'], ['foo'], 4, {'foo': 'barry'}] "
"Actual: [['foo', 'bar'], ['foo'], 4, {'foo': 'bar'}] "
"Which: was 'bar' instead of 'barry' at location [3]['foo']";
@@ -193,10 +233,25 @@ void main() {
w.price = 10;
shouldPass(w, new HasPrice(10));
shouldPass(w, new HasPrice(greaterThan(0)));
- shouldFail(w, new HasPrice(greaterThan(10)),
+ shouldFail(
+ w,
+ new HasPrice(greaterThan(10)),
"Expected: Widget with a price that is a value greater than <10> "
"Actual: <Instance of 'Widget'> "
"Which: has price with value <10> which is not "
"a value greater than <10>");
});
+
+ test("Custom Matcher Exception", () {
+ shouldFail(
+ "a",
+ new BadCustomMatcher(),
+ allOf([
+ contains("Expected: feature {1: 'a'} "),
+ contains("Actual: 'a' "),
+ contains("Which: threw 'Exception: bang' "),
+ contains("test/core_matchers_test.dart "),
+ contains("package:test ")
+ ]));
+ });
}
« no previous file with comments | « packages/matcher/pubspec.yaml ('k') | packages/matcher/test/escape_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698