| 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 mock_test; | 5 library mock_test; |
| 6 import 'package:unittest/unittest.dart'; | 6 import 'package:unittest/unittest.dart'; |
| 7 import 'package:unittest/mock.dart'; | 7 import 'package:unittest/mock.dart'; |
| 8 | 8 |
| 9 class MockList extends Mock implements List { | 9 class MockList extends Mock implements List { |
| 10 } | 10 } |
| 11 | 11 |
| 12 class Foo { | 12 class Foo { |
| 13 sum(a, b, c) => a + b + c; | 13 sum(a, b, c) => a + b + c; |
| 14 } | 14 } |
| 15 | 15 |
| 16 class FooSpy extends Mock implements Foo { | 16 class FooSpy extends Mock implements Foo { |
| 17 Foo real; | 17 Foo real; |
| 18 FooSpy() { | 18 FooSpy() { |
| 19 real = new Foo(); | 19 real = new Foo(); |
| 20 this.when(callsTo('sum')).alwaysCall(real.sum); | 20 this.when(callsTo('sum')).alwaysCall(real.sum); |
| 21 } | 21 } |
| 22 } | 22 } |
| 23 | 23 |
| 24 makeTestLogEntry(String methodName, List args, int time, | 24 makeTestLogEntry(String methodName, List args, int time, |
| 25 [String mockName]) { | 25 [String mockName]) { |
| 26 LogEntry e = new LogEntry(mockName, methodName, args, Action.IGNORE); | 26 LogEntry e = new LogEntry(mockName, methodName, args, Action.IGNORE); |
| 27 e.time = new Date.fromMillisecondsSinceEpoch(time, isUtc: true); | 27 e.time = new DateTime.fromMillisecondsSinceEpoch(time, isUtc: true); |
| 28 return e; | 28 return e; |
| 29 } | 29 } |
| 30 | 30 |
| 31 makeTestLog() { | 31 makeTestLog() { |
| 32 LogEntryList logList = new LogEntryList('test'); | 32 LogEntryList logList = new LogEntryList('test'); |
| 33 List args = new List(); | 33 List args = new List(); |
| 34 logList.add(makeTestLogEntry('a', args, 1000)); | 34 logList.add(makeTestLogEntry('a', args, 1000)); |
| 35 logList.add(makeTestLogEntry('b', args, 2000)); | 35 logList.add(makeTestLogEntry('b', args, 2000)); |
| 36 logList.add(makeTestLogEntry('c', args, 3000)); | 36 logList.add(makeTestLogEntry('c', args, 3000)); |
| 37 return logList; | 37 return logList; |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 // No restriction on entry. | 213 // No restriction on entry. |
| 214 expect(logList.findLogEntry(null, 0), 0); | 214 expect(logList.findLogEntry(null, 0), 0); |
| 215 expect(logList.findLogEntry(null, 1), 1); | 215 expect(logList.findLogEntry(null, 1), 1); |
| 216 expect(logList.findLogEntry(null, 2), 2); | 216 expect(logList.findLogEntry(null, 2), 2); |
| 217 expect(logList.findLogEntry(null, 3), -1); | 217 expect(logList.findLogEntry(null, 3), -1); |
| 218 }); | 218 }); |
| 219 | 219 |
| 220 test('Mocking: from,after,before,until', () { | 220 test('Mocking: from,after,before,until', () { |
| 221 LogEntryList logList = makeTestLog(); | 221 LogEntryList logList = makeTestLog(); |
| 222 LogEntryList log2; | 222 LogEntryList log2; |
| 223 Date t0 = new Date.fromMillisecondsSinceEpoch(0, isUtc: true); | 223 DateTime t0 = new DateTime.fromMillisecondsSinceEpoch(0, isUtc: true); |
| 224 Date t1000 = new Date.fromMillisecondsSinceEpoch(1000, isUtc: true); | 224 DateTime t1000 = new DateTime.fromMillisecondsSinceEpoch(1000, isUtc: true); |
| 225 Date t2000 = new Date.fromMillisecondsSinceEpoch(2000, isUtc: true); | 225 DateTime t2000 = new DateTime.fromMillisecondsSinceEpoch(2000, isUtc: true); |
| 226 Date t3000 = new Date.fromMillisecondsSinceEpoch(3000, isUtc: true); | 226 DateTime t3000 = new DateTime.fromMillisecondsSinceEpoch(3000, isUtc: true); |
| 227 Date t4000 = new Date.fromMillisecondsSinceEpoch(4000, isUtc: true); | 227 DateTime t4000 = new DateTime.fromMillisecondsSinceEpoch(4000, isUtc: true); |
| 228 | 228 |
| 229 log2 = logList.before(t0); | 229 log2 = logList.before(t0); |
| 230 expect(log2.logs, hasLength(0)); | 230 expect(log2.logs, hasLength(0)); |
| 231 expect(log2.filter, 'test before 1970-01-01 00:00:00.000Z'); | 231 expect(log2.filter, 'test before 1970-01-01 00:00:00.000Z'); |
| 232 log2 = logList.until(t0); | 232 log2 = logList.until(t0); |
| 233 expect(log2.logs, hasLength(0)); | 233 expect(log2.logs, hasLength(0)); |
| 234 expect(log2.filter, 'test until 1970-01-01 00:00:00.000Z'); | 234 expect(log2.filter, 'test until 1970-01-01 00:00:00.000Z'); |
| 235 log2 = logList.from(t0); | 235 log2 = logList.from(t0); |
| 236 expect(log2.logs, hasLength(3)); | 236 expect(log2.logs, hasLength(3)); |
| 237 expect(log2.first.methodName, 'a'); | 237 expect(log2.first.methodName, 'a'); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 expect(log2.logs, hasLength(3)); | 299 expect(log2.logs, hasLength(3)); |
| 300 expect(log2.first.methodName, 'a'); | 300 expect(log2.first.methodName, 'a'); |
| 301 expect(log2.last.methodName, 'c'); | 301 expect(log2.last.methodName, 'c'); |
| 302 log2 = logList.from(t4000); | 302 log2 = logList.from(t4000); |
| 303 expect(log2.logs, hasLength(0)); | 303 expect(log2.logs, hasLength(0)); |
| 304 log2 = logList.after(t4000); | 304 log2 = logList.after(t4000); |
| 305 expect(log2.logs, hasLength(0)); | 305 expect(log2.logs, hasLength(0)); |
| 306 }); | 306 }); |
| 307 | 307 |
| 308 test('Mocking: inplace from,after,before,until', () { | 308 test('Mocking: inplace from,after,before,until', () { |
| 309 Date t0 = new Date.fromMillisecondsSinceEpoch(0, isUtc: true); | 309 DateTime t0 = new DateTime.fromMillisecondsSinceEpoch(0, isUtc: true); |
| 310 Date t1000 = new Date.fromMillisecondsSinceEpoch(1000, isUtc: true); | 310 DateTime t1000 = new DateTime.fromMillisecondsSinceEpoch(1000, isUtc: true); |
| 311 Date t2000 = new Date.fromMillisecondsSinceEpoch(2000, isUtc: true); | 311 DateTime t2000 = new DateTime.fromMillisecondsSinceEpoch(2000, isUtc: true); |
| 312 Date t3000 = new Date.fromMillisecondsSinceEpoch(3000, isUtc: true); | 312 DateTime t3000 = new DateTime.fromMillisecondsSinceEpoch(3000, isUtc: true); |
| 313 Date t4000 = new Date.fromMillisecondsSinceEpoch(4000, isUtc: true); | 313 DateTime t4000 = new DateTime.fromMillisecondsSinceEpoch(4000, isUtc: true); |
| 314 | 314 |
| 315 LogEntryList logList = makeTestLog().before(t0, true); | 315 LogEntryList logList = makeTestLog().before(t0, true); |
| 316 expect(logList.logs, hasLength(0)); | 316 expect(logList.logs, hasLength(0)); |
| 317 expect(logList.filter, 'test before 1970-01-01 00:00:00.000Z'); | 317 expect(logList.filter, 'test before 1970-01-01 00:00:00.000Z'); |
| 318 logList = makeTestLog().until(t0, true); | 318 logList = makeTestLog().until(t0, true); |
| 319 expect(logList.logs, hasLength(0)); | 319 expect(logList.logs, hasLength(0)); |
| 320 expect(logList.filter, 'test until 1970-01-01 00:00:00.000Z'); | 320 expect(logList.filter, 'test until 1970-01-01 00:00:00.000Z'); |
| 321 logList = makeTestLog().from(t0, true); | 321 logList = makeTestLog().from(t0, true); |
| 322 expect(logList.logs, hasLength(3)); | 322 expect(logList.logs, hasLength(3)); |
| 323 expect(logList.first.methodName, 'a'); | 323 expect(logList.first.methodName, 'a'); |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 expect(log.logs, hasLength(6)); | 628 expect(log.logs, hasLength(6)); |
| 629 expect(log.logs.every((e) => e.mockName == 'm2' || e.mockName == 'm3'), | 629 expect(log.logs.every((e) => e.mockName == 'm2' || e.mockName == 'm3'), |
| 630 isTrue); | 630 isTrue); |
| 631 m2.clearLogs(); | 631 m2.clearLogs(); |
| 632 expect(log.logs, hasLength(3)); | 632 expect(log.logs, hasLength(3)); |
| 633 expect(log.logs.every((e) => e.mockName =='m3'), isTrue); | 633 expect(log.logs.every((e) => e.mockName =='m3'), isTrue); |
| 634 m3.clearLogs(); | 634 m3.clearLogs(); |
| 635 expect(log.logs, hasLength(0)); | 635 expect(log.logs, hasLength(0)); |
| 636 }); | 636 }); |
| 637 } | 637 } |
| OLD | NEW |