OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #library('unittestTest'); | 5 #library('unittestTest'); |
6 #import('../../../pkg/unittest/unittest.dart'); | 6 #import('../../../pkg/unittest/lib/unittest.dart'); |
7 | 7 |
8 class MockList extends Mock implements List { | 8 class MockList extends Mock implements List { |
9 } | 9 } |
10 | 10 |
11 class Foo { | 11 class Foo { |
12 sum(a, b, c) => a + b + c; | 12 sum(a, b, c) => a + b + c; |
13 } | 13 } |
14 | 14 |
15 class FooSpy extends Mock implements Foo { | 15 class FooSpy extends Mock implements Foo { |
16 Foo real; | 16 Foo real; |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 expect(m.bar(1), 2); | 159 expect(m.bar(1), 2); |
160 expect(m.bar(2), 4); | 160 expect(m.bar(2), 4); |
161 m.getLogs(callsTo()).verify(happenedExactly(4)); | 161 m.getLogs(callsTo()).verify(happenedExactly(4)); |
162 m.getLogs(callsTo(null, 1)).verify(happenedExactly(2)); | 162 m.getLogs(callsTo(null, 1)).verify(happenedExactly(2)); |
163 m.getLogs(callsTo(null, 2)).verify(happenedExactly(2)); | 163 m.getLogs(callsTo(null, 2)).verify(happenedExactly(2)); |
164 m.getLogs(null, returning(1)).verify(neverHappened); | 164 m.getLogs(null, returning(1)).verify(neverHappened); |
165 m.getLogs(null, returning(2)).verify(happenedExactly(2)); | 165 m.getLogs(null, returning(2)).verify(happenedExactly(2)); |
166 m.getLogs(null, returning(4)).verify(happenedExactly(2)); | 166 m.getLogs(null, returning(4)).verify(happenedExactly(2)); |
167 }); | 167 }); |
168 | 168 |
169 test('Mocking: RegExp CallMatcher good', () {» | 169 test('Mocking: RegExp CallMatcher good', () { |
170 var m = new Mock();» | 170 var m = new Mock(); |
171 m.when(callsTo(matches('^[A-Z]'))).» | 171 m.when(callsTo(matches('^[A-Z]'))). |
172 alwaysThrow('Method names must start with lower case.');» | 172 alwaysThrow('Method names must start with lower case.'); |
173 m.test();» | 173 m.test(); |
174 }); | 174 }); |
175 | 175 |
176 test('Mocking: No logging', () { | 176 test('Mocking: No logging', () { |
177 var m = new Mock.custom(enableLogging:false); | 177 var m = new Mock.custom(enableLogging:false); |
178 m.Test(); | 178 m.Test(); |
179 expect(() => m.getLogs(callsTo('Test')), throwsA((e) => e.toString() == | 179 expect(() => m.getLogs(callsTo('Test')), throwsA((e) => e.toString() == |
180 "Exception: Can't retrieve logs when logging was never enabled.")); | 180 "Exception: Can't retrieve logs when logging was never enabled.")); |
181 }); | 181 }); |
182 | 182 |
183 test('Mocking: Find logList entry', () { | 183 test('Mocking: Find logList entry', () { |
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
593 for (var i = 0; i < 10; i++) { | 593 for (var i = 0; i < 10; i++) { |
594 LogEntry e = new LogEntry(null, 'foo', [i], Action.IGNORE); | 594 LogEntry e = new LogEntry(null, 'foo', [i], Action.IGNORE); |
595 logList.add(e); | 595 logList.add(e); |
596 } | 596 } |
597 int total = 0; | 597 int total = 0; |
598 logList.stepwiseValidate((log, pos) { | 598 logList.stepwiseValidate((log, pos) { |
599 total += log[pos].args[0] * log[pos + 1].args[0]; | 599 total += log[pos].args[0] * log[pos + 1].args[0]; |
600 expect(log[pos + 1].args[0] - log[pos].args[0], equals(1)); | 600 expect(log[pos + 1].args[0] - log[pos].args[0], equals(1)); |
601 return 2; | 601 return 2; |
602 }); | 602 }); |
603 expect(total, equals((0 * 1) + (2 * 3) + (4 * 5) + (6 * 7) + (8 * 9))); | 603 expect(total, equals((0 * 1) + (2 * 3) + (4 * 5) + (6 * 7) + (8 * 9))); |
604 }); | 604 }); |
605 | 605 |
606 test('Mocking: clearLogs', () { | 606 test('Mocking: clearLogs', () { |
607 var m = new Mock(); | 607 var m = new Mock(); |
608 m.foo(); | 608 m.foo(); |
609 m.foo(); | 609 m.foo(); |
610 m.foo(); | 610 m.foo(); |
611 expect(m.log.logs, hasLength(3)); | 611 expect(m.log.logs, hasLength(3)); |
612 m.clearLogs(); | 612 m.clearLogs(); |
613 expect(m.log.logs, hasLength(0)); | 613 expect(m.log.logs, hasLength(0)); |
(...skipping 13 matching lines...) Expand all Loading... |
627 expect(log.logs, hasLength(6)); | 627 expect(log.logs, hasLength(6)); |
628 expect(log.logs.every((e) => e.mockName == 'm2' || e.mockName == 'm3'), | 628 expect(log.logs.every((e) => e.mockName == 'm2' || e.mockName == 'm3'), |
629 isTrue); | 629 isTrue); |
630 m2.clearLogs(); | 630 m2.clearLogs(); |
631 expect(log.logs, hasLength(3)); | 631 expect(log.logs, hasLength(3)); |
632 expect(log.logs.every((e) => e.mockName =='m3'), isTrue); | 632 expect(log.logs.every((e) => e.mockName =='m3'), isTrue); |
633 m3.clearLogs(); | 633 m3.clearLogs(); |
634 expect(log.logs, hasLength(0)); | 634 expect(log.logs, hasLength(0)); |
635 }); | 635 }); |
636 } | 636 } |
OLD | NEW |