hein 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +85 -21
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/assert/deep-has-property.d.ts +19 -1
  5. package/dist/assert/deep-has-property.d.ts.map +1 -1
  6. package/dist/assert/deep-has-property.js.map +1 -1
  7. package/dist/assert/ends-with.d.ts +5 -0
  8. package/dist/assert/ends-with.d.ts.map +1 -1
  9. package/dist/assert/ends-with.js +2 -2
  10. package/dist/assert/ends-with.js.map +1 -1
  11. package/dist/assert/equal.d.ts +1 -1
  12. package/dist/assert/has-members.d.ts +46 -0
  13. package/dist/assert/has-members.d.ts.map +1 -0
  14. package/dist/assert/has-members.js +52 -0
  15. package/dist/assert/has-members.js.map +1 -0
  16. package/dist/assert/has-members.test.d.ts +2 -0
  17. package/dist/assert/has-members.test.d.ts.map +1 -0
  18. package/dist/assert/has-members.test.js +85 -0
  19. package/dist/assert/has-members.test.js.map +1 -0
  20. package/dist/assert/has-property.d.ts +19 -1
  21. package/dist/assert/has-property.d.ts.map +1 -1
  22. package/dist/assert/has-property.js.map +1 -1
  23. package/dist/assert/has-size.d.ts +39 -1
  24. package/dist/assert/has-size.d.ts.map +1 -1
  25. package/dist/assert/has-size.js +4 -1
  26. package/dist/assert/has-size.js.map +1 -1
  27. package/dist/assert/has-size.test.js +10 -0
  28. package/dist/assert/has-size.test.js.map +1 -1
  29. package/dist/assert/in-ballpark.d.ts +13 -1
  30. package/dist/assert/in-ballpark.d.ts.map +1 -1
  31. package/dist/assert/in-ballpark.js +6 -1
  32. package/dist/assert/in-ballpark.js.map +1 -1
  33. package/dist/assert/in-ballpark.test.js +6 -0
  34. package/dist/assert/in-ballpark.test.js.map +1 -1
  35. package/dist/assert/includes.d.ts +15 -0
  36. package/dist/assert/includes.d.ts.map +1 -1
  37. package/dist/assert/includes.js +2 -2
  38. package/dist/assert/includes.js.map +1 -1
  39. package/dist/assert/instance-of.d.ts +10 -8
  40. package/dist/assert/instance-of.d.ts.map +1 -1
  41. package/dist/assert/instance-of.js.map +1 -1
  42. package/dist/assert/instance-of.test.js.map +1 -1
  43. package/dist/assert/is-between.d.ts.map +1 -1
  44. package/dist/assert/is-between.js +8 -7
  45. package/dist/assert/is-between.js.map +1 -1
  46. package/dist/assert/is-between.test.js +3 -0
  47. package/dist/assert/is-between.test.js.map +1 -1
  48. package/dist/assert/is-empty.d.ts +28 -1
  49. package/dist/assert/is-empty.d.ts.map +1 -1
  50. package/dist/assert/is-empty.js +4 -1
  51. package/dist/assert/is-empty.js.map +1 -1
  52. package/dist/assert/is-empty.test.js +4 -0
  53. package/dist/assert/is-empty.test.js.map +1 -1
  54. package/dist/assert/is-type.d.ts +92 -1
  55. package/dist/assert/is-type.d.ts.map +1 -1
  56. package/dist/assert/is-type.js.map +1 -1
  57. package/dist/assert/match.d.ts +12 -1
  58. package/dist/assert/match.d.ts.map +1 -1
  59. package/dist/assert/match.js.map +1 -1
  60. package/dist/assert/rejects.d.ts +32 -1
  61. package/dist/assert/rejects.d.ts.map +1 -1
  62. package/dist/assert/rejects.js +6 -3
  63. package/dist/assert/rejects.js.map +1 -1
  64. package/dist/assert/round-to.d.ts +13 -0
  65. package/dist/assert/round-to.d.ts.map +1 -0
  66. package/dist/assert/round-to.js +29 -0
  67. package/dist/assert/round-to.js.map +1 -0
  68. package/dist/assert/round-to.test.d.ts +2 -0
  69. package/dist/assert/round-to.test.d.ts.map +1 -0
  70. package/dist/assert/round-to.test.js +33 -0
  71. package/dist/assert/round-to.test.js.map +1 -0
  72. package/dist/assert/starts-with.d.ts +6 -0
  73. package/dist/assert/starts-with.d.ts.map +1 -1
  74. package/dist/assert/starts-with.js +2 -2
  75. package/dist/assert/starts-with.js.map +1 -1
  76. package/dist/assert/throws.d.ts +25 -1
  77. package/dist/assert/throws.d.ts.map +1 -1
  78. package/dist/assert/throws.js.map +1 -1
  79. package/dist/assert.d.ts +2 -0
  80. package/dist/assert.d.ts.map +1 -1
  81. package/dist/assert.js +7 -1
  82. package/dist/assert.js.map +1 -1
  83. package/dist/expect/after.d.ts +1 -2
  84. package/dist/expect/after.d.ts.map +1 -1
  85. package/dist/expect/after.js.map +1 -1
  86. package/dist/expect/ballpark.d.ts +1 -1
  87. package/dist/expect/before.d.ts +1 -2
  88. package/dist/expect/before.d.ts.map +1 -1
  89. package/dist/expect/before.js.map +1 -1
  90. package/dist/expect/end-with.d.ts +6 -1
  91. package/dist/expect/end-with.d.ts.map +1 -1
  92. package/dist/expect/end-with.js +3 -3
  93. package/dist/expect/end-with.js.map +1 -1
  94. package/dist/expect/eql.d.ts +1 -4
  95. package/dist/expect/eql.d.ts.map +1 -1
  96. package/dist/expect/eql.js.map +1 -1
  97. package/dist/expect/equal.d.ts +2 -2
  98. package/dist/expect/has-property.d.ts +28 -0
  99. package/dist/expect/has-property.d.ts.map +1 -1
  100. package/dist/expect/has-property.js.map +1 -1
  101. package/dist/expect/instance-of.d.ts +9 -1
  102. package/dist/expect/instance-of.d.ts.map +1 -1
  103. package/dist/expect/instance-of.js.map +1 -1
  104. package/dist/expect/members.d.ts +13 -0
  105. package/dist/expect/members.d.ts.map +1 -0
  106. package/dist/expect/members.js +32 -0
  107. package/dist/expect/members.js.map +1 -0
  108. package/dist/expect/members.test.d.ts +2 -0
  109. package/dist/expect/members.test.d.ts.map +1 -0
  110. package/dist/expect/members.test.js +52 -0
  111. package/dist/expect/members.test.js.map +1 -0
  112. package/dist/expect/reject.d.ts +4 -0
  113. package/dist/expect/reject.d.ts.map +1 -1
  114. package/dist/expect/reject.js.map +1 -1
  115. package/dist/expect/round-to.d.ts +12 -0
  116. package/dist/expect/round-to.d.ts.map +1 -0
  117. package/dist/expect/round-to.js +18 -0
  118. package/dist/expect/round-to.js.map +1 -0
  119. package/dist/expect/round-to.test.d.ts +2 -0
  120. package/dist/expect/round-to.test.d.ts.map +1 -0
  121. package/dist/expect/round-to.test.js +20 -0
  122. package/dist/expect/round-to.test.js.map +1 -0
  123. package/dist/expect/start-with.d.ts +5 -0
  124. package/dist/expect/start-with.d.ts.map +1 -1
  125. package/dist/expect/start-with.js.map +1 -1
  126. package/dist/expect/throw.d.ts +4 -0
  127. package/dist/expect/throw.d.ts.map +1 -1
  128. package/dist/expect/throw.js.map +1 -1
  129. package/dist/expect.d.ts +2 -0
  130. package/dist/expect.d.ts.map +1 -1
  131. package/dist/expect.js +4 -0
  132. package/dist/expect.js.map +1 -1
  133. package/dist/expect.types.d.ts +2 -0
  134. package/dist/expect.types.d.ts.map +1 -1
  135. package/dist/expect.types.js.map +1 -1
  136. package/dist/index.d.ts +3 -0
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +3 -1
  139. package/dist/index.js.map +1 -1
  140. package/dist/mixins.d.ts +2 -0
  141. package/dist/mixins.d.ts.map +1 -1
  142. package/dist/mixins.js.map +1 -1
  143. package/dist/utils/fail.d.ts +5 -0
  144. package/dist/utils/fail.d.ts.map +1 -0
  145. package/dist/utils/fail.js +12 -0
  146. package/dist/utils/fail.js.map +1 -0
  147. package/dist/utils/fail.test.d.ts +2 -0
  148. package/dist/utils/fail.test.d.ts.map +1 -0
  149. package/dist/utils/fail.test.js +12 -0
  150. package/dist/utils/fail.test.js.map +1 -0
  151. package/dist/utils/types.d.ts +4 -0
  152. package/dist/utils/types.d.ts.map +1 -0
  153. package/dist/utils/types.js +3 -0
  154. package/dist/utils/types.js.map +1 -0
  155. package/package.json +6 -3
