OLD | NEW |
1 dart_library.library('unittest', null, /* Imports */[ | 1 dart_library.library('unittest', null, /* Imports */[ |
2 'dart_sdk', | 2 'dart_sdk', |
3 'matcher' | 3 'matcher' |
4 ], function(exports, dart_sdk, matcher) { | 4 ], function(exports, dart_sdk, matcher) { |
5 'use strict'; | 5 'use strict'; |
6 const core = dart_sdk.core; | 6 const core = dart_sdk.core; |
7 const js = dart_sdk.js; | 7 const js = dart_sdk.js; |
8 const async = dart_sdk.async; | 8 const async = dart_sdk.async; |
9 const dart = dart_sdk.dart; | 9 const dart = dart_sdk.dart; |
10 const dartx = dart_sdk.dartx; | 10 const dartx = dart_sdk.dartx; |
11 const interfaces = matcher.interfaces; | 11 const src$47interfaces = matcher.src$47interfaces; |
12 const util = matcher.util; | 12 const src$47util = matcher.src$47util; |
13 const description$ = matcher.description; | 13 const src$47description = matcher.src$47description; |
14 const numeric_matchers = matcher.numeric_matchers; | 14 const src$47numeric_matchers = matcher.src$47numeric_matchers; |
15 const error_matchers = matcher.error_matchers; | 15 const src$47error_matchers = matcher.src$47error_matchers; |
16 const core_matchers = matcher.core_matchers; | 16 const src$47core_matchers = matcher.src$47core_matchers; |
17 const iterable_matchers = matcher.iterable_matchers; | 17 const src$47iterable_matchers = matcher.src$47iterable_matchers; |
18 const string_matchers = matcher.string_matchers; | 18 const src$47string_matchers = matcher.src$47string_matchers; |
19 const operator_matchers = matcher.operator_matchers; | 19 const src$47operator_matchers = matcher.src$47operator_matchers; |
20 const map_matchers = matcher.map_matchers; | 20 const src$47map_matchers = matcher.src$47map_matchers; |
21 const unittest = Object.create(null); | 21 const unittest = Object.create(null); |
22 unittest.group = function(name, body) { | 22 unittest.group = function(name, body) { |
23 return js.context.callMethod('suite', dart.list([name, body], core.Object)); | 23 return js.context.callMethod('suite', dart.list([name, body], core.Object)); |
24 }; | 24 }; |
25 dart.fn(unittest.group, dart.void, [core.String, dart.functionType(dart.void,
[])]); | 25 dart.fn(unittest.group, dart.void, [core.String, dart.functionType(dart.void,
[])]); |
26 unittest.test = function(name, body, opts) { | 26 unittest.test = function(name, body, opts) { |
27 let skip = opts && 'skip' in opts ? opts.skip : null; | 27 let skip = opts && 'skip' in opts ? opts.skip : null; |
28 if (skip != null) { | 28 if (skip != null) { |
29 core.print(`SKIP ${name}: ${skip}`); | 29 core.print(`SKIP ${name}: ${skip}`); |
30 return; | 30 return; |
(...skipping 16 matching lines...) Expand all Loading... |
47 TestFailure(message) { | 47 TestFailure(message) { |
48 this.message = message; | 48 this.message = message; |
49 } | 49 } |
50 toString() { | 50 toString() { |
51 return this.message; | 51 return this.message; |
52 } | 52 } |
53 }; | 53 }; |
54 dart.setSignature(unittest.TestFailure, { | 54 dart.setSignature(unittest.TestFailure, { |
55 constructors: () => ({TestFailure: [unittest.TestFailure, [core.String]]}) | 55 constructors: () => ({TestFailure: [unittest.TestFailure, [core.String]]}) |
56 }); | 56 }); |
57 unittest.ErrorFormatter = dart.typedef('ErrorFormatter', () => dart.functionTy
pe(core.String, [dart.dynamic, interfaces.Matcher, core.String, core.Map, core.b
ool])); | 57 unittest.ErrorFormatter = dart.typedef('ErrorFormatter', () => dart.functionTy
pe(core.String, [dart.dynamic, src$47interfaces.Matcher, core.String, core.Map,
core.bool])); |
58 unittest.expect = function(actual, matcher, opts) { | 58 unittest.expect = function(actual, matcher, opts) { |
59 let reason = opts && 'reason' in opts ? opts.reason : null; | 59 let reason = opts && 'reason' in opts ? opts.reason : null; |
60 let verbose = opts && 'verbose' in opts ? opts.verbose : false; | 60 let verbose = opts && 'verbose' in opts ? opts.verbose : false; |
61 let formatter = opts && 'formatter' in opts ? opts.formatter : null; | 61 let formatter = opts && 'formatter' in opts ? opts.formatter : null; |
62 matcher = util.wrapMatcher(matcher); | 62 matcher = src$47util.wrapMatcher(matcher); |
63 let matchState = dart.map(); | 63 let matchState = dart.map(); |
64 try { | 64 try { |
65 if (dart.notNull(dart.as(dart.dsend(matcher, 'matches', actual, matchState
), core.bool))) return; | 65 if (dart.notNull(dart.as(dart.dsend(matcher, 'matches', actual, matchState
), core.bool))) return; |
66 } catch (e) { | 66 } catch (e) { |
67 let trace = dart.stackTrace(e); | 67 let trace = dart.stackTrace(e); |
68 if (reason == null) { | 68 if (reason == null) { |
69 reason = `${typeof e == 'string' ? e : dart.toString(e)} at ${trace}`; | 69 reason = `${typeof e == 'string' ? e : dart.toString(e)} at ${trace}`; |
70 } | 70 } |
71 } | 71 } |
72 | 72 |
73 if (formatter == null) formatter = unittest._defaultFailFormatter; | 73 if (formatter == null) formatter = unittest._defaultFailFormatter; |
74 unittest.fail(dart.dcall(formatter, actual, matcher, reason, matchState, ver
bose)); | 74 unittest.fail(dart.dcall(formatter, actual, matcher, reason, matchState, ver
bose)); |
75 }; | 75 }; |
76 dart.fn(unittest.expect, dart.void, [dart.dynamic, dart.dynamic], {reason: cor
e.String, verbose: core.bool, formatter: unittest.ErrorFormatter}); | 76 dart.fn(unittest.expect, dart.void, [dart.dynamic, dart.dynamic], {reason: cor
e.String, verbose: core.bool, formatter: unittest.ErrorFormatter}); |
77 unittest.fail = function(message) { | 77 unittest.fail = function(message) { |
78 return dart.throw(new unittest.TestFailure(message)); | 78 return dart.throw(new unittest.TestFailure(message)); |
79 }; | 79 }; |
80 dart.fn(unittest.fail, dart.void, [core.String]); | 80 dart.fn(unittest.fail, dart.void, [core.String]); |
81 unittest._defaultFailFormatter = function(actual, matcher, reason, matchState,
verbose) { | 81 unittest._defaultFailFormatter = function(actual, matcher, reason, matchState,
verbose) { |
82 let description = new description$.StringDescription(); | 82 let description = new src$47description.StringDescription(); |
83 description.add('Expected: ').addDescriptionOf(matcher).add('\n'); | 83 description.add('Expected: ').addDescriptionOf(matcher).add('\n'); |
84 description.add(' Actual: ').addDescriptionOf(actual).add('\n'); | 84 description.add(' Actual: ').addDescriptionOf(actual).add('\n'); |
85 let mismatchDescription = new description$.StringDescription(); | 85 let mismatchDescription = new src$47description.StringDescription(); |
86 matcher.describeMismatch(actual, mismatchDescription, matchState, verbose); | 86 matcher.describeMismatch(actual, mismatchDescription, matchState, verbose); |
87 if (dart.notNull(mismatchDescription.length) > 0) { | 87 if (dart.notNull(mismatchDescription.length) > 0) { |
88 description.add(` Which: ${mismatchDescription}\n`); | 88 description.add(` Which: ${mismatchDescription}\n`); |
89 } | 89 } |
90 if (reason != null) description.add(reason).add('\n'); | 90 if (reason != null) description.add(reason).add('\n'); |
91 return description.toString(); | 91 return description.toString(); |
92 }; | 92 }; |
93 dart.fn(unittest._defaultFailFormatter, core.String, [dart.dynamic, interfaces
.Matcher, core.String, core.Map, core.bool]); | 93 dart.fn(unittest._defaultFailFormatter, core.String, [dart.dynamic, src$47inte
rfaces.Matcher, core.String, core.Map, core.bool]); |
94 unittest.isPositive = numeric_matchers.isPositive; | 94 unittest.isPositive = src$47numeric_matchers.isPositive; |
95 unittest.isRangeError = error_matchers.isRangeError; | 95 unittest.isRangeError = src$47error_matchers.isRangeError; |
96 unittest.isStateError = error_matchers.isStateError; | 96 unittest.isStateError = src$47error_matchers.isStateError; |
97 unittest.equals = core_matchers.equals; | 97 unittest.equals = src$47core_matchers.equals; |
98 unittest.CustomMatcher = core_matchers.CustomMatcher; | 98 unittest.CustomMatcher = src$47core_matchers.CustomMatcher; |
99 unittest.inOpenClosedRange = numeric_matchers.inOpenClosedRange; | 99 unittest.inOpenClosedRange = src$47numeric_matchers.inOpenClosedRange; |
100 unittest.pairwiseCompare = iterable_matchers.pairwiseCompare; | 100 unittest.pairwiseCompare = src$47iterable_matchers.pairwiseCompare; |
101 unittest.equalsIgnoringCase = string_matchers.equalsIgnoringCase; | 101 unittest.equalsIgnoringCase = src$47string_matchers.equalsIgnoringCase; |
102 unittest.isUnimplementedError = error_matchers.isUnimplementedError; | 102 unittest.isUnimplementedError = src$47error_matchers.isUnimplementedError; |
103 unittest.hasLength = core_matchers.hasLength; | 103 unittest.hasLength = src$47core_matchers.hasLength; |
104 unittest.StringDescription = description$.StringDescription; | 104 unittest.StringDescription = src$47description.StringDescription; |
105 unittest.allOf = operator_matchers.allOf; | 105 unittest.allOf = src$47operator_matchers.allOf; |
106 unittest.isNegative = numeric_matchers.isNegative; | 106 unittest.isNegative = src$47numeric_matchers.isNegative; |
107 unittest.isInstanceOf$ = core_matchers.isInstanceOf$; | 107 unittest.isInstanceOf$ = src$47core_matchers.isInstanceOf$; |
108 unittest.isInstanceOf = core_matchers.isInstanceOf; | 108 unittest.isInstanceOf = src$47core_matchers.isInstanceOf; |
109 unittest.isNaN = core_matchers.isNaN; | 109 unittest.isNaN = src$47core_matchers.isNaN; |
110 unittest.lessThan = numeric_matchers.lessThan; | 110 unittest.lessThan = src$47numeric_matchers.lessThan; |
111 unittest.isNotEmpty = core_matchers.isNotEmpty; | 111 unittest.isNotEmpty = src$47core_matchers.isNotEmpty; |
112 unittest.greaterThanOrEqualTo = numeric_matchers.greaterThanOrEqualTo; | 112 unittest.greaterThanOrEqualTo = src$47numeric_matchers.greaterThanOrEqualTo; |
113 unittest.endsWith = string_matchers.endsWith; | 113 unittest.endsWith = src$47string_matchers.endsWith; |
114 unittest.isConcurrentModificationError = error_matchers.isConcurrentModificati
onError; | 114 unittest.isConcurrentModificationError = src$47error_matchers.isConcurrentModi
ficationError; |
115 unittest.containsValue = map_matchers.containsValue; | 115 unittest.containsValue = src$47map_matchers.containsValue; |
116 unittest.isFalse = core_matchers.isFalse; | 116 unittest.isFalse = src$47core_matchers.isFalse; |
117 unittest.isTrue = core_matchers.isTrue; | 117 unittest.isTrue = src$47core_matchers.isTrue; |
118 unittest.Matcher = interfaces.Matcher; | 118 unittest.Matcher = src$47interfaces.Matcher; |
119 unittest.lessThanOrEqualTo = numeric_matchers.lessThanOrEqualTo; | 119 unittest.lessThanOrEqualTo = src$47numeric_matchers.lessThanOrEqualTo; |
120 unittest.matches = string_matchers.matches; | 120 unittest.matches = src$47string_matchers.matches; |
121 unittest.returnsNormally = core_matchers.returnsNormally; | 121 unittest.returnsNormally = src$47core_matchers.returnsNormally; |
122 unittest.TypeMatcher = core_matchers.TypeMatcher; | 122 unittest.TypeMatcher = src$47core_matchers.TypeMatcher; |
123 unittest.inExclusiveRange = numeric_matchers.inExclusiveRange; | 123 unittest.inExclusiveRange = src$47numeric_matchers.inExclusiveRange; |
124 unittest.equalsIgnoringWhitespace = string_matchers.equalsIgnoringWhitespace; | 124 unittest.equalsIgnoringWhitespace = src$47string_matchers.equalsIgnoringWhites
pace; |
125 unittest.isIn = core_matchers.isIn; | 125 unittest.isIn = src$47core_matchers.isIn; |
126 unittest.isNotNaN = core_matchers.isNotNaN; | 126 unittest.isNotNaN = src$47core_matchers.isNotNaN; |
127 unittest.isNonZero = numeric_matchers.isNonZero; | 127 unittest.isNonZero = src$47numeric_matchers.isNonZero; |
128 unittest.startsWith = string_matchers.startsWith; | 128 unittest.startsWith = src$47string_matchers.startsWith; |
129 unittest.isNullThrownError = error_matchers.isNullThrownError; | 129 unittest.isNullThrownError = src$47error_matchers.isNullThrownError; |
130 unittest.isEmpty = core_matchers.isEmpty; | 130 unittest.isEmpty = src$47core_matchers.isEmpty; |
131 unittest.anyOf = operator_matchers.anyOf; | 131 unittest.anyOf = src$47operator_matchers.anyOf; |
132 unittest.unorderedMatches = iterable_matchers.unorderedMatches; | 132 unittest.unorderedMatches = src$47iterable_matchers.unorderedMatches; |
133 unittest.isZero = numeric_matchers.isZero; | 133 unittest.isZero = src$47numeric_matchers.isZero; |
134 unittest.isList = core_matchers.isList; | 134 unittest.isList = src$47core_matchers.isList; |
135 unittest.escape = util.escape; | 135 unittest.escape = src$47util.escape; |
136 unittest.isCyclicInitializationError = error_matchers.isCyclicInitializationEr
ror; | 136 unittest.isCyclicInitializationError = src$47error_matchers.isCyclicInitializa
tionError; |
137 unittest.anyElement = iterable_matchers.anyElement; | 137 unittest.anyElement = src$47iterable_matchers.anyElement; |
138 unittest.anything = core_matchers.anything; | 138 unittest.anything = src$47core_matchers.anything; |
139 unittest.contains = core_matchers.contains; | 139 unittest.contains = src$47core_matchers.contains; |
140 unittest.isUnsupportedError = error_matchers.isUnsupportedError; | 140 unittest.isUnsupportedError = src$47error_matchers.isUnsupportedError; |
141 unittest.isNonPositive = numeric_matchers.isNonPositive; | 141 unittest.isNonPositive = src$47numeric_matchers.isNonPositive; |
142 unittest.isNot = operator_matchers.isNot; | 142 unittest.isNot = src$47operator_matchers.isNot; |
143 unittest.same = core_matchers.same; | 143 unittest.same = src$47core_matchers.same; |
144 unittest.inClosedOpenRange = numeric_matchers.inClosedOpenRange; | 144 unittest.inClosedOpenRange = src$47numeric_matchers.inClosedOpenRange; |
145 unittest.predicate = core_matchers.predicate; | 145 unittest.predicate = src$47core_matchers.predicate; |
146 unittest.isNotNull = core_matchers.isNotNull; | 146 unittest.isNotNull = src$47core_matchers.isNotNull; |
147 unittest.wrapMatcher = util.wrapMatcher; | 147 unittest.wrapMatcher = src$47util.wrapMatcher; |
148 unittest.isNoSuchMethodError = error_matchers.isNoSuchMethodError; | 148 unittest.isNoSuchMethodError = src$47error_matchers.isNoSuchMethodError; |
149 unittest.unorderedEquals = iterable_matchers.unorderedEquals; | 149 unittest.unorderedEquals = src$47iterable_matchers.unorderedEquals; |
150 unittest.everyElement = iterable_matchers.everyElement; | 150 unittest.everyElement = src$47iterable_matchers.everyElement; |
151 unittest.addStateInfo = util.addStateInfo; | 151 unittest.addStateInfo = src$47util.addStateInfo; |
152 unittest.isArgumentError = error_matchers.isArgumentError; | 152 unittest.isArgumentError = src$47error_matchers.isArgumentError; |
153 unittest.isException = error_matchers.isException; | 153 unittest.isException = src$47error_matchers.isException; |
154 unittest.inInclusiveRange = numeric_matchers.inInclusiveRange; | 154 unittest.inInclusiveRange = src$47numeric_matchers.inInclusiveRange; |
155 unittest.containsPair = map_matchers.containsPair; | 155 unittest.containsPair = src$47map_matchers.containsPair; |
156 unittest.isFormatException = error_matchers.isFormatException; | 156 unittest.isFormatException = src$47error_matchers.isFormatException; |
157 unittest.orderedEquals = iterable_matchers.orderedEquals; | 157 unittest.orderedEquals = src$47iterable_matchers.orderedEquals; |
158 unittest.collapseWhitespace = string_matchers.collapseWhitespace; | 158 unittest.collapseWhitespace = src$47string_matchers.collapseWhitespace; |
159 unittest.greaterThan = numeric_matchers.greaterThan; | 159 unittest.greaterThan = src$47numeric_matchers.greaterThan; |
160 unittest.isNonNegative = numeric_matchers.isNonNegative; | 160 unittest.isNonNegative = src$47numeric_matchers.isNonNegative; |
161 unittest.isNull = core_matchers.isNull; | 161 unittest.isNull = src$47core_matchers.isNull; |
162 unittest.isMap = core_matchers.isMap; | 162 unittest.isMap = src$47core_matchers.isMap; |
163 unittest.stringContainsInOrder = string_matchers.stringContainsInOrder; | 163 unittest.stringContainsInOrder = src$47string_matchers.stringContainsInOrder; |
164 unittest.closeTo = numeric_matchers.closeTo; | 164 unittest.closeTo = src$47numeric_matchers.closeTo; |
165 unittest.Description = interfaces.Description; | 165 unittest.Description = src$47interfaces.Description; |
166 // Exports: | 166 // Exports: |
167 exports.unittest = unittest; | 167 exports.unittest = unittest; |
168 }); | 168 }); |
OLD | NEW |