Skip to content

Commit b30658e

Browse files
committed
Simplified assert
1 parent 4ff4d2b commit b30658e

File tree

2 files changed

+29
-62
lines changed

2 files changed

+29
-62
lines changed

dist/lib/assert.js

Lines changed: 15 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ function equal(actual, expected) {
126126
try {
127127
equal(actual[key], expected[key]);
128128
}
129-
catch (e) {
129+
catch (_a) {
130130
throw error();
131131
}
132132
}
@@ -136,17 +136,13 @@ function equal(actual, expected) {
136136
case Array: {
137137
if (!(actual && actual.constructor === Array))
138138
throw error();
139-
try {
140-
equal(actual.length, expected.length);
141-
}
142-
catch (e) {
139+
if (actual.length !== expected.length)
143140
throw error();
144-
}
145141
for (let i = 0; i < expected.length; i++) {
146142
try {
147143
equal(actual[i], expected[i]);
148144
}
149-
catch (e) {
145+
catch (_b) {
150146
throw error();
151147
}
152148
}
@@ -155,20 +151,16 @@ function equal(actual, expected) {
155151
case Map: {
156152
if (!(actual && actual.constructor === Map))
157153
throw error();
158-
try {
159-
equal(actual.size, expected.size);
160-
}
161-
catch (e) {
154+
if (actual.size !== expected.size)
162155
throw error();
163-
}
164156
const expectedIterator = expected.entries();
165157
const actualIterator = actual.entries();
166158
let entry;
167159
while (!(entry = expectedIterator.next()).done) {
168160
try {
169161
equal(entry.value, actualIterator.next().value);
170162
}
171-
catch (e) {
163+
catch (_c) {
172164
throw error();
173165
}
174166
}
@@ -177,20 +169,16 @@ function equal(actual, expected) {
177169
case Set: {
178170
if (!(actual && actual.constructor === Set))
179171
throw error();
180-
try {
181-
equal(actual.size, expected.size);
182-
}
183-
catch (e) {
172+
if (actual.size !== expected.size)
184173
throw error();
185-
}
186174
const expectedIterator = expected.values();
187175
const actualIterator = actual.values();
188176
let entry;
189177
while (!(entry = expectedIterator.next()).done) {
190178
try {
191179
equal(entry.value, actualIterator.next().value);
192180
}
193-
catch (e) {
181+
catch (_d) {
194182
throw error();
195183
}
196184
}
@@ -199,37 +187,24 @@ function equal(actual, expected) {
199187
case ArrayBuffer: {
200188
if (!(actual && actual.constructor === ArrayBuffer))
201189
throw error();
202-
try {
203-
equal(actual.byteLength, expected.byteLength);
204-
}
205-
catch (e) {
190+
if (actual.byteLength !== expected.byteLength)
206191
throw error();
207-
}
208192
const castActual = new Uint8Array(actual);
209193
const castExpected = new Uint8Array(expected);
210-
try {
211-
for (let i = 0; i < castExpected.length; i++)
212-
equal(castActual[i], castExpected[i]);
213-
}
214-
catch (e) {
215-
throw error();
194+
for (let i = 0; i < castExpected.length; i++) {
195+
if (castActual[i] !== castExpected[i])
196+
throw error();
216197
}
217198
break;
218199
}
219-
case Function: {
200+
case Function:
220201
if (!(actual && actual.constructor === Function))
221202
throw error();
222-
try {
223-
equal(actual.name, expected.name);
224-
}
225-
catch (e) {
203+
if (actual.name !== expected.name)
226204
throw error();
227-
}
228205
break;
229-
}
230-
default: {
206+
default:
231207
matchedSpecialCase = false;
232-
}
233208
}
234209
if (matchedSpecialCase)
235210
return;
@@ -239,7 +214,7 @@ function equal(actual, expected) {
239214
try {
240215
equals = expected.equals(actual);
241216
}
242-
catch (e) {
217+
catch (_e) {
243218
throw new Error('equals() is not implemented for ' + util_inspect_1.inspect(expected));
244219
}
245220
if (!equals)

lib/assert.ts

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -122,75 +122,67 @@ function equal(actual: any, expected: any): void {
122122
/*istanbul ignore else*/
123123
if ({}.hasOwnProperty.call(expected, key)) {
124124
try { equal(actual[key], expected[key]) }
125-
catch (e) { throw error() }
125+
catch { throw error() }
126126
}
127127
}
128128
break
129129
}
130130
case Array: {
131131
if (!(actual && actual.constructor === Array)) throw error()
132-
try { equal(actual.length, expected.length) }
133-
catch (e) { throw error() }
132+
if (actual.length !== expected.length) throw error()
134133
for (let i = 0; i < expected.length; i++) {
135134
try { equal(actual[i], expected[i]) }
136-
catch (e) { throw error() }
135+
catch { throw error() }
137136
}
138137
break
139138
}
140139
case Map: {
141140
if (!(actual && actual.constructor === Map)) throw error()
142-
try { equal(actual.size, expected.size) }
143-
catch (e) { throw error() }
141+
if (actual.size !== expected.size) throw error()
144142
const expectedIterator = expected.entries()
145143
const actualIterator = actual.entries()
146144
let entry
147145
while (!(entry = expectedIterator.next()).done) {
148146
try { equal(entry.value, actualIterator.next().value) }
149-
catch (e) { throw error() }
147+
catch { throw error() }
150148
}
151149
break
152150
}
153151
case Set: {
154152
if (!(actual && actual.constructor === Set)) throw error()
155-
try { equal(actual.size, expected.size) }
156-
catch (e) { throw error() }
153+
if (actual.size !== expected.size) throw error()
157154
const expectedIterator = expected.values()
158155
const actualIterator = actual.values()
159156
let entry
160157
while (!(entry = expectedIterator.next()).done) {
161158
try { equal(entry.value, actualIterator.next().value) }
162-
catch (e) { throw error() }
159+
catch { throw error() }
163160
}
164161
break
165162
}
166163
case ArrayBuffer: {
167164
if (!(actual && actual.constructor === ArrayBuffer)) throw error()
168-
try { equal(actual.byteLength, expected.byteLength) }
169-
catch (e) { throw error() }
165+
if (actual.byteLength !== expected.byteLength) throw error()
170166
const castActual = new Uint8Array(actual)
171167
const castExpected = new Uint8Array(expected)
172-
try {
173-
for (let i = 0; i < castExpected.length; i++) equal(castActual[i], castExpected[i])
168+
for (let i = 0; i < castExpected.length; i++) {
169+
if (castActual[i] !== castExpected[i]) throw error()
174170
}
175-
catch (e) { throw error() }
176171
break
177172
}
178-
case Function: {
173+
case Function:
179174
if (!(actual && actual.constructor === Function)) throw error()
180-
try { equal(actual.name, expected.name) }
181-
catch (e) { throw error() }
175+
if (actual.name !== expected.name) throw error()
182176
break
183-
}
184-
default: {
177+
default:
185178
matchedSpecialCase = false
186-
}
187179
}
188180
if (matchedSpecialCase) return
189181
}
190182
if (!(expected === undefined || expected === null) && expected.equals instanceof Function) { //if expected has an equals function, use it
191183
let equals: boolean
192184
try { equals = expected.equals(actual) }
193-
catch (e) { throw new Error('equals() is not implemented for ' + inspect(expected)) }
185+
catch { throw new Error('equals() is not implemented for ' + inspect(expected)) }
194186
if (!equals) throw error()
195187
}
196188
else { //use primitive equality if nothing else matches

0 commit comments

Comments
 (0)