package/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [hein@1.3.0](https://github.com/KristjanTammekivi/hein/compare/hein@1.2.3...hein@1.3.0)
8
+
9
+ > 15 July 2023
10
+
11
+ - feat: add .fail [`#156`](https://github.com/KristjanTammekivi/hein/issues/156)
12
+ - feat: add .members [`#148`](https://github.com/KristjanTammekivi/hein/issues/148)
13
+ - docs: polish jsdocs [`50b738f`](https://github.com/KristjanTammekivi/hein/commit/50b738f80768df1ec47d347de114818426b10a81)
14
+ - docs: fix build badge [`f897239`](https://github.com/KristjanTammekivi/hein/commit/f897239806aad8f21cf0845a95e60c9c64e45892)
15
+ - docs: add homepage [`bd7917b`](https://github.com/KristjanTammekivi/hein/commit/bd7917b65bf68a71e73afe90e9ea855c2e1c0baf)
16
+
17
+ #### [hein@1.2.3](https://github.com/KristjanTammekivi/hein/compare/hein@1.2.2...hein@1.2.3)
18
+
19
+ > 5 July 2023
20
+
21
+ - feat: add roundTo [`f9bb073`](https://github.com/KristjanTammekivi/hein/commit/f9bb0739b798861e506311a3ba55eb4fd3ac5920)
22
+ - style: remove unused export [`256de45`](https://github.com/KristjanTammekivi/hein/commit/256de455ce7eeff35049d72bc80043db06a68f0c)
23
+
7
24
  #### [hein@1.2.2](https://github.com/KristjanTammekivi/hein/compare/hein@1.2.1...hein@1.2.2)
8
25
 
9
26
  > 5 July 2023
package/README.md CHANGED
@@ -3,35 +3,36 @@
3
3
  [![npm](https://img.shields.io/npm/v/hein?style=flat-square)](https://www.npmjs.com/package/hein)
4
4
  [![npm](https://img.shields.io/npm/types/hein?style=flat-square)](https://www.npmjs.com/package/hein)
5
5
  [![npm](https://img.shields.io/npm/dw/hein?style=flat-square)](https://www.npmjs.com/package/hein)
6
- [![npm](https://img.shields.io/github/workflow/status/KristjanTammekivi/hein/Build,%20Lint,%20and%20Test/main?style=flat-square)](https://www.npmjs.com/package/hein)
6
+ [![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/KristjanTammekivi/hein/build_lint_and_test.yml?style=flat-square)](https://www.npmjs.com/package/hein)
7
7
 
8
8
  Assertion library with focus on TypeScript
9
9
 
10
- ## Features?
10
+ ## Features
11
11
 
12
- * Full TypeScript support
13
- * Fuzzy matching for eql with hein.any
12
+ - Full TypeScript support
13
+ - Fuzzy matching for eql with hein.any
14
14
 
15
- * [Differences between Chai and Hein](https://github.com/KristjanTammekivi/hein/blob/main/packages/hein/DIFFERENCES_WITH_CHAI.md)
15
+ - [Differences between Chai and Hein](https://github.com/KristjanTammekivi/hein/blob/main/packages/hein/DIFFERENCES_WITH_CHAI.md)
16
16
 
17
17
  ## Plugins
18
18
 
19
19
  [npm/hein-plugin-sinon](https://www.npmjs.com/package/hein-plugin-sinon) -
20
20
  Provides assertions like to.have.been.calledOnce() and to.have.been.calledWith() for sinon spies.
21
21
 
22
-
23
22
  ## Usage
24
23
 
25
24
  ### Assert
25
+
26
26
  ```typescript
27
27
  import { assert } from 'hein';
28
- import {equal} from 'hein/assert';
28
+ import { equal } from 'hein/assert';
29
29
 
30
30
  equal(1, 1);
31
31
  assert.equal(1, 1);
32
32
  ```
33
33
 
34
34
  ### Expect
35
+
35
36
  ```typescript
36
37
  import { expect } from 'hein';
37
38
  expect(1).to.equal(1);
@@ -39,13 +40,13 @@ expect(1).to.equal(1);
39
40
 
40
41
  #### Chainable properties
41
42
 
42
- * a
43
- * an
44
- * and - used to chain multiple assertions, clears the state (so .not will be reset)
45
- * be
46
- * have
47
- * not - inverts the expectation (ie `expect(5).to.not.equal(5)` will throw)
48
- * to
43
+ - a
44
+ - an
45
+ - and - used to chain multiple assertions, clears the state (so .not will be reset)
46
+ - be
47
+ - have
48
+ - not - inverts the expectation (ie `expect(5).to.not.equal(5)` will throw)
49
+ - to
49
50
 
50
51
  #### Assertions
51
52
 
@@ -72,6 +73,7 @@ Alias for [lessThanOrEqual](#lessThanOrEqual)
72
73
  ##### ballpark
73
74
 
74
75
  Assert that value is within a range of expectation (default is 0.1 - within 10%)
76
+
75
77
  ```typescript
76
78
  expect(1.1).to.be.in.ballpark(1);
77
79
  expect(120).to.be.in.ballpark(100, 0.2);
@@ -106,12 +108,13 @@ Alias for [include](#include)
106
108
  Assert that value is an instance of Date
107
109
 
108
110
  ```typescript
109
- expect(new Date).to.be.a.date();
111
+ expect(new Date()).to.be.a.date();
110
112
  ```
111
113
 
112
114
  ##### empty
113
115
 
114
116
  Assert that array / object / Map / Set is empty
117
+
115
118
  ```typescript
116
119
  expect([]).to.be.empty();
117
120
  expect({}).to.be.empty();
@@ -122,6 +125,7 @@ expect(new Set()).to.be.empty();
122
125
  ##### endWith
123
126
 
124
127
  Assert that string ends with argument
128
+
125
129
  ```typescript
126
130
  expect('hein').to.endWith('in');
127
131
  ```
@@ -129,17 +133,17 @@ expect('hein').to.endWith('in');
129
133
  ##### eql
130
134
 
131
135
  Assert that value deep equals the expectation. When combined with .partially expected may have missing properties
136
+
132
137
  ```typescript
133
138
  expect({ a: 1 }).to.eql({ a: 1 });
134
- expect({ a: 1, b: new Date()}).to.partially.eql({ a: 1 });
139
+ expect({ a: 1, b: new Date() }).to.partially.eql({ a: 1 });
135
140
 
136
141
  import { any, createEvaluation } from 'hein';
137
142
  expect({ a: 1, b: new Date(), c: Math.random() }).to.eql({
138
143
  a: 1,
139
144
  b: any,
140
- c: createEvaluation(n => typeof n === 'number')
145
+ c: createEvaluation((n) => typeof n === 'number')
141
146
  });
142
-
143
147
  ```
144
148
 
145
149
  ##### eq
@@ -150,15 +154,17 @@ Alias for [equal](#equal)
150
154
 
151
155
  Assert that value strictly equals expectation. NaN is treated as a non-unique value.
152
156
  Chaining with .deep is an alias for [#eql]
157
+
153
158
  ```typescript
154
159
  expect('hein').to.equal('hein');
155
160
  expect(NaN).to.equal(NaN);
156
- expect({ a: 1 }).to.deep.equal({ a: 1 })
161
+ expect({ a: 1 }).to.deep.equal({ a: 1 });
157
162
  ```
158
163
 
159
164
  ##### false
160
165
 
161
166
  Assert that value is false
167
+
162
168
  ```typescript
163
169
  expect(false).to.be.false();
164
170
  ```
@@ -166,6 +172,7 @@ expect(false).to.be.false();
166
172
  ##### function
167
173
 
168
174
  Assert that value is a function
175
+
169
176
  ```typescript
170
177
  expect(() => {}).to.be.a.function();
171
178
  ```
@@ -173,6 +180,7 @@ expect(() => {}).to.be.a.function();
173
180
  ##### greaterThan
174
181
 
175
182
  Assert that value is greater than expectation
183
+
176
184
  ```typescript
177
185
  expect(5).to.be.greaterThan(4);
178
186
  ```
@@ -184,6 +192,7 @@ Alias for [greaterThan](#greaterThan)
184
192
  ##### greaterThanOrEqual
185
193
 
186
194
  Assert that value is greater than or equal to argument
195
+
187
196
  ```typescript
188
197
  expect(5).to.be.greaterThanOrEqual(5);
189
198
  expect(5).to.be.greaterThanOrEqual(4);
@@ -196,6 +205,7 @@ Alias for [greaterThanOrEqual](#greaterThanOrEqual)
196
205
  ##### include
197
206
 
198
207
  Assert that element / substring is present in array / string
208
+
199
209
  ```typescript
200
210
  expect([1, 2, 3]).to.include(2);
201
211
  expect('hein').to.include('ei');
@@ -204,6 +214,7 @@ expect('hein').to.include('ei');
204
214
  ##### instanceOf
205
215
 
206
216
  Assert that value is an instance of provided constructor
217
+
207
218
  ```typescript
208
219
  expect(new Error()).to.be.an.instanceOf(Error);
209
220
  ```
@@ -211,6 +222,7 @@ expect(new Error()).to.be.an.instanceOf(Error);
211
222
  ##### lengthOf
212
223
 
213
224
  Assert that value has a length equal to argument
225
+
214
226
  ```typescript
215
227
  expect([1]).to.have.a.lengthOf(1);
216
228
  expect({ a: 1 }).to.have.a.lengthOf(1);
@@ -222,6 +234,7 @@ expect('hein').to.have.a.lengthOf(4);
222
234
  ##### isAfter
223
235
 
224
236
  Assert that date is before argument
237
+
225
238
  ```typescript
226
239
  expect(new Date(2020, 1, 2)).to.be.after(new Date(2020, 1, 1));
227
240
  ```
@@ -229,6 +242,7 @@ expect(new Date(2020, 1, 2)).to.be.after(new Date(2020, 1, 1));
229
242
  ##### isBefore
230
243
 
231
244
  Assert that date is before argument
245
+
232
246
  ```typescript
233
247
  expect(new Date(2020, 1, 1)).to.be.before(new Date(2020, 1, 2));
234
248
  ```
@@ -236,6 +250,7 @@ expect(new Date(2020, 1, 1)).to.be.before(new Date(2020, 1, 2));
236
250
  ##### isBetween
237
251
 
238
252
  Assert that date or number is between arguments
253
+
239
254
  ```typescript
240
255
  expect(new Date(2020, 1, 2)).to.be.between(new Date(2020, 1, 1), new Date(2020, 1, 3));
241
256
  expect(2).to.be.between(1, 3);
@@ -244,9 +259,11 @@ expect(2).to.be.between(1, 3);
244
259
  ##### lessThan
245
260
 
246
261
  Assert that value is less than expectation
262
+
247
263
  ```typescript
248
264
  expect(5).to.be.lessThan(6);
249
265
  ```
266
+
250
267
  ##### lt
251
268
 
252
269
  Alias for [lessThan](#lessThan)
@@ -254,6 +271,7 @@ Alias for [lessThan](#lessThan)
254
271
  ##### lessThanOrEqual
255
272
 
256
273
  Assert that value is less than or equal to expectation
274
+
257
275
  ```typescript
258
276
  expect(5).to.be.lessThanOrEqual(5);
259
277
  expect(4).to.be.lessThanOrEqual(5);
@@ -266,13 +284,31 @@ Alias for [lessThanOrEqual](#lessThanOrEqual)
266
284
  ##### Map
267
285
 
268
286
  Assert that value is an instance of Map
287
+
269
288
  ```typescript
270
289
  expect(new Map()).to.be.a.Map();
271
290
  ```
272
291
 
292
+ ##### members
293
+
294
+ Assert that array contains members of expectation
295
+
296
+ ```typescript
297
+ expect([1, 2, 3]).to.have.members([1, 2]);
298
+ // check that the arrays have same length
299
+ expect([1, 2, 3]).to.have.same.members([1, 2, 3]);
300
+ // check that the members are found in the same order
301
+ expect([1, 2, 3]).to.have.ordered.members([1, 2, 3]);
302
+ // check for deep equality of members
303
+ expect([{ a: 1 }, { b: 2 }]).to.have.deep.members([{ a: 1 }]);
304
+ // check for members by partial equality
305
+ expect([{ a: 1 }, { b: 2 }]).to.have.partially.members([{ a: 1 }]);
306
+ ```
307
+
273
308
  ##### NaN
274
309
 
275
310
  Assert that value is NaN
311
+
276
312
  ```typescript
277
313
  expect(NaN).to.be.NaN();
278
314
  ```
@@ -280,6 +316,7 @@ expect(NaN).to.be.NaN();
280
316
  ##### null
281
317
 
282
318
  Assert that value is null
319
+
283
320
  ```typescript
284
321
  expect(null).to.be.null();
285
322
  ```
@@ -287,6 +324,7 @@ expect(null).to.be.null();
287
324
  ##### number
288
325
 
289
326
  Assert that value is a number
327
+
290
328
  ```typescript
291
329
  expect(5).to.be.a.number();
292
330
  ```
@@ -294,6 +332,7 @@ expect(5).to.be.a.number();
294
332
  ##### object
295
333
 
296
334
  Assert that value is an object. Null and instances of Array don't count
335
+
297
336
  ```typescript
298
337
  expect({}).to.be.an.object();
299
338
  ```
@@ -301,6 +340,7 @@ expect({}).to.be.an.object();
301
340
  ##### property
302
341
 
303
342
  Assert that actual has property. Optionally check that propery has value
343
+
304
344
  ```typescript
305
345
  expect({ a: 1 }).to.have.property('a');
306
346
  expect({ a: 1 }).to.have.property('a', 1);
@@ -309,24 +349,37 @@ expect({ a: 1 }).to.have.property('a', 1);
309
349
  ##### reject
310
350
 
311
351
  Assert that provided Promise rejects. At the moment this is the only assertion that can't be chained, returns a promise
352
+
312
353
  ```typescript
313
354
  await expect(Promise.reject()).to.reject();
314
355
  ```
315
356
 
357
+ ##### roundTo
358
+
359
+ Assert that number can be rounded to target
360
+
361
+ ```typescript
362
+ expect(5.5).to.be.roundTo(6);
363
+ expect(5.14).to.roundTo(5.1, 1);
364
+ expect(110).to.roundTo(100, -2);
365
+ ```
366
+
316
367
  ##### Set
317
368
 
318
369
  Assert that value is an instance of Set
370
+
319
371
  ```typescript
320
372
  expect(new Set()).to.be.a.Set();
321
373
  ```
374
+
322
375
  ##### sizeOf
323
376
 
324
377
  Alias of [lengthOf](#lengthOf)
325
378
 
326
-
327
379
  ##### startWith
328
380
 
329
381
  Assert that string starts with argument
382
+
330
383
  ```typescript
331
384
  expect('hein').to.startWith('he');
332
385
  ```
@@ -334,6 +387,7 @@ expect('hein').to.startWith('he');
334
387
  ##### string
335
388
 
336
389
  Assert that value is a string
390
+
337
391
  ```typescript
338
392
  expect('hein').to.be.a.string();
339
393
  ```
@@ -341,6 +395,7 @@ expect('hein').to.be.a.string();
341
395
  ##### symbol
342
396
 
343
397
  Assert that value is a symbol
398
+
344
399
  ```typescript
345
400
  expect(Symbol()).to.be.a.symbol();
346
401
  ```
@@ -348,12 +403,17 @@ expect(Symbol()).to.be.a.symbol();
348
403
  ##### throw
349
404
 
350
405
  Assert that provided function throws
406
+
351
407
  ```typescript
352
- expect(() => { throw new Error() }).to.throw();
408
+ expect(() => {
409
+ throw new Error();
410
+ }).to.throw();
353
411
  ```
412
+
354
413
  ##### true
355
414
 
356
415
  Assert that value is true
416
+
357
417
  ```typescript
358
418
  expect(true).to.be.true;
359
419
  ```
@@ -361,6 +421,7 @@ expect(true).to.be.true;
361
421
  ##### undefined
362
422
 
363
423
  Assert that value is undefined
424
+
364
425
  ```typescript
365
426
  expect(undefined).to.be.undefined();
366
427
  ```
@@ -368,6 +429,7 @@ expect(undefined).to.be.undefined();
368
429
  ##### WeakMap
369
430
 
370
431
  Assert that value is an instance of WeakMap
432
+
371
433
  ```typescript
372
434
  expect(new WeakMap()).to.be.a.WeakMap();
373
435
  ```
@@ -375,6 +437,7 @@ expect(new WeakMap()).to.be.a.WeakMap();
375
437
  ##### WeakSet
376
438
 
377
439
  Assert that value is an instance of WeakSet
440
+
378
441
  ```typescript
379
442
  expect(new WeakSet()).to.be.a.WeakSet();
380
443
  ```
@@ -384,6 +447,7 @@ expect(new WeakSet()).to.be.a.WeakSet();
384
447
  ##### excluding
385
448
 
386
449
  Exclude properties from assertion
450
+
387
451
  ```typescript
388
452
  expect({ a: 1, b: 2 }).excluding('a').to.eql({ b: 2 });
389
453
  ```