Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
| 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. | |
| 4 | |
| 5 /** | |
| 6 * A simple unit test library for running tests in a browser. | |
|
Bob Nystrom
2011/12/14 00:15:30
Update this comment to describe what this entrypoi
shauvik
2011/12/16 07:19:27
Done.
| |
| 7 */ | |
| 8 #library("unittest"); | |
| 9 | |
| 10 #import("dart:dom"); | |
| 11 | |
| 12 #source("shared.dart"); | |
| 13 | |
| 14 /** Getter for getting tests */ | |
|
Bob Nystrom
2011/12/14 00:15:30
Obvious. Remove or make it say something I don't a
shauvik
2011/12/16 07:19:27
Ok - added more detail :)
On 2011/12/14 00:15:30,
| |
| 15 List<TestCase> get tests() => _tests; | |
| 16 | |
| 17 int testsRun = 0, testsFailed = 0, testsErrors = 0; | |
|
Bob Nystrom
2011/12/14 00:15:30
We don't usually declare multiple variables on one
shauvik
2011/12/16 07:19:27
Done.
| |
| 18 int get numTestsRun() => testsRun; | |
| 19 int get numTestsFailed() => testsFailed; | |
| 20 int get numTestsErrors() => testsErrors; | |
| 21 | |
| 22 bool previousAsyncTest = false; | |
| 23 | |
| 24 Function uiUpdator = null; | |
|
Bob Nystrom
2011/12/14 00:15:30
"updateUI".
shauvik
2011/12/16 07:19:27
Done.
| |
| 25 set uiUpdateFunc(Function updateFunc) => uiUpdator = updateFunc; | |
|
Bob Nystrom
2011/12/14 00:15:30
Remove, you can just do "updateUI = ..."
shauvik
2011/12/16 07:19:27
Done.
| |
| 26 | |
| 27 Function dartestLogger = null; | |
| 28 set dartestLoggingFunc(Function logFunc) => dartestLogger = logFunc; | |
|
Bob Nystrom
2011/12/14 00:15:30
Remove.
shauvik
2011/12/16 07:19:27
Done.
| |
| 29 | |
| 30 _platformDefer(void callback()) { | |
| 31 _testRunner = runDARTests; | |
| 32 // DARTest ignores the callback. Tests are launched from UI | |
| 33 } | |
| 34 | |
| 35 // Update test results | |
| 36 updateTestStats(TestCase test) { | |
| 37 assert(test.result != null); | |
| 38 if(test.startDate != null){ | |
| 39 test.runningTime = (new Date.now()).difference(test.startDate); | |
| 40 } | |
| 41 testsRun++; | |
| 42 switch (test.result) { | |
| 43 case 'fail': testsFailed++; break; | |
| 44 case 'error': testsErrors++; break; | |
| 45 } | |
| 46 uiUpdator(test); | |
| 47 } | |
| 48 | |
| 49 // Run tests sequentially | |
| 50 runDARTests(){ | |
|
Bob Nystrom
2011/12/14 00:15:30
Dart shouldn't be all caps. "runDartests" or "runD
shauvik
2011/12/16 07:19:27
Done.
| |
| 51 if(previousAsyncTest){ | |
|
Bob Nystrom
2011/12/14 00:15:30
Space between "if" and "(". Also between ")" and "
shauvik
2011/12/16 07:19:27
Done.
| |
| 52 updateTestStats(_tests[_currentTest-1]); | |
|
Bob Nystrom
2011/12/14 00:15:30
Space around "-".
shauvik
2011/12/16 07:19:27
Done.
| |
| 53 previousAsyncTest = false; | |
| 54 } | |
| 55 if(_currentTest < _tests.length) { | |
| 56 final testCase = _tests[_currentTest]; | |
| 57 dartestLogger('Running test:'+testCase.description); | |
|
Bob Nystrom
2011/12/14 00:15:30
Space around "+".
shauvik
2011/12/16 07:19:27
Done.
| |
| 58 testCase.startingDate = new Date.now(); | |
| 59 _runTest(testCase); | |
| 60 if (!testCase.isComplete && testCase.callbacks > 0) { | |
| 61 previousAsyncTest = true; | |
| 62 return; | |
| 63 } | |
| 64 updateTestStats(testCase); | |
| 65 _currentTest++; | |
| 66 window.setTimeout(runDARTests, 0); | |
| 67 } | |
| 68 } | |
| 69 | |
| 70 _platformStartTests() { | |
| 71 //Support for VM and command line coming soon! | |
|
Bob Nystrom
2011/12/14 00:15:30
Make this a TODO comment:
// TODO(shauvik): Suppo
shauvik
2011/12/16 07:19:27
Done.
| |
| 72 window.console.log("Warning: Running DARTest from VM or Command-line."); | |
| 73 } | |
| 74 | |
| 75 _platformInitialize() { | |
| 76 //Do nothing | |
|
Bob Nystrom
2011/12/14 00:15:30
Space after "//".
shauvik
2011/12/16 07:19:27
Done.
| |
| 77 } | |
| 78 | |
| 79 _platformCompleteTests(int testsPassed, int testsFailed, int testsErrors) { | |
| 80 //Do nothing | |
| 81 } | |
| 82 | |
| 83 String getTestResultsCSV() { | |
|
Bob Nystrom
2011/12/14 00:15:30
"getTestResultsCsv".
shauvik
2011/12/16 07:19:27
Done.
| |
| 84 StringBuffer out = new StringBuffer(); | |
|
Bob Nystrom
2011/12/14 00:15:30
Just use "final" instead of a type annotation here
shauvik
2011/12/16 07:19:27
Done.
| |
| 85 for(TestCase test in _tests) { | |
|
Bob Nystrom
2011/12/14 00:15:30
Space after "for".
shauvik
2011/12/16 07:19:27
Done.
| |
| 86 String result = 'none'; | |
| 87 if(test.result != null) { | |
| 88 result = test.result.toUpperCase(); | |
| 89 } | |
| 90 out.add('${test.id}, "${test.description}", $result\n'); | |
| 91 } | |
| 92 return out.toString(); | |
| 93 } | |
| OLD | NEW |