@quenty/adorneeutils 3.3.6 → 3.5.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.5.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/adorneeutils@3.4.0...@quenty/adorneeutils@3.5.0) (2026-08-28)
7
+
8
+ **Note:** Version bump only for package @quenty/adorneeutils
9
+
10
+ # [3.4.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/adorneeutils@3.3.6...@quenty/adorneeutils@3.4.0) (2026-08-28)
11
+
12
+ **Note:** Version bump only for package @quenty/adorneeutils
13
+
6
14
  ## [3.3.6](https://github.com/Quenty/NevermoreEngine/compare/@quenty/adorneeutils@3.3.5...@quenty/adorneeutils@3.3.6) (2026-08-24)
7
15
 
8
16
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/adorneeutils",
3
- "version": "3.3.6",
3
+ "version": "3.5.0",
4
4
  "description": "AdorneeUtils - Generic adornee functions to make attaching to objects in Roblox easier.",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -25,9 +25,10 @@
25
25
  "preinstall": "npx only-allow pnpm"
26
26
  },
27
27
  "dependencies": {
28
+ "@quenty/jestutils": "1.1.0",
28
29
  "@quenty/loader": "10.11.1",
29
- "@quenty/maid": "3.11.1",
30
- "@quenty/nevermore-test-runner": "1.5.1",
30
+ "@quenty/maid": "3.12.0",
31
+ "@quenty/nevermore-test-runner": "1.6.0",
31
32
  "@quentystudios/jest-lua": "3.10.0-quenty.2"
32
33
  },
33
34
  "contributors": [
@@ -36,5 +37,5 @@
36
37
  "publishConfig": {
37
38
  "access": "public"
38
39
  },
39
- "gitHead": "1a2c0cc735d06b4adcd324f60302b950e12d68b0"
40
+ "gitHead": "346201e192e467cb71160f43029863853be855b5"
40
41
  }
@@ -7,6 +7,7 @@ local require = require(script.Parent.loader).load(script)
7
7
 
8
8
  local AdorneeUtils = require("AdorneeUtils")
9
9
  local Jest = require("Jest")
10
+ local JestUtils = require("JestUtils")
10
11
  local Maid = require("Maid")
11
12
 
12
13
  local describe = Jest.Globals.describe
@@ -44,7 +45,7 @@ type Controller = {
44
45
  newHandlelessTool: () -> (Tool, BasePart),
45
46
  newAccessory: () -> (Accessory, BasePart),
46
47
  newClothing: () -> (Clothing, BasePart),
47
- destroy: () -> (),
48
+ Destroy: (self: Controller) -> (),
48
49
  }
49
50
 
50
51
  local function setup(): Controller
@@ -161,11 +162,13 @@ local function setup(): Controller
161
162
  return clothing, part
162
163
  end,
163
164
 
164
- destroy = function()
165
+ Destroy = function(_self)
165
166
  maid:DoCleaning()
166
167
  end,
167
168
  }
168
169
 
170
+ maid:GiveTask(JestUtils.afterThis(controller))
171
+
169
172
  return controller
170
173
  end
171
174
 
@@ -176,7 +179,7 @@ describe("Tool inheriting from Model", function()
176
179
 
177
180
  expect(tool:IsA("Model")).toEqual(true)
178
181
 
179
- controller.destroy()
182
+ controller:Destroy()
180
183
  end)
181
184
 
