@papillonarts/library 0.35.0 → 0.37.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.
@@ -1,5 +1,62 @@
1
1
  // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
+ exports[`<Array /> Render must match features() 1`] = `
4
+ <div>
5
+ &lt;h1&gt;Array&lt;/h1&gt;
6
+ &lt;blockquote&gt;
7
+ &lt;p&gt;Array all functions&lt;/p&gt;
8
+ &lt;/blockquote&gt;
9
+ &lt;pre&gt;&lt;code&gt;# Functions
10
+
11
+
12
+ <p>
13
+ &gt; getCurrentIndex(), getIndexItems(), getIndexItemsWithSelected(), getRandomItemFromArray()
14
+ </p>
15
+
16
+
17
+ <p>
18
+ &gt; getSelectedItem(), getSelectedItemText(), getItemsDefaultSelected()
19
+
20
+ &lt;/code&gt;
21
+ &lt;/pre&gt;
22
+ </p>
23
+
24
+
25
+ &lt;h2&gt;getCurrentIndex()&lt;/h2&gt;
26
+ &lt;blockquote&gt;
27
+ &lt;p&gt;Array getCurrentIndex() function&lt;/p&gt;
28
+ &lt;/blockquote&gt;
29
+ &lt;h2&gt;getIndexItems()&lt;/h2&gt;
30
+ &lt;blockquote&gt;
31
+ &lt;p&gt;Array getIndexItems() function&lt;/p&gt;
32
+ &lt;/blockquote&gt;
33
+ &lt;h2&gt;getIndexItemsWithSelected()&lt;/h2&gt;
34
+ &lt;blockquote&gt;
35
+ &lt;p&gt;Array getIndexItemsWithSelected() function&lt;/p&gt;
36
+ &lt;/blockquote&gt;
37
+ &lt;h2&gt;getRandomItemFromArray()&lt;/h2&gt;
38
+ &lt;blockquote&gt;
39
+ &lt;p&gt;Array getRandomItemFromArray() function&lt;/p&gt;
40
+ &lt;/blockquote&gt;
41
+ &lt;h2&gt;getSelectedItem()&lt;/h2&gt;
42
+ &lt;blockquote&gt;
43
+ &lt;p&gt;Array getSelectedItem() function&lt;/p&gt;
44
+ &lt;/blockquote&gt;
45
+ &lt;h2&gt;getSelectedItemText()&lt;/h2&gt;
46
+ &lt;blockquote&gt;
47
+ &lt;p&gt;Array getSelectedItemText() function&lt;/p&gt;
48
+ &lt;/blockquote&gt;
49
+ &lt;h2&gt;getItemsDefaultSelected()&lt;/h2&gt;
50
+ &lt;blockquote&gt;
51
+ &lt;p&gt;Array getItemsDefaultSelected() function&lt;/p&gt;
52
+ &lt;/blockquote&gt;
53
+ &lt;h2&gt;getItemsRandomSelected()&lt;/h2&gt;
54
+ &lt;blockquote&gt;
55
+ &lt;p&gt;Array getItemsRandomSelected() function&lt;/p&gt;
56
+ &lt;/blockquote&gt;
57
+ </div>
58
+ `;
59
+
3
60
  exports[`<Array /> Render must match getCurrentIndex() 1`] = `
4
61
  <div>
5
62
  <pre
@@ -12,18 +69,6 @@ exports[`<Array /> Render must match getCurrentIndex() 1`] = `
12
69
  <span>
13
70
 
14
71
 
15
- </span>
16
- <span>
17
-
18
- </span>
19
- <span
20
- style="color: rgb(101, 115, 126);"
21
- >
22
- // Papillon Arts Lodash
23
- </span>
24
- <span>
25
-
26
-
27
72
  </span>
28
73
  <span>
29
74
 
@@ -476,3 +521,3138 @@ exports[`<Array /> Render must match getCurrentIndex() 1`] = `
476
521
  </pre>
477
522
  </div>
478
523
  `;