182
185
  it("adorns to the handle rather than the model bounding box", function()
@@ -189,7 +192,7 @@ describe("Tool inheriting from Model", function()
189
192
  expect(AdorneeUtils.getAlignedSize(tool)).toEqual(handle.Size)
190
193
  expect(AdorneeUtils.getRenderAdornee(tool)).toEqual(handle)
191
194
 
192
- controller.destroy()
195
+ controller:Destroy()
193
196
  end)
194
197
 
195
198
  it("does not fall back to another part when the tool has no handle", function()
@@ -202,7 +205,7 @@ describe("Tool inheriting from Model", function()
202
205
  expect(AdorneeUtils.getAlignedSize(tool)).toBeNil()
203
206
  expect(AdorneeUtils.getRenderAdornee(tool)).toBeNil()
204
207
 
205
- controller.destroy()
208
+ controller:Destroy()
206
209
  end)
207
210
 
208
211
  it("adorns to the handle even when the tool has a primary part", function()
@@ -212,7 +215,7 @@ describe("Tool inheriting from Model", function()
212
215
 
213
216
  expect(AdorneeUtils.getPart(tool)).toEqual(handle)
214
217
 
215
- controller.destroy()
218
+ controller:Destroy()
216
219
  end)
217
220
 
218
221
  it("leaves plain models on the model path", function()
@@ -223,7 +226,7 @@ describe("Tool inheriting from Model", function()
223
226
  expect(AdorneeUtils.getAlignedSize(model)).toEqual(MODEL_BOUNDING_BOX_SIZE)
224
227
  expect(AdorneeUtils.getRenderAdornee(model)).toEqual(model)
225
228
 
226
- controller.destroy()
229
+ controller:Destroy()
227
230
  end)
228
231
  end)
229
232
 
@@ -234,7 +237,7 @@ describe("AdorneeUtils.getCenter", function()
234
237
 
235
238
  expect(AdorneeUtils.getCenter(part)).toEqual(Vector3.new(1, 2, 3))
236
239
 
237
- controller.destroy()
240
+ controller:Destroy()
238
241
  end)
239
242
 
240
243
  it("returns the bounding box center of a model", function()
@@ -243,7 +246,7 @@ describe("AdorneeUtils.getCenter", function()
243
246
 
244
247
  expect(AdorneeUtils.getCenter(model)).toEqual(MODEL_BOUNDING_BOX_CFRAME.Position)
245
248
 
246
- controller.destroy()
249
+ controller:Destroy()
247
250
  end)
248
251
 
249
252
  it("returns the world position of an attachment", function()
@@ -253,7 +256,7 @@ describe("AdorneeUtils.getCenter", function()
253
256
 
254
257
  expect(AdorneeUtils.getCenter(attachment)).toEqual(Vector3.new(10, 1, 0))
255
258
 
256
- controller.destroy()
259
+ controller:Destroy()
257
260
  end)
258
261
 
259
262
  it("returns the root part position of a humanoid", function()
@@ -262,7 +265,7 @@ describe("AdorneeUtils.getCenter", function()
262
265
 
263
266
  expect(AdorneeUtils.getCenter(humanoid)).toEqual(ROOT_PART_CFRAME.Position)
264
267
 
265
- controller.destroy()
268
+ controller:Destroy()
266
269
  end)
267
270
 
268
271
  it("returns nil for a humanoid with no root part", function()
@@ -271,7 +274,7 @@ describe("AdorneeUtils.getCenter", function()
271
274
 
272
275
  expect(AdorneeUtils.getCenter(humanoid)).toBeNil()
273
276
 
274
- controller.destroy()
277
+ controller:Destroy()
275
278
  end)
276
279
 
277
280
  it("returns the handle position of an accessory", function()
@@ -280,7 +283,7 @@ describe("AdorneeUtils.getCenter", function()
280
283
 
281
284
  expect(AdorneeUtils.getCenter(accessory)).toEqual(ACCESSORY_HANDLE_CFRAME.Position)
282
285
 
283
- controller.destroy()
286
+ controller:Destroy()
284
287
  end)
285
288
 
286
289
  it("returns nil for an accessory with no part", function()
@@ -290,7 +293,7 @@ describe("AdorneeUtils.getCenter", function()
290
293
  expect(AdorneeUtils.getCenter(accessory)).toBeNil()
291
294
 
292
295
  accessory:Destroy()
293
- controller.destroy()
296
+ controller:Destroy()
294
297
  end)
295
298
 
296
299
  it("returns the part position of clothing", function()
@@ -299,7 +302,7 @@ describe("AdorneeUtils.getCenter", function()
299
302
 
300
303
  expect(AdorneeUtils.getCenter(clothing)).toEqual(CLOTHING_PART_CFRAME.Position)
301
304
 
302
- controller.destroy()
305
+ controller:Destroy()
303
306
  end)
304
307
 
305
308
  it("returns the handle position of a tool", function()
@@ -308,7 +311,7 @@ describe("AdorneeUtils.getCenter", function()
308
311
 
309
312
  expect(AdorneeUtils.getCenter(tool)).toEqual(HANDLE_CFRAME.Position)
310
313
 
311
- controller.destroy()
314
+ controller:Destroy()
312
315
  end)
313
316
 
314
317
  it("returns nil when a tool's handle is not a base part", function()
@@ -321,7 +324,7 @@ describe("AdorneeUtils.getCenter", function()
321
324
 
322
325
  expect(AdorneeUtils.getCenter(tool)).toBeNil()
323
326
 
324
- controller.destroy()
327
+ controller:Destroy()
325
328
  end)
326
329
 
327
330
  it("returns nil for an unsupported adornee", function()
@@ -330,7 +333,7 @@ describe("AdorneeUtils.getCenter", function()
330
333
 
331
334
  expect(AdorneeUtils.getCenter(folder)).toBeNil()
332
335
 
333
- controller.destroy()
336
+ controller:Destroy()
334
337
  end)
335
338
 
336
339
  it("throws for a non-instance", function()
@@ -354,7 +357,7 @@ describe("AdorneeUtils.getBoundingBox", function()
354
357
  expect(cframe).toEqual(MODEL_BOUNDING_BOX_CFRAME)
355
358
  expect(size).toEqual(MODEL_BOUNDING_BOX_SIZE)
356
359
 
357
- controller.destroy()
360
+ controller:Destroy()
358
361
  end)
359
362
 
360
363
  it("returns a zero sized box at an attachment's world cframe", function()
@@ -367,7 +370,7 @@ describe("AdorneeUtils.getBoundingBox", function()
367
370
  expect(cframe).toEqual(CFrame.new(10, 1, 0))
368
371
  expect(size).toEqual(Vector3.zero)
369
372
 
370
- controller.destroy()
373
+ controller:Destroy()
371
374
  end)
372
375
 
373
376
  it("returns the cframe and size of a base part", function()
@@ -379,7 +382,7 @@ describe("AdorneeUtils.getBoundingBox", function()
379
382
  expect(cframe).toEqual(CFrame.new(1, 2, 3))
380
383
  expect(size).toEqual(Vector3.new(4, 1, 2))
381
384
 
382
- controller.destroy()
385
+ controller:Destroy()
383
386
  end)
384
387
 
385
388
  it("returns the handle box of a tool rather than its model bounding box", function()
@@ -396,7 +399,7 @@ describe("AdorneeUtils.getBoundingBox", function()
396
399
  expect(cframe).toEqual(HANDLE_CFRAME)
397
400
  expect(size).toEqual(HANDLE_SIZE)
398
401
 
399
- controller.destroy()
402
+ controller:Destroy()
400
403
  end)
401
404
 
402
405
  it("returns nil for a tool with no handle", function()
@@ -408,7 +411,7 @@ describe("AdorneeUtils.getBoundingBox", function()
408
411
  expect(cframe).toBeNil()
409
412
  expect(size).toBeNil()
410
413
 
411
- controller.destroy()
414
+ controller:Destroy()
412
415
  end)
413
416
 
414
417
  it("returns the root part cframe and the character size for a humanoid", function()
@@ -420,7 +423,7 @@ describe("AdorneeUtils.getBoundingBox", function()
420
423
  expect(cframe).toEqual(ROOT_PART_CFRAME)
421
424
  expect(size).toEqual(CHARACTER_BOUNDING_BOX_SIZE)
422
425
 
423
- controller.destroy()
426
+ controller:Destroy()
424
427
  end)
425
428
 
426
429
  it("returns nil for an unsupported adornee", function()
@@ -432,7 +435,7 @@ describe("AdorneeUtils.getBoundingBox", function()
432
435
  expect(cframe).toBeNil()
433
436
  expect(size).toBeNil()
434
437
 
435
- controller.destroy()
438
+ controller:Destroy()
436
439
  end)
437
440
  end)
438
441
 
@@ -443,7 +446,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
443
446
 
444
447
  expect(AdorneeUtils.isPartOfAdornee(part, part)).toEqual(true)
445
448
 
446
- controller.destroy()
449
+ controller:Destroy()
447
450
  end)
448
451
 
449
452
  it("returns true for a descendant part", function()
@@ -452,7 +455,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
452
455
 
453
456
  expect(AdorneeUtils.isPartOfAdornee(model, first)).toEqual(true)
454
457
 
455
- controller.destroy()
458
+ controller:Destroy()
456
459
  end)
457
460
 
458
461
  it("returns true for a deeply nested part", function()
@@ -467,7 +470,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
467
470
 
468
471
  expect(AdorneeUtils.isPartOfAdornee(model, nested)).toEqual(true)
469
472
 
470
- controller.destroy()
473
+ controller:Destroy()
471
474
  end)
472
475
 
473
476
  it("returns false for an unrelated part", function()
@@ -477,7 +480,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
477
480
 
478
481
  expect(AdorneeUtils.isPartOfAdornee(model, other)).toEqual(false)
479
482
 
480
- controller.destroy()
483
+ controller:Destroy()
481
484
  end)
482
485
 
483
486
  it("returns true for a part of the humanoid's character", function()
@@ -486,7 +489,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
486
489
 
487
490
  expect(AdorneeUtils.isPartOfAdornee(humanoid, rootPart)).toEqual(true)
488
491
 
489
- controller.destroy()
492
+ controller:Destroy()
490
493
  end)
491
494
 
492
495
  it("returns false for a part outside the humanoid's character", function()
@@ -496,7 +499,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
496
499
 
497
500
  expect(AdorneeUtils.isPartOfAdornee(humanoid, other)).toEqual(false)
498
501
 
499
- controller.destroy()
502
+ controller:Destroy()
500
503
  end)
501
504
 
502
505
  it("returns false for a humanoid with no parent", function()
@@ -506,7 +509,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
506
509
 
507
510
  expect(AdorneeUtils.isPartOfAdornee(humanoid, part)).toEqual(false)
508
511
 
509
- controller.destroy()
512
+ controller:Destroy()
510
513
  end)
511
514
 
512
515
  it("returns true for the parts of a tool", function()
@@ -516,7 +519,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
516
519
  expect(AdorneeUtils.isPartOfAdornee(tool, handle)).toEqual(true)
517
520
  expect(AdorneeUtils.isPartOfAdornee(tool, blade)).toEqual(true)
518
521
 
519
- controller.destroy()
522
+ controller:Destroy()
520
523
  end)
521
524
 
522
525
  it("throws for a bad part", function()
@@ -532,7 +535,7 @@ describe("AdorneeUtils.isPartOfAdornee", function()
532
535
  AdorneeUtils.isPartOfAdornee(part, folder :: any)
533
536
  end).toThrow()
534
537
 
535
- controller.destroy()
538
+ controller:Destroy()
536
539
  end)
537
540
  end)
538
541
 
@@ -543,7 +546,7 @@ describe("AdorneeUtils.getParts", function()
543
546
 
544
547
  expect(AdorneeUtils.getParts(part)).toEqual({ part })
545
548
 
546
- controller.destroy()
549
+ controller:Destroy()
547
550
  end)
548
551
 
549
552
  it("includes the descendants of a base part", function()
@@ -554,7 +557,7 @@ describe("AdorneeUtils.getParts", function()
554
557
 
555
558
  expect(AdorneeUtils.getParts(part)).toEqual({ part, child })
556
559
 
557
- controller.destroy()
560
+ controller:Destroy()
558
561
  end)
559
562
 
560
563
  it("returns every part of a model", function()
@@ -563,7 +566,7 @@ describe("AdorneeUtils.getParts", function()
563
566
 
564
567
  expect(AdorneeUtils.getParts(model)).toEqual({ first, second })
565
568
 
566
- controller.destroy()
569
+ controller:Destroy()
567
570
  end)
568
571
 
569
572
  it("returns the nested parts of a model", function()
@@ -578,7 +581,7 @@ describe("AdorneeUtils.getParts", function()
578
581
 
579
582
  expect(AdorneeUtils.getParts(model)).toEqual({ nested })
580
583
 
581
- controller.destroy()
584
+ controller:Destroy()
582
585
  end)
583
586
 
584
587
  it("returns the character's parts for a humanoid", function()
@@ -590,7 +593,7 @@ describe("AdorneeUtils.getParts", function()
590
593
  expect(#parts).toEqual(2)
591
594
  expect(parts[1]).toEqual(rootPart)
592
595
 
593
- controller.destroy()
596
+ controller:Destroy()
594
597
  end)
595
598
 
596
599
  it("returns an empty list for a humanoid with no parent", function()
@@ -599,7 +602,7 @@ describe("AdorneeUtils.getParts", function()
599
602
 
600
603
  expect(AdorneeUtils.getParts(humanoid)).toEqual({})
601
604
 
602
- controller.destroy()
605
+ controller:Destroy()
603
606
  end)
604
607
 
605
608
  it("returns every part of a tool", function()
@@ -608,7 +611,7 @@ describe("AdorneeUtils.getParts", function()
608
611
 
609
612
  expect(AdorneeUtils.getParts(tool)).toEqual({ blade, handle })
610
613
 
611
- controller.destroy()
614
+ controller:Destroy()
612
615
  end)
613
616
 
614
617
  it("returns an empty list for an adornee with no parts", function()
@@ -617,7 +620,7 @@ describe("AdorneeUtils.getParts", function()
617
620
 
618
621
  expect(AdorneeUtils.getParts(folder)).toEqual({})
619
622
 
620
- controller.destroy()
623
+ controller:Destroy()
621
624
  end)
622
625
 
623
626
  it("throws for a non-instance", function()
@@ -634,7 +637,7 @@ describe("AdorneeUtils.getAlignedSize", function()
634
637
 
635
638
  expect(AdorneeUtils.getAlignedSize(model)).toEqual(MODEL_BOUNDING_BOX_SIZE)
636
639
 
637
- controller.destroy()
640
+ controller:Destroy()
638
641
  end)
639
642
 
640
643
  it("returns the character bounding box size for a humanoid", function()
@@ -643,7 +646,7 @@ describe("AdorneeUtils.getAlignedSize", function()
643
646
 
644
647
  expect(AdorneeUtils.getAlignedSize(humanoid)).toEqual(CHARACTER_BOUNDING_BOX_SIZE)
645
648
 
646
- controller.destroy()
649
+ controller:Destroy()
647
650
  end)
648
651
 
649
652
  it("returns nil for a humanoid whose parent is not a model", function()
@@ -653,7 +656,7 @@ describe("AdorneeUtils.getAlignedSize", function()
653
656
 
654
657
  expect(AdorneeUtils.getAlignedSize(humanoid)).toBeNil()
655
658
 
656
- controller.destroy()
659
+ controller:Destroy()
657
660
  end)
658
661
 
659
662
  it("returns nil for a humanoid with no parent", function()
@@ -662,7 +665,7 @@ describe("AdorneeUtils.getAlignedSize", function()
662
665
 
663
666
  expect(AdorneeUtils.getAlignedSize(humanoid)).toBeNil()
664
667
 
665
- controller.destroy()
668
+ controller:Destroy()
666
669
  end)
667
670
 
668
671
  it("returns the size of a base part", function()
@@ -671,7 +674,7 @@ describe("AdorneeUtils.getAlignedSize", function()
671
674
 
672
675
  expect(AdorneeUtils.getAlignedSize(part)).toEqual(Vector3.new(4, 1, 2))
673
676
 
674
- controller.destroy()
677
+ controller:Destroy()
675
678
  end)
676
679
 
677
680
  it("returns the ancestor part size for an attachment", function()
@@ -681,7 +684,7 @@ describe("AdorneeUtils.getAlignedSize", function()
681
684
 
682
685
  expect(AdorneeUtils.getAlignedSize(attachment)).toEqual(Vector3.new(4, 1, 2))
683
686
 
684
- controller.destroy()
687
+ controller:Destroy()
685
688
  end)
686
689
 
687
690
  it("returns the handle size of a tool", function()
@@ -690,7 +693,7 @@ describe("AdorneeUtils.getAlignedSize", function()
690
693
 
691
694
  expect(AdorneeUtils.getAlignedSize(tool)).toEqual(HANDLE_SIZE)
692
695
 
693
- controller.destroy()
696
+ controller:Destroy()
694
697
  end)
695
698
 
696
699
  it("returns nil for a tool with no handle", function()
@@ -699,7 +702,7 @@ describe("AdorneeUtils.getAlignedSize", function()
699
702
 
700
703
  expect(AdorneeUtils.getAlignedSize(tool)).toBeNil()
701
704
 
702
- controller.destroy()
705
+ controller:Destroy()
703
706
  end)
704
707
 
705
708
  it("returns nil for an unsupported adornee", function()
@@ -708,7 +711,7 @@ describe("AdorneeUtils.getAlignedSize", function()
708
711
 
709
712
  expect(AdorneeUtils.getAlignedSize(folder)).toBeNil()
710
713
 
711
- controller.destroy()
714
+ controller:Destroy()
712
715
  end)
713
716
  end)
714
717
 
@@ -719,7 +722,7 @@ describe("AdorneeUtils.getPartCFrame", function()
719
722
 
720
723
  expect(AdorneeUtils.getPartCFrame(part)).toEqual(CFrame.new(1, 2, 3))
721
724
 
722
- controller.destroy()
725
+ controller:Destroy()
723
726
  end)
724
727
 
725
728
  it("returns the handle cframe of a tool", function()
@@ -728,7 +731,7 @@ describe("AdorneeUtils.getPartCFrame", function()
728
731
 
729
732
  expect(AdorneeUtils.getPartCFrame(tool)).toEqual(HANDLE_CFRAME)
730
733
 
731
- controller.destroy()
734
+ controller:Destroy()
732
735
  end)
733
736
 
734
737
  it("returns the root part cframe of a humanoid", function()
@@ -737,7 +740,7 @@ describe("AdorneeUtils.getPartCFrame", function()
737
740
 
738
741
  expect(AdorneeUtils.getPartCFrame(humanoid)).toEqual(ROOT_PART_CFRAME)
739
742
 
740
- controller.destroy()
743
+ controller:Destroy()
741
744
  end)
742
745
 
743
746
  it("returns nil for an adornee with no part", function()
@@ -746,7 +749,7 @@ describe("AdorneeUtils.getPartCFrame", function()
746
749
 
747
750
  expect(AdorneeUtils.getPartCFrame(folder)).toBeNil()
748
751
 
749
- controller.destroy()
752
+ controller:Destroy()
750
753
  end)
751
754
 
752
755
  it("throws for a non-instance", function()
@@ -763,7 +766,7 @@ describe("AdorneeUtils.getPartPosition", function()
763
766
 
764
767
  expect(AdorneeUtils.getPartPosition(part)).toEqual(Vector3.new(1, 2, 3))
765
768
 
766
- controller.destroy()
769
+ controller:Destroy()
767
770
  end)
768
771
 
769
772
  it("returns the primary part position of a model", function()
@@ -773,7 +776,7 @@ describe("AdorneeUtils.getPartPosition", function()
773
776
 
774
777
  expect(AdorneeUtils.getPartPosition(model)).toEqual(second.Position)
775
778
 
776
- controller.destroy()
779
+ controller:Destroy()
777
780
  end)
778
781
 
779
782
  it("returns the root part position of a humanoid", function()
@@ -782,7 +785,7 @@ describe("AdorneeUtils.getPartPosition", function()
782
785
 
783
786
  expect(AdorneeUtils.getPartPosition(humanoid)).toEqual(ROOT_PART_CFRAME.Position)
784
787
 
785
- controller.destroy()
788
+ controller:Destroy()
786
789
  end)
787
790
 
788
791
  it("returns nil for an adornee with no part", function()
@@ -791,7 +794,7 @@ describe("AdorneeUtils.getPartPosition", function()
791
794
 
792
795
  expect(AdorneeUtils.getPartPosition(folder)).toBeNil()
793
796
 
794
- controller.destroy()
797
+ controller:Destroy()
795
798
  end)
796
799
 
797
800
  it("throws for a non-instance", function()
@@ -810,7 +813,7 @@ describe("AdorneeUtils.getPartVelocity", function()
810
813
 
811
814
  expect(AdorneeUtils.getPartVelocity(part)).toEqual(Vector3.new(1, 2, 3))
812
815
 
813
- controller.destroy()
816
+ controller:Destroy()
814
817
  end)
815
818
 
816
819
  it("returns zero for an anchored part", function()
@@ -819,7 +822,7 @@ describe("AdorneeUtils.getPartVelocity", function()
819
822
 
820
823
  expect(AdorneeUtils.getPartVelocity(part)).toEqual(Vector3.zero)
821
824
 
822
- controller.destroy()
825
+ controller:Destroy()
823
826
  end)
824
827
 
825
828
  it("returns the handle velocity of a tool", function()
@@ -830,7 +833,7 @@ describe("AdorneeUtils.getPartVelocity", function()
830
833
 
831
834
  expect(AdorneeUtils.getPartVelocity(tool)).toEqual(Vector3.new(0, 5, 0))
832
835
 
833
- controller.destroy()
836
+ controller:Destroy()
834
837
  end)
835
838
 
836
839
  it("returns nil for an adornee with no part", function()
@@ -839,7 +842,7 @@ describe("AdorneeUtils.getPartVelocity", function()
839
842
 
840
843
  expect(AdorneeUtils.getPartVelocity(folder)).toBeNil()
841
844
 
842
- controller.destroy()
845
+ controller:Destroy()
843
846
  end)
844
847
  end)
845
848
 
@@ -850,7 +853,7 @@ describe("AdorneeUtils.getPart", function()
850
853
 
851
854
  expect(AdorneeUtils.getPart(part)).toEqual(part)
852
855
 
853
- controller.destroy()
856
+ controller:Destroy()
854
857
  end)
855
858
 
856
859
  it("returns a model's primary part", function()
@@ -860,7 +863,7 @@ describe("AdorneeUtils.getPart", function()
860
863
 
861
864
  expect(AdorneeUtils.getPart(model)).toEqual(second)
862
865
 
863
- controller.destroy()
866
+ controller:Destroy()
864
867
  end)
865
868
 
866
869
  it("returns a model's first base part when there is no primary part", function()
@@ -869,7 +872,7 @@ describe("AdorneeUtils.getPart", function()
869
872
 
870
873
  expect(AdorneeUtils.getPart(model)).toEqual(first)
871
874
 
872
- controller.destroy()
875
+ controller:Destroy()
873
876
  end)
874
877
 
875
878
  it("returns nil for a model with no parts", function()
@@ -878,7 +881,7 @@ describe("AdorneeUtils.getPart", function()
878
881
 
879
882
  expect(AdorneeUtils.getPart(model)).toBeNil()
880
883
 
881
- controller.destroy()
884
+ controller:Destroy()
882
885
  end)
883
886
 
884
887
  it("returns nil for a model whose parts are not direct children", function()
@@ -893,7 +896,7 @@ describe("AdorneeUtils.getPart", function()
893
896
 
894
897
  expect(AdorneeUtils.getPart(model)).toBeNil()
895
898
 
896
- controller.destroy()
899
+ controller:Destroy()
897
900
  end)
898
901
 
899
902
  it("returns the ancestor part of an attachment", function()
@@ -903,7 +906,7 @@ describe("AdorneeUtils.getPart", function()
903
906
 
904
907
  expect(AdorneeUtils.getPart(attachment)).toEqual(part)
905
908
 
906
- controller.destroy()
909
+ controller:Destroy()
907
910
  end)
908
911
 
909
912
  it("returns nil for an attachment with no ancestor part", function()
@@ -913,7 +916,7 @@ describe("AdorneeUtils.getPart", function()
913
916
 
914
917
  expect(AdorneeUtils.getPart(attachment)).toBeNil()
915
918
 
916
- controller.destroy()
919
+ controller:Destroy()
917
920
  end)
918
921
 
919
922
  it("returns the root part of a humanoid", function()
@@ -922,7 +925,7 @@ describe("AdorneeUtils.getPart", function()
922
925
 
923
926
  expect(AdorneeUtils.getPart(humanoid)).toEqual(rootPart)
924
927
 
925
- controller.destroy()
928
+ controller:Destroy()
926
929
  end)
927
930
 
928
931
  it("returns nil for a humanoid with no root part", function()
@@ -931,7 +934,7 @@ describe("AdorneeUtils.getPart", function()
931
934
 
932
935
  expect(AdorneeUtils.getPart(humanoid)).toBeNil()
933
936
 
934
- controller.destroy()
937
+ controller:Destroy()
935
938
  end)
936
939
 
937
940
  it("returns the handle of an accessory", function()
@@ -940,7 +943,7 @@ describe("AdorneeUtils.getPart", function()
940
943
 
941
944
  expect(AdorneeUtils.getPart(accessory)).toEqual(handle)
942
945
 
943
- controller.destroy()
946
+ controller:Destroy()
944
947
  end)
945
948
 
946
949
  it("returns the part of clothing", function()
@@ -949,7 +952,7 @@ describe("AdorneeUtils.getPart", function()
949
952
 
950
953
  expect(AdorneeUtils.getPart(clothing)).toEqual(part)
951
954
 
952
- controller.destroy()
955
+ controller:Destroy()
953
956
  end)
954
957
 
955
958
  it("returns the handle of a tool ahead of any other part", function()
@@ -958,7 +961,7 @@ describe("AdorneeUtils.getPart", function()
958
961
 
959
962
  expect(AdorneeUtils.getPart(tool)).toEqual(handle)
960
963
 
961
- controller.destroy()
964
+ controller:Destroy()
962
965
  end)
963
966
 
964
967
  it("returns nil for a tool with no handle", function()
@@ -967,7 +970,7 @@ describe("AdorneeUtils.getPart", function()
967
970
 
968
971
  expect(AdorneeUtils.getPart(tool)).toBeNil()
969
972
 
970
- controller.destroy()
973
+ controller:Destroy()
971
974
  end)
972
975
 
973
976
  it("returns nil for an unsupported adornee", function()
@@ -976,7 +979,7 @@ describe("AdorneeUtils.getPart", function()
976
979
 
977
980
  expect(AdorneeUtils.getPart(folder)).toBeNil()
978
981
 
979
- controller.destroy()
982
+ controller:Destroy()
980
983
  end)
981
984
 
982
985
  it("throws for a non-instance", function()
@@ -993,7 +996,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
993
996
 
994
997
  expect(AdorneeUtils.getRenderAdornee(part)).toEqual(part)
995
998
 
996
- controller.destroy()
999
+ controller:Destroy()
997
1000
  end)
998
1001
 
999
1002
  it("returns a model itself", function()
@@ -1002,7 +1005,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1002
1005
 
1003
1006
  expect(AdorneeUtils.getRenderAdornee(model)).toEqual(model)
1004
1007
 
1005
- controller.destroy()
1008
+ controller:Destroy()
1006
1009
  end)
1007
1010
 
1008
1011
  it("returns an attachment itself", function()
@@ -1012,7 +1015,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1012
1015
 
1013
1016
  expect(AdorneeUtils.getRenderAdornee(attachment)).toEqual(attachment)
1014
1017
 
1015
- controller.destroy()
1018
+ controller:Destroy()
1016
1019
  end)
1017
1020
 
1018
1021
  it("returns the character of a humanoid", function()
@@ -1021,7 +1024,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1021
1024
 
1022
1025
  expect(AdorneeUtils.getRenderAdornee(humanoid)).toEqual(character)
1023
1026
 
1024
- controller.destroy()
1027
+ controller:Destroy()
1025
1028
  end)
1026
1029
 
1027
1030
  it("returns nil for a humanoid with no parent", function()
@@ -1030,7 +1033,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1030
1033
 
1031
1034
  expect(AdorneeUtils.getRenderAdornee(humanoid)).toBeNil()
1032
1035
 
1033
- controller.destroy()
1036
+ controller:Destroy()
1034
1037
  end)
1035
1038
 
1036
1039
  it("returns the handle of an accessory", function()
@@ -1039,7 +1042,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1039
1042
 
1040
1043
  expect(AdorneeUtils.getRenderAdornee(accessory)).toEqual(handle)
1041
1044
 
1042
- controller.destroy()
1045
+ controller:Destroy()
1043
1046
  end)
1044
1047
 
1045
1048
  it("returns the part of clothing", function()
@@ -1048,7 +1051,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1048
1051
 
1049
1052
  expect(AdorneeUtils.getRenderAdornee(clothing)).toEqual(part)
1050
1053
 
1051
- controller.destroy()
1054
+ controller:Destroy()
1052
1055
  end)
1053
1056
 
1054
1057
  it("returns the handle of a tool rather than the tool", function()
@@ -1057,7 +1060,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1057
1060
 
1058
1061
  expect(AdorneeUtils.getRenderAdornee(tool)).toEqual(handle)
1059
1062
 
1060
- controller.destroy()
1063
+ controller:Destroy()
1061
1064
  end)
1062
1065
 
1063
1066
  it("returns nil for a tool with no handle", function()
@@ -1066,7 +1069,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1066
1069
 
1067
1070
  expect(AdorneeUtils.getRenderAdornee(tool)).toBeNil()
1068
1071
 
1069
- controller.destroy()
1072
+ controller:Destroy()
1070
1073
  end)
1071
1074
 
1072
1075
  it("returns nil for an unsupported adornee", function()
@@ -1075,7 +1078,7 @@ describe("AdorneeUtils.getRenderAdornee", function()
1075
1078
 
1076
1079
  expect(AdorneeUtils.getRenderAdornee(folder)).toBeNil()
1077
1080
 
1078
- controller.destroy()
1081
+ controller:Destroy()
1079
1082
  end)
1080
1083
 
1081
1084
  it("throws for a non-instance", function()