524
+
525
+ exports[`<Array /> Render must match getIndexItems() 1`] = `
526
+ <div>
527
+ <pre
528
+ style="display: block; overflow-x: auto; background: rgb(43, 48, 59); color: rgb(192, 197, 206); padding: 0.5em;"
529
+ >
530
+ <code
531
+ class="language-typescript"
532
+ style="white-space: pre;"
533
+ >
534
+ <span>
535
+
536
+
537
+ </span>
538
+ <span>
539
+
540
+ </span>
541
+ <span
542
+ style="color: rgb(180, 142, 173);"
543
+ >
544
+ export
545
+ </span>
546
+ <span>
547
+
548
+ </span>
549
+ <span
550
+ class="hljs-function"
551
+ style="color: rgb(180, 142, 173);"
552
+ >
553
+ function
554
+ </span>
555
+ <span
556
+ class="hljs-function"
557
+ >
558
+
559
+ </span>
560
+ <span
561
+ class="hljs-function"
562
+ style="color: rgb(143, 161, 179);"
563
+ >
564
+ getIndexItems
565
+ </span>
566
+ <span
567
+ class="hljs-function"
568
+ >
569
+ &lt;
570
+ </span>
571
+ <span
572
+ class="hljs-function"
573
+ style="color: rgb(143, 161, 179);"
574
+ >
575
+ T1
576
+ </span>
577
+ <span
578
+ class="hljs-function"
579
+ >
580
+ ,
581
+ </span>
582
+ <span
583
+ class="hljs-function"
584
+ style="color: rgb(143, 161, 179);"
585
+ >
586
+ T2
587
+ </span>
588
+ <span
589
+ class="hljs-function"
590
+ >
591
+
592
+ </span>
593
+ <span
594
+ class="hljs-function"
595
+ style="color: rgb(143, 161, 179);"
596
+ >
597
+ extends
598
+ </span>
599
+ <span
600
+ class="hljs-function"
601
+ >
602
+
603
+ </span>
604
+ <span
605
+ class="hljs-function"
606
+ style="color: rgb(143, 161, 179);"
607
+ >
608
+ IIndexed
609
+ </span>
610
+ <span
611
+ class="hljs-function"
612
+ >
613
+ &gt;(
614
+ </span>
615
+ <span
616
+ class="hljs-function"
617
+ style="color: rgb(208, 135, 112);"
618
+ >
619
+ items: T1[]
620
+ </span>
621
+ <span
622
+ class="hljs-function"
623
+ >
624
+ ):
625
+ </span>
626
+ <span
627
+ class="hljs-function"
628
+ style="color: rgb(143, 161, 179);"
629
+ >
630
+ T2
631
+ </span>
632
+ <span
633
+ class="hljs-function"
634
+ >
635
+ []
636
+ </span>
637
+ <span>
638
+ {
639
+
640
+ </span>
641
+ <span>
642
+
643
+ </span>
644
+ <span
645
+ style="color: rgb(180, 142, 173);"
646
+ >
647
+ let
648
+ </span>
649
+ <span>
650
+ result = []
651
+
652
+ </span>
653
+
654
+
655
+ <span>
656
+
657
+ </span>
658
+ <span
659
+ style="color: rgb(180, 142, 173);"
660
+ >
661
+ if
662
+ </span>
663
+ <span>
664
+ (items) {
665
+
666
+ </span>
667
+ result =
668
+
669
+ <span>
670
+ items?.map(
671
+ </span>
672
+ <span
673
+ class="hljs-function"
674
+ >
675
+ (
676
+ </span>
677
+ <span
678
+ class="hljs-function"
679
+ style="color: rgb(208, 135, 112);"
680
+ >
681
+ item: T1, index:
682
+ </span>
683
+ <span
684
+ class="hljs-function"
685
+ style="color: rgb(208, 135, 112);"
686
+ >
687
+ number
688
+ </span>
689
+ <span
690
+ class="hljs-function"
691
+ >
692
+ ) =&gt;
693
+ </span>
694
+ <span>
695
+ ({
696
+
697
+ </span>
698
+ ...item,
699
+
700
+ index,
701
+
702
+ })) ?? []
703
+
704
+ }
705
+
706
+
707
+
708
+ <span>
709
+
710
+ </span>
711
+ <span
712
+ style="color: rgb(180, 142, 173);"
713
+ >
714
+ return
715
+ </span>
716
+ <span>
717
+ result
718
+
719
+ </span>
720
+ }
721
+
722
+
723
+
724
+ <span>
725
+ describe(
726
+ </span>
727
+ <span
728
+ style="color: rgb(163, 190, 140);"
729
+ >
730
+ 'getIndexItems()'
731
+ </span>
732
+ <span>
733
+ ,
734
+ </span>
735
+ <span
736
+ class="hljs-function"
737
+ >
738
+ () =&gt;
739
+ </span>
740
+ <span>
741
+ {
742
+
743
+ </span>
744
+ <span>
745
+
746
+ </span>
747
+ <span
748
+ style="color: rgb(180, 142, 173);"
749
+ >
750
+ const
751
+ </span>
752
+ <span>
753
+ items = [
754
+
755
+ </span>
756
+ <span>
757
+ {
758
+ </span>
759
+ <span
760
+ class="hljs-attr"
761
+ >
762
+ fantasticKey1
763
+ </span>
764
+ <span>
765
+ :
766
+ </span>
767
+ <span
768
+ style="color: rgb(163, 190, 140);"
769
+ >
770
+ 'fantastic-value-1'
771
+ </span>
772
+ <span>
773
+ ,
774
+ </span>
775
+ <span
776
+ class="hljs-attr"
777
+ >
778
+ isCurrent
779
+ </span>
780
+ <span>
781
+ :
782
+ </span>
783
+ <span
784
+ style="color: rgb(208, 135, 112);"
785
+ >
786
+ true
787
+ </span>
788
+ <span>
789
+ },
790
+
791
+ </span>
792
+ <span>
793
+ {
794
+ </span>
795
+ <span
796
+ class="hljs-attr"
797
+ >
798
+ fantasticKey2
799
+ </span>
800
+ <span>
801
+ :
802
+ </span>
803
+ <span
804
+ style="color: rgb(163, 190, 140);"
805
+ >
806
+ 'fantastic-value-2'
807
+ </span>
808
+ <span>
809
+ ,
810
+ </span>
811
+ <span
812
+ class="hljs-attr"
813
+ >
814
+ isCurrent
815
+ </span>
816
+ <span>
817
+ :
818
+ </span>
819
+ <span
820
+ style="color: rgb(208, 135, 112);"
821
+ >
822
+ false
823
+ </span>
824
+ <span>
825
+ },
826
+
827
+ </span>
828
+ <span>
829
+ {
830
+ </span>
831
+ <span
832
+ class="hljs-attr"
833
+ >
834
+ fantasticKey3
835
+ </span>
836
+ <span>
837
+ :
838
+ </span>
839
+ <span
840
+ style="color: rgb(163, 190, 140);"
841
+ >
842
+ 'fantastic-value-3'
843
+ </span>
844
+ <span>
845
+ ,
846
+ </span>
847
+ <span
848
+ class="hljs-attr"
849
+ >
850
+ isCurrent
851
+ </span>
852
+ <span>
853
+ :
854
+ </span>
855
+ <span
856
+ style="color: rgb(208, 135, 112);"
857
+ >
858
+ false
859
+ </span>
860
+ <span>
861
+ },
862
+
863
+ </span>
864
+ ]
865
+
866
+
867
+
868
+ <span>
869
+ test(
870
+ </span>
871
+ <span
872
+ style="color: rgb(163, 190, 140);"
873
+ >
874
+ 'must return items with index when there are items'
875
+ </span>
876
+ <span>
877
+ ,
878
+ </span>
879
+ <span
880
+ class="hljs-function"
881
+ >
882
+ () =&gt;
883
+ </span>
884
+ <span>
885
+ {
886
+
887
+ </span>
888
+ <span>
889
+
890
+ </span>
891
+ <span
892
+ style="color: rgb(180, 142, 173);"
893
+ >
894
+ const
895
+ </span>
896
+ <span>
897
+ itemsWithoutIndex = [items[
898
+ </span>
899
+ <span
900
+ style="color: rgb(208, 135, 112);"
901
+ >
902
+ 0
903
+ </span>
904
+ <span>
905
+ ], items[
906
+ </span>
907
+ <span
908
+ style="color: rgb(208, 135, 112);"
909
+ >
910
+ 1
911
+ </span>
912
+ <span>
913
+ ], items[
914
+ </span>
915
+ <span
916
+ style="color: rgb(208, 135, 112);"
917
+ >
918
+ 2
919
+ </span>
920
+ <span>
921
+ ]]
922
+
923
+ </span>
924
+ <span>
925
+
926
+ </span>
927
+ <span
928
+ style="color: rgb(180, 142, 173);"
929
+ >
930
+ const
931
+ </span>
932
+ <span>
933
+ itemsWithIndex = [
934
+
935
+ </span>
936
+ <span>
937
+ { ...items[
938
+ </span>
939
+ <span
940
+ style="color: rgb(208, 135, 112);"
941
+ >
942
+ 0
943
+ </span>
944
+ <span>
945
+ ],
946
+ </span>
947
+ <span
948
+ class="hljs-attr"
949
+ >
950
+ index
951
+ </span>
952
+ <span>
953
+ :
954
+ </span>
955
+ <span
956
+ style="color: rgb(208, 135, 112);"
957
+ >
958
+ 0
959
+ </span>
960
+ <span>
961
+ },
962
+
963
+ </span>
964
+ <span>
965
+ { ...items[
966
+ </span>
967
+ <span
968
+ style="color: rgb(208, 135, 112);"
969
+ >
970
+ 1
971
+ </span>
972
+ <span>
973
+ ],
974
+ </span>
975
+ <span
976
+ class="hljs-attr"
977
+ >
978
+ index
979
+ </span>
980
+ <span>
981
+ :
982
+ </span>
983
+ <span
984
+ style="color: rgb(208, 135, 112);"
985
+ >
986
+ 1
987
+ </span>
988
+ <span>
989
+ },
990
+
991
+ </span>
992
+ <span>
993
+ { ...items[
994
+ </span>
995
+ <span
996
+ style="color: rgb(208, 135, 112);"
997
+ >
998
+ 2
999
+ </span>
1000
+ <span>
1001
+ ],
1002
+ </span>
1003
+ <span
1004
+ class="hljs-attr"
1005
+ >
1006
+ index
1007
+ </span>
1008
+ <span>
1009
+ :
1010
+ </span>
1011
+ <span
1012
+ style="color: rgb(208, 135, 112);"
1013
+ >
1014
+ 2
1015
+ </span>
1016
+ <span>
1017
+ },
1018
+
1019
+ </span>
1020
+ ]
1021
+
1022
+
1023
+
1024
+ expect(getIndexItems(itemsWithoutIndex)).toEqual(itemsWithIndex)
1025
+
1026
+ })
1027
+
1028
+
1029
+
1030
+ <span>
1031
+ test(
1032
+ </span>
1033
+ <span
1034
+ style="color: rgb(163, 190, 140);"
1035
+ >
1036
+ 'must return empty array when items are empty'
1037
+ </span>
1038
+ <span>
1039
+ ,
1040
+ </span>
1041
+ <span
1042
+ class="hljs-function"
1043
+ >
1044
+ () =&gt;
1045
+ </span>
1046
+ <span>
1047
+ {
1048
+
1049
+ </span>
1050
+ <span>
1051
+
1052
+ </span>
1053
+ <span
1054
+ style="color: rgb(180, 142, 173);"
1055
+ >
1056
+ const
1057
+ </span>
1058
+ <span>
1059
+ itemsWithoutIndex = []
1060
+
1061
+ </span>
1062
+
1063
+
1064
+ expect(getIndexItems(itemsWithoutIndex)).toEqual([])
1065
+
1066
+ })
1067
+
1068
+
1069
+
1070
+ <span>
1071
+ test(
1072
+ </span>
1073
+ <span
1074
+ style="color: rgb(163, 190, 140);"
1075
+ >
1076
+ 'must return empty array when there are no items'
1077
+ </span>
1078
+ <span>
1079
+ ,
1080
+ </span>
1081
+ <span
1082
+ class="hljs-function"
1083
+ >
1084
+ () =&gt;
1085
+ </span>
1086
+ <span>
1087
+ {
1088
+
1089
+ </span>
1090
+ <span>
1091
+
1092
+ </span>
1093
+ <span
1094
+ style="color: rgb(180, 142, 173);"
1095
+ >
1096
+ let
1097
+ </span>
1098
+ <span>
1099
+ itemsWithoutIndex
1100
+
1101
+ </span>
1102
+
1103
+
1104
+ expect(getIndexItems(itemsWithoutIndex)).toEqual([])
1105
+
1106
+ })
1107
+
1108
+ })
1109
+
1110
+ </code>
1111
+ </pre>
1112
+ </div>
1113
+ `;
1114
+
1115
+ exports[`<Array /> Render must match getIndexItemsWithSelected() 1`] = `
1116
+ <div>
1117
+ <pre
1118
+ style="display: block; overflow-x: auto; background: rgb(43, 48, 59); color: rgb(192, 197, 206); padding: 0.5em;"
1119
+ >
1120
+ <code
1121
+ class="language-typescript"
1122
+ style="white-space: pre;"
1123
+ >
1124
+ <span>
1125
+
1126
+
1127
+ </span>
1128
+ <span>
1129
+
1130
+ </span>
1131
+ <span
1132
+ style="color: rgb(180, 142, 173);"
1133
+ >
1134
+ export
1135
+ </span>
1136
+ <span>
1137
+
1138
+ </span>
1139
+ <span
1140
+ class="hljs-function"
1141
+ style="color: rgb(180, 142, 173);"
1142
+ >
1143
+ function
1144
+ </span>
1145
+ <span
1146
+ class="hljs-function"
1147
+ >
1148
+
1149
+ </span>
1150
+ <span
1151
+ class="hljs-function"
1152
+ style="color: rgb(143, 161, 179);"
1153
+ >
1154
+ getIndexItemsWithSelected
1155
+ </span>
1156
+ <span
1157
+ class="hljs-function"
1158
+ >
1159
+ &lt;
1160
+ </span>
1161
+ <span
1162
+ class="hljs-function"
1163
+ style="color: rgb(143, 161, 179);"
1164
+ >
1165
+ T1
1166
+ </span>
1167
+ <span
1168
+ class="hljs-function"
1169
+ >
1170
+
1171
+ </span>
1172
+ <span
1173
+ class="hljs-function"
1174
+ style="color: rgb(143, 161, 179);"
1175
+ >
1176
+ extends
1177
+ </span>
1178
+ <span
1179
+ class="hljs-function"
1180
+ >
1181
+
1182
+ </span>
1183
+ <span
1184
+ class="hljs-function"
1185
+ style="color: rgb(143, 161, 179);"
1186
+ >
1187
+ IIndexed
1188
+ </span>
1189
+ <span
1190
+ class="hljs-function"
1191
+ >
1192
+ ,
1193
+ </span>
1194
+ <span
1195
+ class="hljs-function"
1196
+ style="color: rgb(143, 161, 179);"
1197
+ >
1198
+ T2
1199
+ </span>
1200
+ <span
1201
+ class="hljs-function"
1202
+ >
1203
+
1204
+ </span>
1205
+ <span
1206
+ class="hljs-function"
1207
+ style="color: rgb(143, 161, 179);"
1208
+ >
1209
+ extends
1210
+ </span>
1211
+ <span
1212
+ class="hljs-function"
1213
+ >
1214
+
1215
+ </span>
1216
+ <span
1217
+ class="hljs-function"
1218
+ style="color: rgb(143, 161, 179);"
1219
+ >
1220
+ IIndexed
1221
+ </span>
1222
+ <span
1223
+ class="hljs-function"
1224
+ >
1225
+ &gt;(
1226
+ </span>
1227
+ <span
1228
+ class="hljs-function"
1229
+ style="color: rgb(208, 135, 112);"
1230
+ >
1231
+ indexItems: T1[], selectedItem: IIndexed
1232
+ </span>
1233
+ <span
1234
+ class="hljs-function"
1235
+ >
1236
+ ):
1237
+ </span>
1238
+ <span
1239
+ class="hljs-function"
1240
+ style="color: rgb(143, 161, 179);"
1241
+ >
1242
+ T2
1243
+ </span>
1244
+ <span
1245
+ class="hljs-function"
1246
+ >
1247
+ []
1248
+ </span>
1249
+ <span>
1250
+ {
1251
+
1252
+ </span>
1253
+ <span>
1254
+
1255
+ </span>
1256
+ <span
1257
+ style="color: rgb(180, 142, 173);"
1258
+ >
1259
+ let
1260
+ </span>
1261
+ <span>
1262
+ result = []
1263
+
1264
+ </span>
1265
+
1266
+
1267
+ <span>
1268
+
1269
+ </span>
1270
+ <span
1271
+ style="color: rgb(180, 142, 173);"
1272
+ >
1273
+ if
1274
+ </span>
1275
+ <span>
1276
+ (indexItems) {
1277
+
1278
+ </span>
1279
+ result =
1280
+
1281
+ <span>
1282
+ indexItems?.map(
1283
+ </span>
1284
+ <span
1285
+ class="hljs-function"
1286
+ >
1287
+ (
1288
+ </span>
1289
+ <span
1290
+ class="hljs-function"
1291
+ style="color: rgb(208, 135, 112);"
1292
+ >
1293
+ indexItem: T1
1294
+ </span>
1295
+ <span
1296
+ class="hljs-function"
1297
+ >
1298
+ ) =&gt;
1299
+ </span>
1300
+ <span>
1301
+ ({
1302
+
1303
+ </span>
1304
+ ...indexItem,
1305
+
1306
+ <span>
1307
+
1308
+ </span>
1309
+ <span
1310
+ class="hljs-attr"
1311
+ >
1312
+ isSelected
1313
+ </span>
1314
+ <span>
1315
+ : indexItem.index === selectedItem.index,
1316
+
1317
+ </span>
1318
+ })) ?? []
1319
+
1320
+ }
1321
+
1322
+
1323
+
1324
+ <span>
1325
+
1326
+ </span>
1327
+ <span
1328
+ style="color: rgb(180, 142, 173);"
1329
+ >
1330
+ return
1331
+ </span>
1332
+ <span>
1333
+ result
1334
+
1335
+ </span>
1336
+ }
1337
+
1338
+
1339
+
1340
+ <span>
1341
+ describe(
1342
+ </span>
1343
+ <span
1344
+ style="color: rgb(163, 190, 140);"
1345
+ >
1346
+ 'getIndexItemsWithSelected()'
1347
+ </span>
1348
+ <span>
1349
+ ,
1350
+ </span>
1351
+ <span
1352
+ class="hljs-function"
1353
+ >
1354
+ () =&gt;
1355
+ </span>
1356
+ <span>
1357
+ {
1358
+
1359
+ </span>
1360
+ <span>
1361
+ test(
1362
+ </span>
1363
+ <span
1364
+ style="color: rgb(163, 190, 140);"
1365
+ >
1366
+ 'must return index items with selected when there are items'
1367
+ </span>
1368
+ <span>
1369
+ ,
1370
+ </span>
1371
+ <span
1372
+ class="hljs-function"
1373
+ >
1374
+ () =&gt;
1375
+ </span>
1376
+ <span>
1377
+ {
1378
+
1379
+ </span>
1380
+ <span>
1381
+
1382
+ </span>
1383
+ <span
1384
+ style="color: rgb(180, 142, 173);"
1385
+ >
1386
+ const
1387
+ </span>
1388
+ <span>
1389
+ selectedItem = {
1390
+ </span>
1391
+ <span
1392
+ class="hljs-attr"
1393
+ >
1394
+ fantasticKey3
1395
+ </span>
1396
+ <span>
1397
+ :
1398
+ </span>
1399
+ <span
1400
+ style="color: rgb(163, 190, 140);"
1401
+ >
1402
+ 'fantastic-value-3'
1403
+ </span>
1404
+ <span>
1405
+ ,
1406
+ </span>
1407
+ <span
1408
+ class="hljs-attr"
1409
+ >
1410
+ index
1411
+ </span>
1412
+ <span>
1413
+ :
1414
+ </span>
1415
+ <span
1416
+ style="color: rgb(208, 135, 112);"
1417
+ >
1418
+ 2
1419
+ </span>
1420
+ <span>
1421
+ ,
1422
+ </span>
1423
+ <span
1424
+ class="hljs-attr"
1425
+ >
1426
+ isCurrent
1427
+ </span>
1428
+ <span>
1429
+ :
1430
+ </span>
1431
+ <span
1432
+ style="color: rgb(208, 135, 112);"
1433
+ >
1434
+ false
1435
+ </span>
1436
+ <span>
1437
+ ,
1438
+ </span>
1439
+ <span
1440
+ class="hljs-attr"
1441
+ >
1442
+ isSelected
1443
+ </span>
1444
+ <span>
1445
+ :
1446
+ </span>
1447
+ <span
1448
+ style="color: rgb(208, 135, 112);"
1449
+ >
1450
+ false
1451
+ </span>
1452
+ <span>
1453
+ }
1454
+
1455
+ </span>
1456
+ <span>
1457
+
1458
+ </span>
1459
+ <span
1460
+ style="color: rgb(180, 142, 173);"
1461
+ >
1462
+ const
1463
+ </span>
1464
+ <span>
1465
+ items = [
1466
+
1467
+ </span>
1468
+ <span>
1469
+ {
1470
+ </span>
1471
+ <span
1472
+ class="hljs-attr"
1473
+ >
1474
+ fantasticKey1
1475
+ </span>
1476
+ <span>
1477
+ :
1478
+ </span>
1479
+ <span
1480
+ style="color: rgb(163, 190, 140);"
1481
+ >
1482
+ 'fantastic-value-1'
1483
+ </span>
1484
+ <span>
1485
+ ,
1486
+ </span>
1487
+ <span
1488
+ class="hljs-attr"
1489
+ >
1490
+ isCurrent
1491
+ </span>
1492
+ <span>
1493
+ :
1494
+ </span>
1495
+ <span
1496
+ style="color: rgb(208, 135, 112);"
1497
+ >
1498
+ true
1499
+ </span>
1500
+ <span>
1501
+ },
1502
+
1503
+ </span>
1504
+ <span>
1505
+ {
1506
+ </span>
1507
+ <span
1508
+ class="hljs-attr"
1509
+ >
1510
+ fantasticKey2
1511
+ </span>
1512
+ <span>
1513
+ :
1514
+ </span>
1515
+ <span
1516
+ style="color: rgb(163, 190, 140);"
1517
+ >
1518
+ 'fantastic-value-2'
1519
+ </span>
1520
+ <span>
1521
+ ,
1522
+ </span>
1523
+ <span
1524
+ class="hljs-attr"
1525
+ >
1526
+ isCurrent
1527
+ </span>
1528
+ <span>
1529
+ :
1530
+ </span>
1531
+ <span
1532
+ style="color: rgb(208, 135, 112);"
1533
+ >
1534
+ false
1535
+ </span>
1536
+ <span>
1537
+ },
1538
+
1539
+ </span>
1540
+ selectedItem,
1541
+
1542
+ ]
1543
+
1544
+ <span>
1545
+
1546
+ </span>
1547
+ <span
1548
+ style="color: rgb(180, 142, 173);"
1549
+ >
1550
+ const
1551
+ </span>
1552
+ <span>
1553
+ indexItems = [{ ...items[
1554
+ </span>
1555
+ <span
1556
+ style="color: rgb(208, 135, 112);"
1557
+ >
1558
+ 0
1559
+ </span>
1560
+ <span>
1561
+ ],
1562
+ </span>
1563
+ <span
1564
+ class="hljs-attr"
1565
+ >
1566
+ index
1567
+ </span>
1568
+ <span>
1569
+ :
1570
+ </span>
1571
+ <span
1572
+ style="color: rgb(208, 135, 112);"
1573
+ >
1574
+ 0
1575
+ </span>
1576
+ <span>
1577
+ }, { ...items[
1578
+ </span>
1579
+ <span
1580
+ style="color: rgb(208, 135, 112);"
1581
+ >
1582
+ 1
1583
+ </span>
1584
+ <span>
1585
+ ],
1586
+ </span>
1587
+ <span
1588
+ class="hljs-attr"
1589
+ >
1590
+ index
1591
+ </span>
1592
+ <span>
1593
+ :
1594
+ </span>
1595
+ <span
1596
+ style="color: rgb(208, 135, 112);"
1597
+ >
1598
+ 1
1599
+ </span>
1600
+ <span>
1601
+ }, { ...selectedItem }]
1602
+
1603
+ </span>
1604
+ <span>
1605
+
1606
+ </span>
1607
+ <span
1608
+ style="color: rgb(180, 142, 173);"
1609
+ >
1610
+ const
1611
+ </span>
1612
+ <span>
1613
+ indexItemsWithSelected = [
1614
+
1615
+ </span>
1616
+ <span>
1617
+ { ...items[
1618
+ </span>
1619
+ <span
1620
+ style="color: rgb(208, 135, 112);"
1621
+ >
1622
+ 0
1623
+ </span>
1624
+ <span>
1625
+ ],
1626
+ </span>
1627
+ <span
1628
+ class="hljs-attr"
1629
+ >
1630
+ index
1631
+ </span>
1632
+ <span>
1633
+ :
1634
+ </span>
1635
+ <span
1636
+ style="color: rgb(208, 135, 112);"
1637
+ >
1638
+ 0
1639
+ </span>
1640
+ <span>
1641
+ ,
1642
+ </span>
1643
+ <span
1644
+ class="hljs-attr"
1645
+ >
1646
+ isSelected
1647
+ </span>
1648
+ <span>
1649
+ :
1650
+ </span>
1651
+ <span
1652
+ style="color: rgb(208, 135, 112);"
1653
+ >
1654
+ false
1655
+ </span>
1656
+ <span>
1657
+ },
1658
+
1659
+ </span>
1660
+ <span>
1661
+ { ...items[
1662
+ </span>
1663
+ <span
1664
+ style="color: rgb(208, 135, 112);"
1665
+ >
1666
+ 1
1667
+ </span>
1668
+ <span>
1669
+ ],
1670
+ </span>
1671
+ <span
1672
+ class="hljs-attr"
1673
+ >
1674
+ index
1675
+ </span>
1676
+ <span>
1677
+ :
1678
+ </span>
1679
+ <span
1680
+ style="color: rgb(208, 135, 112);"
1681
+ >
1682
+ 1
1683
+ </span>
1684
+ <span>
1685
+ ,
1686
+ </span>
1687
+ <span
1688
+ class="hljs-attr"
1689
+ >
1690
+ isSelected
1691
+ </span>
1692
+ <span>
1693
+ :
1694
+ </span>
1695
+ <span
1696
+ style="color: rgb(208, 135, 112);"
1697
+ >
1698
+ false
1699
+ </span>
1700
+ <span>
1701
+ },
1702
+
1703
+ </span>
1704
+ <span>
1705
+ { ...selectedItem,
1706
+ </span>
1707
+ <span
1708
+ class="hljs-attr"
1709
+ >
1710
+ isSelected
1711
+ </span>
1712
+ <span>
1713
+ :
1714
+ </span>
1715
+ <span
1716
+ style="color: rgb(208, 135, 112);"
1717
+ >
1718
+ true
1719
+ </span>
1720
+ <span>
1721
+ },
1722
+
1723
+ </span>
1724
+ ]
1725
+
1726
+
1727
+
1728
+ expect(getIndexItemsWithSelected(indexItems, selectedItem)).toEqual(indexItemsWithSelected)
1729
+
1730
+ })
1731
+
1732
+
1733
+
1734
+ <span>
1735
+ test(
1736
+ </span>
1737
+ <span
1738
+ style="color: rgb(163, 190, 140);"
1739
+ >
1740
+ 'must return empty array when items are empty'
1741
+ </span>
1742
+ <span>
1743
+ ,
1744
+ </span>
1745
+ <span
1746
+ class="hljs-function"
1747
+ >
1748
+ () =&gt;
1749
+ </span>
1750
+ <span>
1751
+ {
1752
+
1753
+ </span>
1754
+ <span>
1755
+
1756
+ </span>
1757
+ <span
1758
+ style="color: rgb(180, 142, 173);"
1759
+ >
1760
+ const
1761
+ </span>
1762
+ <span>
1763
+ indexItems = []
1764
+
1765
+ </span>
1766
+
1767
+
1768
+ expect(getIndexItemsWithSelected(indexItems, expect.anything())).toEqual([])
1769
+
1770
+ })
1771
+
1772
+
1773
+
1774
+ <span>
1775
+ test(
1776
+ </span>
1777
+ <span
1778
+ style="color: rgb(163, 190, 140);"
1779
+ >
1780
+ 'must return empty array when there are no items'
1781
+ </span>
1782
+ <span>
1783
+ ,
1784
+ </span>
1785
+ <span
1786
+ class="hljs-function"
1787
+ >
1788
+ () =&gt;
1789
+ </span>
1790
+ <span>
1791
+ {
1792
+
1793
+ </span>
1794
+ <span>
1795
+
1796
+ </span>
1797
+ <span
1798
+ style="color: rgb(180, 142, 173);"
1799
+ >
1800
+ let
1801
+ </span>
1802
+ <span>
1803
+ indexItems
1804
+
1805
+ </span>
1806
+
1807
+
1808
+ expect(getIndexItemsWithSelected(indexItems, expect.anything())).toEqual([])
1809
+
1810
+ })
1811
+
1812
+ })
1813
+
1814
+ </code>
1815
+ </pre>
1816
+ </div>
1817
+ `;
1818
+
1819
+ exports[`<Array /> Render must match getItemsDefaultSelected() 1`] = `
1820
+ <div>
1821
+ <pre
1822
+ style="display: block; overflow-x: auto; background: rgb(43, 48, 59); color: rgb(192, 197, 206); padding: 0.5em;"
1823
+ >
1824
+ <code
1825
+ class="language-typescript"
1826
+ style="white-space: pre;"
1827
+ >
1828
+ <span>
1829
+
1830
+
1831
+ </span>
1832
+ <span>
1833
+
1834
+ </span>
1835
+ <span
1836
+ style="color: rgb(180, 142, 173);"
1837
+ >
1838
+ export
1839
+ </span>
1840
+ <span>
1841
+
1842
+ </span>
1843
+ <span
1844
+ class="hljs-function"
1845
+ style="color: rgb(180, 142, 173);"
1846
+ >
1847
+ function
1848
+ </span>
1849
+ <span
1850
+ class="hljs-function"
1851
+ >
1852
+
1853
+ </span>
1854
+ <span
1855
+ class="hljs-function"
1856
+ style="color: rgb(143, 161, 179);"
1857
+ >
1858
+ getItemsDefaultSelected
1859
+ </span>
1860
+ <span
1861
+ class="hljs-function"
1862
+ >
1863
+ &lt;
1864
+ </span>
1865
+ <span
1866
+ class="hljs-function"
1867
+ style="color: rgb(143, 161, 179);"
1868
+ >
1869
+ T
1870
+ </span>
1871
+ <span
1872
+ class="hljs-function"
1873
+ >
1874
+
1875
+ </span>
1876
+ <span
1877
+ class="hljs-function"
1878
+ style="color: rgb(143, 161, 179);"
1879
+ >
1880
+ extends
1881
+ </span>
1882
+ <span
1883
+ class="hljs-function"
1884
+ >
1885
+
1886
+ </span>
1887
+ <span
1888
+ class="hljs-function"
1889
+ style="color: rgb(143, 161, 179);"
1890
+ >
1891
+ IIdentifiedSelectable
1892
+ </span>
1893
+ <span
1894
+ class="hljs-function"
1895
+ >
1896
+ &gt;(
1897
+ </span>
1898
+ <span
1899
+ class="hljs-function"
1900
+ style="color: rgb(208, 135, 112);"
1901
+ >
1902
+ {
1903
+
1904
+ </span>
1905
+ <span
1906
+ class="hljs-function"
1907
+ style="color: rgb(208, 135, 112);"
1908
+ >
1909
+ defaultItems =
1910
+ </span>
1911
+ <span
1912
+ class="hljs-function"
1913
+ style="color: rgb(208, 135, 112);"
1914
+ >
1915
+ null
1916
+ </span>
1917
+ <span
1918
+ class="hljs-function"
1919
+ style="color: rgb(208, 135, 112);"
1920
+ >
1921
+ ,
1922
+
1923
+ </span>
1924
+ <span
1925
+ class="hljs-function"
1926
+ style="color: rgb(208, 135, 112);"
1927
+ >
1928
+ items =
1929
+ </span>
1930
+ <span
1931
+ class="hljs-function"
1932
+ style="color: rgb(208, 135, 112);"
1933
+ >
1934
+ null
1935
+ </span>
1936
+ <span
1937
+ class="hljs-function"
1938
+ style="color: rgb(208, 135, 112);"
1939
+ >
1940
+ ,
1941
+
1942
+ </span>
1943
+ <span
1944
+ class="hljs-function"
1945
+ style="color: rgb(208, 135, 112);"
1946
+ >
1947
+ }: {
1948
+
1949
+ </span>
1950
+ <span
1951
+ class="hljs-function"
1952
+ style="color: rgb(208, 135, 112);"
1953
+ >
1954
+ defaultItems?: T[]
1955
+
1956
+ </span>
1957
+ <span
1958
+ class="hljs-function"
1959
+ style="color: rgb(208, 135, 112);"
1960
+ >
1961
+ items?: T[]
1962
+
1963
+ </span>
1964
+ <span
1965
+ class="hljs-function"
1966
+ style="color: rgb(208, 135, 112);"
1967
+ >
1968
+ }
1969
+ </span>
1970
+ <span
1971
+ class="hljs-function"
1972
+ >
1973
+ ):
1974
+ </span>
1975
+ <span
1976
+ class="hljs-function"
1977
+ style="color: rgb(143, 161, 179);"
1978
+ >
1979
+ T
1980
+ </span>
1981
+ <span
1982
+ class="hljs-function"
1983
+ >
1984
+ []
1985
+ </span>
1986
+ <span>
1987
+ {
1988
+
1989
+ </span>
1990
+ <span>
1991
+
1992
+ </span>
1993
+ <span
1994
+ style="color: rgb(180, 142, 173);"
1995
+ >
1996
+ let
1997
+ </span>
1998
+ <span>
1999
+ result
2000
+
2001
+ </span>
2002
+
2003
+
2004
+ <span>
2005
+
2006
+ </span>
2007
+ <span
2008
+ style="color: rgb(180, 142, 173);"
2009
+ >
2010
+ if
2011
+ </span>
2012
+ <span>
2013
+ (defaultItems && items) {
2014
+
2015
+ </span>
2016
+ result = [
2017
+
2018
+ <span>
2019
+
2020
+ </span>
2021
+ <span
2022
+ style="color: rgb(101, 115, 126);"
2023
+ >
2024
+ // eslint-disable-next-line no-unsafe-optional-chaining
2025
+ </span>
2026
+ <span>
2027
+
2028
+
2029
+ </span>
2030
+ <span>
2031
+ ...defaultItems?.map(
2032
+ </span>
2033
+ <span
2034
+ class="hljs-function"
2035
+ >
2036
+ (
2037
+ </span>
2038
+ <span
2039
+ class="hljs-function"
2040
+ style="color: rgb(208, 135, 112);"
2041
+ >
2042
+ { id, name, ...rest }
2043
+ </span>
2044
+ <span
2045
+ class="hljs-function"
2046
+ >
2047
+ ) =&gt;
2048
+ </span>
2049
+ <span>
2050
+ ({
2051
+
2052
+ </span>
2053
+ id,
2054
+
2055
+ <span>
2056
+
2057
+ </span>
2058
+ <span
2059
+ class="hljs-attr"
2060
+ >
2061
+ href
2062
+ </span>
2063
+ <span>
2064
+ :
2065
+ </span>
2066
+ <span
2067
+ style="color: rgb(163, 190, 140);"
2068
+ >
2069
+ '#url'
2070
+ </span>
2071
+ <span>
2072
+ ,
2073
+
2074
+ </span>
2075
+ <span>
2076
+
2077
+ </span>
2078
+ <span
2079
+ class="hljs-attr"
2080
+ >
2081
+ text
2082
+ </span>
2083
+ <span>
2084
+ : name,
2085
+
2086
+ </span>
2087
+ <span>
2088
+
2089
+ </span>
2090
+ <span
2091
+ class="hljs-attr"
2092
+ >
2093
+ isSelected
2094
+ </span>
2095
+ <span>
2096
+ : name === defaultItems[
2097
+ </span>
2098
+ <span
2099
+ style="color: rgb(208, 135, 112);"
2100
+ >
2101
+ 0
2102
+ </span>
2103
+ <span>
2104
+ ].name,
2105
+
2106
+ </span>
2107
+ ...rest,
2108
+
2109
+ })),
2110
+
2111
+ <span>
2112
+
2113
+ </span>
2114
+ <span
2115
+ style="color: rgb(101, 115, 126);"
2116
+ >
2117
+ // eslint-disable-next-line no-unsafe-optional-chaining
2118
+ </span>
2119
+ <span>
2120
+
2121
+
2122
+ </span>
2123
+ <span>
2124
+ ...items?.map(
2125
+ </span>
2126
+ <span
2127
+ class="hljs-function"
2128
+ >
2129
+ (
2130
+ </span>
2131
+ <span
2132
+ class="hljs-function"
2133
+ style="color: rgb(208, 135, 112);"
2134
+ >
2135
+ { id, name, ...rest }
2136
+ </span>
2137
+ <span
2138
+ class="hljs-function"
2139
+ >
2140
+ ) =&gt;
2141
+ </span>
2142
+ <span>
2143
+ ({
2144
+
2145
+ </span>
2146
+ id,
2147
+
2148
+ <span>
2149
+
2150
+ </span>
2151
+ <span
2152
+ class="hljs-attr"
2153
+ >
2154
+ href
2155
+ </span>
2156
+ <span>
2157
+ :
2158
+ </span>
2159
+ <span
2160
+ style="color: rgb(163, 190, 140);"
2161
+ >
2162
+ '#url'
2163
+ </span>
2164
+ <span>
2165
+ ,
2166
+
2167
+ </span>
2168
+ <span>
2169
+
2170
+ </span>
2171
+ <span
2172
+ class="hljs-attr"
2173
+ >
2174
+ text
2175
+ </span>
2176
+ <span>
2177
+ : name,
2178
+
2179
+ </span>
2180
+ <span>
2181
+
2182
+ </span>
2183
+ <span
2184
+ class="hljs-attr"
2185
+ >
2186
+ isSelected
2187
+ </span>
2188
+ <span>
2189
+ : name === items[
2190
+ </span>
2191
+ <span
2192
+ style="color: rgb(208, 135, 112);"
2193
+ >
2194
+ 0
2195
+ </span>
2196
+ <span>
2197
+ ].name,
2198
+
2199
+ </span>
2200
+ ...rest,
2201
+
2202
+ })),
2203
+
2204
+ ]
2205
+
2206
+ }
2207
+
2208
+
2209
+
2210
+ <span>
2211
+
2212
+ </span>
2213
+ <span
2214
+ style="color: rgb(180, 142, 173);"
2215
+ >
2216
+ if
2217
+ </span>
2218
+ <span>
2219
+ (defaultItems && !items) {
2220
+
2221
+ </span>
2222
+ <span>
2223
+ result =
2224
+ </span>
2225
+ <span
2226
+ style="color: rgb(208, 135, 112);"
2227
+ >
2228
+ null
2229
+ </span>
2230
+ <span>
2231
+
2232
+
2233
+ </span>
2234
+ }
2235
+
2236
+
2237
+
2238
+ <span>
2239
+
2240
+ </span>
2241
+ <span
2242
+ style="color: rgb(180, 142, 173);"
2243
+ >
2244
+ if
2245
+ </span>
2246
+ <span>
2247
+ (!defaultItems && items) {
2248
+
2249
+ </span>
2250
+ <span>
2251
+ result = items?.map(
2252
+ </span>
2253
+ <span
2254
+ class="hljs-function"
2255
+ >
2256
+ (
2257
+ </span>
2258
+ <span
2259
+ class="hljs-function"
2260
+ style="color: rgb(208, 135, 112);"
2261
+ >
2262
+ { id, name, ...rest }
2263
+ </span>
2264
+ <span
2265
+ class="hljs-function"
2266
+ >
2267
+ ) =&gt;
2268
+ </span>
2269
+ <span>
2270
+ ({
2271
+
2272
+ </span>
2273
+ id,
2274
+
2275
+ <span>
2276
+
2277
+ </span>
2278
+ <span
2279
+ class="hljs-attr"
2280
+ >
2281
+ href
2282
+ </span>
2283
+ <span>
2284
+ :
2285
+ </span>
2286
+ <span
2287
+ style="color: rgb(163, 190, 140);"
2288
+ >
2289
+ '#url'
2290
+ </span>
2291
+ <span>
2292
+ ,
2293
+
2294
+ </span>
2295
+ <span>
2296
+
2297
+ </span>
2298
+ <span
2299
+ class="hljs-attr"
2300
+ >
2301
+ text
2302
+ </span>
2303
+ <span>
2304
+ : name,
2305
+
2306
+ </span>
2307
+ <span>
2308
+
2309
+ </span>
2310
+ <span
2311
+ class="hljs-attr"
2312
+ >
2313
+ isSelected
2314
+ </span>
2315
+ <span>
2316
+ : name === items[
2317
+ </span>
2318
+ <span
2319
+ style="color: rgb(208, 135, 112);"
2320
+ >
2321
+ 0
2322
+ </span>
2323
+ <span>
2324
+ ].name,
2325
+
2326
+ </span>
2327
+ ...rest,
2328
+
2329
+ }))
2330
+
2331
+ }
2332
+
2333
+
2334
+
2335
+ <span>
2336
+
2337
+ </span>
2338
+ <span
2339
+ style="color: rgb(180, 142, 173);"
2340
+ >
2341
+ if
2342
+ </span>
2343
+ <span>
2344
+ (!defaultItems && !items) {
2345
+
2346
+ </span>
2347
+ <span>
2348
+ result =
2349
+ </span>
2350
+ <span
2351
+ style="color: rgb(208, 135, 112);"
2352
+ >
2353
+ null
2354
+ </span>
2355
+ <span>
2356
+
2357
+
2358
+ </span>
2359
+ }
2360
+
2361
+
2362
+
2363
+ <span>
2364
+
2365
+ </span>
2366
+ <span
2367
+ style="color: rgb(180, 142, 173);"
2368
+ >
2369
+ return
2370
+ </span>
2371
+ <span>
2372
+ result
2373
+
2374
+ </span>
2375
+ }
2376
+
2377
+ </code>
2378
+ </pre>
2379
+ </div>
2380
+ `;
2381
+
2382
+ exports[`<Array /> Render must match getItemsRandomSelected() 1`] = `
2383
+ <div>
2384
+ <pre
2385
+ style="display: block; overflow-x: auto; background: rgb(43, 48, 59); color: rgb(192, 197, 206); padding: 0.5em;"
2386
+ >
2387
+ <code
2388
+ class="language-typescript"
2389
+ style="white-space: pre;"
2390
+ >
2391
+ <span>
2392
+
2393
+
2394
+ </span>
2395
+ <span>
2396
+
2397
+ </span>
2398
+ <span
2399
+ style="color: rgb(180, 142, 173);"
2400
+ >
2401
+ export
2402
+ </span>
2403
+ <span>
2404
+
2405
+ </span>
2406
+ <span
2407
+ class="hljs-function"
2408
+ style="color: rgb(180, 142, 173);"
2409
+ >
2410
+ function
2411
+ </span>
2412
+ <span
2413
+ class="hljs-function"
2414
+ >
2415
+
2416
+ </span>
2417
+ <span
2418
+ class="hljs-function"
2419
+ style="color: rgb(143, 161, 179);"
2420
+ >
2421
+ getItemsRandomSelected
2422
+ </span>
2423
+ <span
2424
+ class="hljs-function"
2425
+ >
2426
+ &lt;
2427
+ </span>
2428
+ <span
2429
+ class="hljs-function"
2430
+ style="color: rgb(143, 161, 179);"
2431
+ >
2432
+ T
2433
+ </span>
2434
+ <span
2435
+ class="hljs-function"
2436
+ >
2437
+
2438
+ </span>
2439
+ <span
2440
+ class="hljs-function"
2441
+ style="color: rgb(143, 161, 179);"
2442
+ >
2443
+ extends
2444
+ </span>
2445
+ <span
2446
+ class="hljs-function"
2447
+ >
2448
+
2449
+ </span>
2450
+ <span
2451
+ class="hljs-function"
2452
+ style="color: rgb(143, 161, 179);"
2453
+ >
2454
+ IIdentifiedSelectable
2455
+ </span>
2456
+ <span
2457
+ class="hljs-function"
2458
+ >
2459
+ &gt;(
2460
+ </span>
2461
+ <span
2462
+ class="hljs-function"
2463
+ style="color: rgb(208, 135, 112);"
2464
+ >
2465
+ { items }: { items: T[] }
2466
+ </span>
2467
+ <span
2468
+ class="hljs-function"
2469
+ >
2470
+ ):
2471
+ </span>
2472
+ <span
2473
+ class="hljs-function"
2474
+ style="color: rgb(143, 161, 179);"
2475
+ >
2476
+ T
2477
+ </span>
2478
+ <span
2479
+ class="hljs-function"
2480
+ >
2481
+ []
2482
+ </span>
2483
+ <span>
2484
+ {
2485
+
2486
+ </span>
2487
+ <span>
2488
+
2489
+ </span>
2490
+ <span
2491
+ style="color: rgb(180, 142, 173);"
2492
+ >
2493
+ const
2494
+ </span>
2495
+ <span>
2496
+ randomItem:
2497
+ </span>
2498
+ <span
2499
+ style="color: rgb(208, 135, 112);"
2500
+ >
2501
+ string
2502
+ </span>
2503
+ <span>
2504
+ = getRandomItemFromArray&lt;
2505
+ </span>
2506
+ <span
2507
+ style="color: rgb(208, 135, 112);"
2508
+ >
2509
+ string
2510
+ </span>
2511
+ <span>
2512
+ &gt;(items?.map(
2513
+ </span>
2514
+ <span
2515
+ class="hljs-function"
2516
+ >
2517
+ (
2518
+ </span>
2519
+ <span
2520
+ class="hljs-function"
2521
+ style="color: rgb(208, 135, 112);"
2522
+ >
2523
+ { name }
2524
+ </span>
2525
+ <span
2526
+ class="hljs-function"
2527
+ >
2528
+ ) =&gt;
2529
+ </span>
2530
+ <span>
2531
+ name))
2532
+
2533
+ </span>
2534
+
2535
+
2536
+ <span>
2537
+
2538
+ </span>
2539
+ <span
2540
+ style="color: rgb(180, 142, 173);"
2541
+ >
2542
+ let
2543
+ </span>
2544
+ <span>
2545
+ result
2546
+
2547
+ </span>
2548
+
2549
+
2550
+ <span>
2551
+
2552
+ </span>
2553
+ <span
2554
+ style="color: rgb(180, 142, 173);"
2555
+ >
2556
+ if
2557
+ </span>
2558
+ <span>
2559
+ (items) {
2560
+
2561
+ </span>
2562
+ <span>
2563
+ result = items.map(
2564
+ </span>
2565
+ <span
2566
+ class="hljs-function"
2567
+ >
2568
+ (
2569
+ </span>
2570
+ <span
2571
+ class="hljs-function"
2572
+ style="color: rgb(208, 135, 112);"
2573
+ >
2574
+ { id, name, ...rest }
2575
+ </span>
2576
+ <span
2577
+ class="hljs-function"
2578
+ >
2579
+ ) =&gt;
2580
+ </span>
2581
+ <span>
2582
+ ({
2583
+
2584
+ </span>
2585
+ id,
2586
+
2587
+ <span>
2588
+
2589
+ </span>
2590
+ <span
2591
+ class="hljs-attr"
2592
+ >
2593
+ href
2594
+ </span>
2595
+ <span>
2596
+ :
2597
+ </span>
2598
+ <span
2599
+ style="color: rgb(163, 190, 140);"
2600
+ >
2601
+ '#url'
2602
+ </span>
2603
+ <span>
2604
+ ,
2605
+
2606
+ </span>
2607
+ <span>
2608
+
2609
+ </span>
2610
+ <span
2611
+ class="hljs-attr"
2612
+ >
2613
+ text
2614
+ </span>
2615
+ <span>
2616
+ : name,
2617
+
2618
+ </span>
2619
+ <span>
2620
+
2621
+ </span>
2622
+ <span
2623
+ class="hljs-attr"
2624
+ >
2625
+ isSelected
2626
+ </span>
2627
+ <span>
2628
+ : name === randomItem,
2629
+
2630
+ </span>
2631
+ ...rest,
2632
+
2633
+ }))
2634
+
2635
+ }
2636
+
2637
+
2638
+
2639
+ <span>
2640
+
2641
+ </span>
2642
+ <span
2643
+ style="color: rgb(180, 142, 173);"
2644
+ >
2645
+ return
2646
+ </span>
2647
+ <span>
2648
+ result
2649
+
2650
+ </span>
2651
+ }
2652
+
2653
+ </code>
2654
+ </pre>
2655
+ </div>
2656
+ `;
2657
+
2658
+ exports[`<Array /> Render must match getRandomItemFromArray() 1`] = `
2659
+ <div>
2660
+ <pre
2661
+ style="display: block; overflow-x: auto; background: rgb(43, 48, 59); color: rgb(192, 197, 206); padding: 0.5em;"
2662
+ >
2663
+ <code
2664
+ class="language-typescript"
2665
+ style="white-space: pre;"
2666
+ >
2667
+ <span>
2668
+
2669
+
2670
+ </span>
2671
+ <span>
2672
+
2673
+ </span>
2674
+ <span
2675
+ style="color: rgb(180, 142, 173);"
2676
+ >
2677
+ export
2678
+ </span>
2679
+ <span>
2680
+
2681
+ </span>
2682
+ <span
2683
+ class="hljs-function"
2684
+ style="color: rgb(180, 142, 173);"
2685
+ >
2686
+ function
2687
+ </span>
2688
+ <span
2689
+ class="hljs-function"
2690
+ >
2691
+
2692
+ </span>
2693
+ <span
2694
+ class="hljs-function"
2695
+ style="color: rgb(143, 161, 179);"
2696
+ >
2697
+ getRandomItemFromArray
2698
+ </span>
2699
+ <span
2700
+ class="hljs-function"
2701
+ >
2702
+ &lt;
2703
+ </span>
2704
+ <span
2705
+ class="hljs-function"
2706
+ style="color: rgb(143, 161, 179);"
2707
+ >
2708
+ T
2709
+ </span>
2710
+ <span
2711
+ class="hljs-function"
2712
+ >
2713
+ &gt;(
2714
+ </span>
2715
+ <span
2716
+ class="hljs-function"
2717
+ style="color: rgb(208, 135, 112);"
2718
+ >
2719
+ array: T[]
2720
+ </span>
2721
+ <span
2722
+ class="hljs-function"
2723
+ >
2724
+ ):
2725
+ </span>
2726
+ <span
2727
+ class="hljs-function"
2728
+ style="color: rgb(143, 161, 179);"
2729
+ >
2730
+ T
2731
+ </span>
2732
+ <span
2733
+ class="hljs-function"
2734
+ >
2735
+
2736
+ </span>
2737
+ <span>
2738
+ {
2739
+
2740
+ </span>
2741
+ <span>
2742
+
2743
+ </span>
2744
+ <span
2745
+ style="color: rgb(180, 142, 173);"
2746
+ >
2747
+ return
2748
+ </span>
2749
+ <span>
2750
+ array?.[
2751
+ </span>
2752
+ <span
2753
+ style="color: rgb(208, 135, 112);"
2754
+ >
2755
+ Math
2756
+ </span>
2757
+ <span>
2758
+ .floor(
2759
+ </span>
2760
+ <span
2761
+ style="color: rgb(208, 135, 112);"
2762
+ >
2763
+ Math
2764
+ </span>
2765
+ <span>
2766
+ .random() * array?.length)]
2767
+
2768
+ </span>
2769
+ }
2770
+
2771
+
2772
+
2773
+ <span>
2774
+ describe(
2775
+ </span>
2776
+ <span
2777
+ style="color: rgb(163, 190, 140);"
2778
+ >
2779
+ 'getRandomItemFromArray()'
2780
+ </span>
2781
+ <span>
2782
+ ,
2783
+ </span>
2784
+ <span
2785
+ class="hljs-function"
2786
+ >
2787
+ () =&gt;
2788
+ </span>
2789
+ <span>
2790
+ {
2791
+
2792
+ </span>
2793
+ <span>
2794
+ beforeEach(
2795
+ </span>
2796
+ <span
2797
+ class="hljs-function"
2798
+ >
2799
+ () =&gt;
2800
+ </span>
2801
+ <span>
2802
+ {
2803
+
2804
+ </span>
2805
+ <span>
2806
+ jest.spyOn(
2807
+ </span>
2808
+ <span
2809
+ style="color: rgb(208, 135, 112);"
2810
+ >
2811
+ Math
2812
+ </span>
2813
+ <span>
2814
+ ,
2815
+ </span>
2816
+ <span
2817
+ style="color: rgb(163, 190, 140);"
2818
+ >
2819
+ 'random'
2820
+ </span>
2821
+ <span>
2822
+ ).mockImplementation(jest.fn(
2823
+ </span>
2824
+ <span
2825
+ class="hljs-function"
2826
+ >
2827
+ () =&gt;
2828
+ </span>
2829
+ <span>
2830
+
2831
+ </span>
2832
+ <span
2833
+ style="color: rgb(208, 135, 112);"
2834
+ >
2835
+ 3
2836
+ </span>
2837
+ <span>
2838
+ ))
2839
+
2840
+ </span>
2841
+ <span>
2842
+ jest.spyOn(
2843
+ </span>
2844
+ <span
2845
+ style="color: rgb(208, 135, 112);"
2846
+ >
2847
+ Math
2848
+ </span>
2849
+ <span>
2850
+ ,
2851
+ </span>
2852
+ <span
2853
+ style="color: rgb(163, 190, 140);"
2854
+ >
2855
+ 'floor'
2856
+ </span>
2857
+ <span>
2858
+ ).mockImplementation(jest.fn(
2859
+ </span>
2860
+ <span
2861
+ class="hljs-function"
2862
+ >
2863
+ () =&gt;
2864
+ </span>
2865
+ <span>
2866
+
2867
+ </span>
2868
+ <span
2869
+ style="color: rgb(208, 135, 112);"
2870
+ >
2871
+ 0
2872
+ </span>
2873
+ <span>
2874
+ ))
2875
+
2876
+ </span>
2877
+ })
2878
+
2879
+
2880
+
2881
+ <span>
2882
+ afterEach(
2883
+ </span>
2884
+ <span
2885
+ class="hljs-function"
2886
+ >
2887
+ () =&gt;
2888
+ </span>
2889
+ <span>
2890
+ jest.clearAllMocks())
2891
+
2892
+ </span>
2893
+
2894
+
2895
+ <span>
2896
+ test(
2897
+ </span>
2898
+ <span
2899
+ style="color: rgb(163, 190, 140);"
2900
+ >
2901
+ 'must return random item from array when array has items'
2902
+ </span>
2903
+ <span>
2904
+ ,
2905
+ </span>
2906
+ <span
2907
+ class="hljs-function"
2908
+ >
2909
+ () =&gt;
2910
+ </span>
2911
+ <span>
2912
+ {
2913
+
2914
+ </span>
2915
+ <span>
2916
+
2917
+ </span>
2918
+ <span
2919
+ style="color: rgb(180, 142, 173);"
2920
+ >
2921
+ const
2922
+ </span>
2923
+ <span>
2924
+ array = [{
2925
+ </span>
2926
+ <span
2927
+ class="hljs-attr"
2928
+ >
2929
+ fantasticKey1
2930
+ </span>
2931
+ <span>
2932
+ :
2933
+ </span>
2934
+ <span
2935
+ style="color: rgb(163, 190, 140);"
2936
+ >
2937
+ 'fantastic-value-1'
2938
+ </span>
2939
+ <span>
2940
+ }, {
2941
+ </span>
2942
+ <span
2943
+ class="hljs-attr"
2944
+ >
2945
+ fantasticKey2
2946
+ </span>
2947
+ <span>
2948
+ :
2949
+ </span>
2950
+ <span
2951
+ style="color: rgb(163, 190, 140);"
2952
+ >
2953
+ 'fantastic-value-2'
2954
+ </span>
2955
+ <span>
2956
+ }, {
2957
+ </span>
2958
+ <span
2959
+ class="hljs-attr"
2960
+ >
2961
+ fantasticKey3
2962
+ </span>
2963
+ <span>
2964
+ :
2965
+ </span>
2966
+ <span
2967
+ style="color: rgb(163, 190, 140);"
2968
+ >
2969
+ 'fantastic-value-3'
2970
+ </span>
2971
+ <span>
2972
+ }]
2973
+
2974
+ </span>
2975
+
2976
+
2977
+ <span>
2978
+ expect(getRandomItemFromArray(array)).toEqual(array[
2979
+ </span>
2980
+ <span
2981
+ style="color: rgb(208, 135, 112);"
2982
+ >
2983
+ 0
2984
+ </span>
2985
+ <span>
2986
+ ])
2987
+
2988
+ </span>
2989
+ })
2990
+
2991
+
2992
+
2993
+ <span>
2994
+ test(
2995
+ </span>
2996
+ <span
2997
+ style="color: rgb(163, 190, 140);"
2998
+ >
2999
+ 'must return undefined when array has no items'
3000
+ </span>
3001
+ <span>
3002
+ ,
3003
+ </span>
3004
+ <span
3005
+ class="hljs-function"
3006
+ >
3007
+ () =&gt;
3008
+ </span>
3009
+ <span>
3010
+ {
3011
+
3012
+ </span>
3013
+ <span>
3014
+
3015
+ </span>
3016
+ <span
3017
+ style="color: rgb(180, 142, 173);"
3018
+ >
3019
+ const
3020
+ </span>
3021
+ <span>
3022
+ array = []
3023
+
3024
+ </span>
3025
+
3026
+
3027
+ expect(getRandomItemFromArray(array)).toBeUndefined()
3028
+
3029
+ })
3030
+
3031
+ })
3032
+
3033
+ </code>
3034
+ </pre>
3035
+ </div>
3036
+ `;
3037
+
3038
+ exports[`<Array /> Render must match getSelectedItem() 1`] = `
3039
+ <div>
3040
+ <pre
3041
+ style="display: block; overflow-x: auto; background: rgb(43, 48, 59); color: rgb(192, 197, 206); padding: 0.5em;"
3042
+ >
3043
+ <code
3044
+ class="language-typescript"
3045
+ style="white-space: pre;"
3046
+ >
3047
+ <span>
3048
+
3049
+
3050
+ </span>
3051
+ <span>
3052
+
3053
+ </span>
3054
+ <span
3055
+ style="color: rgb(180, 142, 173);"
3056
+ >
3057
+ export
3058
+ </span>
3059
+ <span>
3060
+
3061
+ </span>
3062
+ <span
3063
+ class="hljs-function"
3064
+ style="color: rgb(180, 142, 173);"
3065
+ >
3066
+ function
3067
+ </span>
3068
+ <span
3069
+ class="hljs-function"
3070
+ >
3071
+
3072
+ </span>
3073
+ <span
3074
+ class="hljs-function"
3075
+ style="color: rgb(143, 161, 179);"
3076
+ >
3077
+ getSelectedItem
3078
+ </span>
3079
+ <span
3080
+ class="hljs-function"
3081
+ >
3082
+ &lt;
3083
+ </span>
3084
+ <span
3085
+ class="hljs-function"
3086
+ style="color: rgb(143, 161, 179);"
3087
+ >
3088
+ T
3089
+ </span>
3090
+ <span
3091
+ class="hljs-function"
3092
+ >
3093
+
3094
+ </span>
3095
+ <span
3096
+ class="hljs-function"
3097
+ style="color: rgb(143, 161, 179);"
3098
+ >
3099
+ extends
3100
+ </span>
3101
+ <span
3102
+ class="hljs-function"
3103
+ >
3104
+
3105
+ </span>
3106
+ <span
3107
+ class="hljs-function"
3108
+ style="color: rgb(143, 161, 179);"
3109
+ >
3110
+ ISelectable
3111
+ </span>
3112
+ <span
3113
+ class="hljs-function"
3114
+ >
3115
+ &gt;(
3116
+ </span>
3117
+ <span
3118
+ class="hljs-function"
3119
+ style="color: rgb(208, 135, 112);"
3120
+ >
3121
+ { items }: { items: T[] }
3122
+ </span>
3123
+ <span
3124
+ class="hljs-function"
3125
+ >
3126
+ ):
3127
+ </span>
3128
+ <span
3129
+ class="hljs-function"
3130
+ style="color: rgb(143, 161, 179);"
3131
+ >
3132
+ T
3133
+ </span>
3134
+ <span
3135
+ class="hljs-function"
3136
+ >
3137
+
3138
+ </span>
3139
+ <span>
3140
+ {
3141
+
3142
+ </span>
3143
+ <span>
3144
+
3145
+ </span>
3146
+ <span
3147
+ style="color: rgb(180, 142, 173);"
3148
+ >
3149
+ return
3150
+ </span>
3151
+ <span>
3152
+ items?.find(
3153
+ </span>
3154
+ <span
3155
+ class="hljs-function"
3156
+ >
3157
+ (
3158
+ </span>
3159
+ <span
3160
+ class="hljs-function"
3161
+ style="color: rgb(208, 135, 112);"
3162
+ >
3163
+ { isSelected }
3164
+ </span>
3165
+ <span
3166
+ class="hljs-function"
3167
+ >
3168
+ ) =&gt;
3169
+ </span>
3170
+ <span>
3171
+ isSelected ===
3172
+ </span>
3173
+ <span
3174
+ style="color: rgb(208, 135, 112);"
3175
+ >
3176
+ true
3177
+ </span>
3178
+ <span>
3179
+ )
3180
+
3181
+ </span>
3182
+ }
3183
+
3184
+
3185
+
3186
+ <span>
3187
+ describe(
3188
+ </span>
3189
+ <span
3190
+ style="color: rgb(163, 190, 140);"
3191
+ >
3192
+ 'getSelectedItem()'
3193
+ </span>
3194
+ <span>
3195
+ ,
3196
+ </span>
3197
+ <span
3198
+ class="hljs-function"
3199
+ >
3200
+ () =&gt;
3201
+ </span>
3202
+ <span>
3203
+ {
3204
+
3205
+ </span>
3206
+ <span>
3207
+
3208
+ </span>
3209
+ <span
3210
+ style="color: rgb(180, 142, 173);"
3211
+ >
3212
+ const
3213
+ </span>
3214
+ <span>
3215
+ items = [
3216
+
3217
+ </span>
3218
+ <span>
3219
+ {
3220
+ </span>
3221
+ <span
3222
+ class="hljs-attr"
3223
+ >
3224
+ fantasticKey1
3225
+ </span>
3226
+ <span>
3227
+ :
3228
+ </span>
3229
+ <span
3230
+ style="color: rgb(163, 190, 140);"
3231
+ >
3232
+ 'fantastic-value-1'
3233
+ </span>
3234
+ <span>
3235
+ ,
3236
+ </span>
3237
+ <span
3238
+ class="hljs-attr"
3239
+ >
3240
+ isSelected
3241
+ </span>
3242
+ <span>
3243
+ :
3244
+ </span>
3245
+ <span
3246
+ style="color: rgb(208, 135, 112);"
3247
+ >
3248
+ true
3249
+ </span>
3250
+ <span>
3251
+ },
3252
+
3253
+ </span>
3254
+ <span>
3255
+ {
3256
+ </span>
3257
+ <span
3258
+ class="hljs-attr"
3259
+ >
3260
+ fantasticKey2
3261
+ </span>
3262
+ <span>
3263
+ :
3264
+ </span>
3265
+ <span
3266
+ style="color: rgb(163, 190, 140);"
3267
+ >
3268
+ 'fantastic-value-2'
3269
+ </span>
3270
+ <span>
3271
+ ,
3272
+ </span>
3273
+ <span
3274
+ class="hljs-attr"
3275
+ >
3276
+ isSelected
3277
+ </span>
3278
+ <span>
3279
+ :
3280
+ </span>
3281
+ <span
3282
+ style="color: rgb(208, 135, 112);"
3283
+ >
3284
+ false
3285
+ </span>
3286
+ <span>
3287
+ },
3288
+
3289
+ </span>
3290
+ <span>
3291
+ {
3292
+ </span>
3293
+ <span
3294
+ class="hljs-attr"
3295
+ >
3296
+ fantasticKey3
3297
+ </span>
3298
+ <span>
3299
+ :
3300
+ </span>
3301
+ <span
3302
+ style="color: rgb(163, 190, 140);"
3303
+ >
3304
+ 'fantastic-value-3'
3305
+ </span>
3306
+ <span>
3307
+ ,
3308
+ </span>
3309
+ <span
3310
+ class="hljs-attr"
3311
+ >
3312
+ isSelected
3313
+ </span>
3314
+ <span>
3315
+ :
3316
+ </span>
3317
+ <span
3318
+ style="color: rgb(208, 135, 112);"
3319
+ >
3320
+ false
3321
+ </span>
3322
+ <span>
3323
+ },
3324
+
3325
+ </span>
3326
+ ]
3327
+
3328
+
3329
+
3330
+ <span>
3331
+ test(
3332
+ </span>
3333
+ <span
3334
+ style="color: rgb(163, 190, 140);"
3335
+ >
3336
+ 'must return undefined when array has no items'
3337
+ </span>
3338
+ <span>
3339
+ ,
3340
+ </span>
3341
+ <span
3342
+ class="hljs-function"
3343
+ >
3344
+ () =&gt;
3345
+ </span>
3346
+ <span>
3347
+ {
3348
+
3349
+ </span>
3350
+ <span>
3351
+ expect(getSelectedItem({ items })).toBe(items[
3352
+ </span>
3353
+ <span
3354
+ style="color: rgb(208, 135, 112);"
3355
+ >
3356
+ 0
3357
+ </span>
3358
+ <span>
3359
+ ])
3360
+
3361
+ </span>
3362
+ })
3363
+
3364
+ })
3365
+
3366
+ </code>
3367
+ </pre>
3368
+ </div>
3369
+ `;
3370
+
3371
+ exports[`<Array /> Render must match getSelectedItemText() 1`] = `
3372
+ <div>
3373
+ <pre
3374
+ style="display: block; overflow-x: auto; background: rgb(43, 48, 59); color: rgb(192, 197, 206); padding: 0.5em;"
3375
+ >
3376
+ <code
3377
+ class="language-typescript"
3378
+ style="white-space: pre;"
3379
+ >
3380
+ <span>
3381
+
3382
+
3383
+ </span>
3384
+ <span>
3385
+
3386
+ </span>
3387
+ <span
3388
+ style="color: rgb(180, 142, 173);"
3389
+ >
3390
+ export
3391
+ </span>
3392
+ <span>
3393
+
3394
+ </span>
3395
+ <span
3396
+ class="hljs-function"
3397
+ style="color: rgb(180, 142, 173);"
3398
+ >
3399
+ function
3400
+ </span>
3401
+ <span
3402
+ class="hljs-function"
3403
+ >
3404
+
3405
+ </span>
3406
+ <span
3407
+ class="hljs-function"
3408
+ style="color: rgb(143, 161, 179);"
3409
+ >
3410
+ getSelectedItemText
3411
+ </span>
3412
+ <span
3413
+ class="hljs-function"
3414
+ >
3415
+ (
3416
+ </span>
3417
+ <span
3418
+ class="hljs-function"
3419
+ style="color: rgb(208, 135, 112);"
3420
+ >
3421
+ { items }
3422
+ </span>
3423
+ <span
3424
+ class="hljs-function"
3425
+ >
3426
+ )
3427
+ </span>
3428
+ <span>
3429
+ {
3430
+
3431
+ </span>
3432
+ <span>
3433
+
3434
+ </span>
3435
+ <span
3436
+ style="color: rgb(180, 142, 173);"
3437
+ >
3438
+ return
3439
+ </span>
3440
+ <span>
3441
+ items?.find(
3442
+ </span>
3443
+ <span
3444
+ class="hljs-function"
3445
+ >
3446
+ (
3447
+ </span>
3448
+ <span
3449
+ class="hljs-function"
3450
+ style="color: rgb(208, 135, 112);"
3451
+ >
3452
+ { isSelected }
3453
+ </span>
3454
+ <span
3455
+ class="hljs-function"
3456
+ >
3457
+ ) =&gt;
3458
+ </span>
3459
+ <span>
3460
+ isSelected ===
3461
+ </span>
3462
+ <span
3463
+ style="color: rgb(208, 135, 112);"
3464
+ >
3465
+ true
3466
+ </span>
3467
+ <span>
3468
+ )?.text
3469
+
3470
+ </span>
3471
+ }
3472
+
3473
+
3474
+
3475
+ <span>
3476
+ describe(
3477
+ </span>
3478
+ <span
3479
+ style="color: rgb(163, 190, 140);"
3480
+ >
3481
+ 'getSelectedItemText()'
3482
+ </span>
3483
+ <span>
3484
+ ,
3485
+ </span>
3486
+ <span
3487
+ class="hljs-function"
3488
+ >
3489
+ () =&gt;
3490
+ </span>
3491
+ <span>
3492
+ {
3493
+
3494
+ </span>
3495
+ <span>
3496
+
3497
+ </span>
3498
+ <span
3499
+ style="color: rgb(180, 142, 173);"
3500
+ >
3501
+ const
3502
+ </span>
3503
+ <span>
3504
+ items = [
3505
+
3506
+ </span>
3507
+ <span>
3508
+ {
3509
+ </span>
3510
+ <span
3511
+ class="hljs-attr"
3512
+ >
3513
+ text
3514
+ </span>
3515
+ <span>
3516
+ :
3517
+ </span>
3518
+ <span
3519
+ style="color: rgb(163, 190, 140);"
3520
+ >
3521
+ 'fantastic-text-1'
3522
+ </span>
3523
+ <span>
3524
+ ,
3525
+ </span>
3526
+ <span
3527
+ class="hljs-attr"
3528
+ >
3529
+ isSelected
3530
+ </span>
3531
+ <span>
3532
+ :
3533
+ </span>
3534
+ <span
3535
+ style="color: rgb(208, 135, 112);"
3536
+ >
3537
+ true
3538
+ </span>
3539
+ <span>
3540
+ },
3541
+
3542
+ </span>
3543
+ <span>
3544
+ {
3545
+ </span>
3546
+ <span
3547
+ class="hljs-attr"
3548
+ >
3549
+ text
3550
+ </span>
3551
+ <span>
3552
+ :
3553
+ </span>
3554
+ <span
3555
+ style="color: rgb(163, 190, 140);"
3556
+ >
3557
+ 'fantastic-text-2'
3558
+ </span>
3559
+ <span>
3560
+ ,
3561
+ </span>
3562
+ <span
3563
+ class="hljs-attr"
3564
+ >
3565
+ isSelected
3566
+ </span>
3567
+ <span>
3568
+ :
3569
+ </span>
3570
+ <span
3571
+ style="color: rgb(208, 135, 112);"
3572
+ >
3573
+ false
3574
+ </span>
3575
+ <span>
3576
+ },
3577
+
3578
+ </span>
3579
+ <span>
3580
+ {
3581
+ </span>
3582
+ <span
3583
+ class="hljs-attr"
3584
+ >
3585
+ text
3586
+ </span>
3587
+ <span>
3588
+ :
3589
+ </span>
3590
+ <span
3591
+ style="color: rgb(163, 190, 140);"
3592
+ >
3593
+ 'fantastic-text-3'
3594
+ </span>
3595
+ <span>
3596
+ ,
3597
+ </span>
3598
+ <span
3599
+ class="hljs-attr"
3600
+ >
3601
+ isSelected
3602
+ </span>
3603
+ <span>
3604
+ :
3605
+ </span>
3606
+ <span
3607
+ style="color: rgb(208, 135, 112);"
3608
+ >
3609
+ false
3610
+ </span>
3611
+ <span>
3612
+ },
3613
+
3614
+ </span>
3615
+ ]
3616
+
3617
+
3618
+
3619
+ <span>
3620
+ test(
3621
+ </span>
3622
+ <span
3623
+ style="color: rgb(163, 190, 140);"
3624
+ >
3625
+ 'must return undefined when array has no items'
3626
+ </span>
3627
+ <span>
3628
+ ,
3629
+ </span>
3630
+ <span
3631
+ class="hljs-function"
3632
+ >
3633
+ () =&gt;
3634
+ </span>
3635
+ <span>
3636
+ {
3637
+
3638
+ </span>
3639
+ <span>
3640
+ expect(getSelectedItemText({ items })).toBe(items[
3641
+ </span>
3642
+ <span
3643
+ style="color: rgb(208, 135, 112);"
3644
+ >
3645
+ 0
3646
+ </span>
3647
+ <span>
3648
+ ].text)
3649
+
3650
+ </span>
3651
+ })
3652
+
3653
+ })
3654
+
3655
+ </code>
3656
+ </pre>
3657
+ </div>
3658
+ `;