@nordicsemiconductor/pc-nrfconnect-shared 60.0.0-pre1 → 60.0.0-pre2

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 (232) hide show
  1. package/dist/bootstrap.css +8951 -0
  2. package/dist/index.css +1451 -0
  3. package/dist/index.js +122119 -0
  4. package/{src/Logo/nordic-logo-blue-icon-only.png → dist/nordic-logo-blue-icon-only-H7BABN6D.png} +0 -0
  5. package/{src/Logo/nordic-logo-gray-icon-only.png → dist/nordic-logo-gray-icon-only-GATOTR3L.png} +0 -0
  6. package/package.json +12 -3
  7. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +1 -2
  8. package/.github/ISSUE_TEMPLATE/custom.md +0 -10
  9. package/.husky/pre-push +0 -3
  10. package/.renovaterc.json +0 -10
  11. package/Changelog.md +0 -2973
  12. package/azure-pipelines.yml +0 -34
  13. package/config/eslintrc.js +0 -190
  14. package/config/jest.config.js +0 -41
  15. package/config/prettier.config.js +0 -13
  16. package/config/tsconfig.json +0 -15
  17. package/fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip +0 -0
  18. package/jest.config.js +0 -7
  19. package/main/index.ts +0 -32
  20. package/mocks/deviceLibMock.ts +0 -21
  21. package/mocks/electronMock.ts +0 -15
  22. package/mocks/electronStoreMock.ts +0 -19
  23. package/mocks/emptyMock.ts +0 -7
  24. package/mocks/fileMock.ts +0 -13
  25. package/mocks/gaMock.ts +0 -9
  26. package/mocks/mockTests.test.ts +0 -15
  27. package/mocks/packageJsonMock.ts +0 -10
  28. package/mocks/remoteMock.ts +0 -17
  29. package/scripts/esbuild-bootstrap.js +0 -15
  30. package/scripts/esbuild-renderer.js +0 -131
  31. package/scripts/installHusky.ts +0 -17
  32. package/scripts/prepare-shared-release.ts +0 -122
  33. package/scripts/release-shared.test.ts +0 -132
  34. package/scripts/release-shared.ts +0 -207
  35. package/src/About/About.tsx +0 -25
  36. package/src/About/AboutButton.tsx +0 -28
  37. package/src/About/ApplicationCard.tsx +0 -83
  38. package/src/About/DeviceCard.tsx +0 -74
  39. package/src/About/DocumentationCard.tsx +0 -18
  40. package/src/About/DocumentationSection.tsx +0 -24
  41. package/src/About/Section.tsx +0 -21
  42. package/src/About/ShortcutButton.tsx +0 -41
  43. package/src/About/SupportCard.tsx +0 -97
  44. package/src/About/about.scss +0 -40
  45. package/src/About/documentationSlice.ts +0 -41
  46. package/src/About/section.scss +0 -15
  47. package/src/About/shortcutSlice.ts +0 -52
  48. package/src/Alert/Alert.module.scss +0 -29
  49. package/src/Alert/Alert.tsx +0 -37
  50. package/src/App/App.test.tsx +0 -47
  51. package/src/App/App.tsx +0 -227
  52. package/src/App/ConnectedToStore.tsx +0 -19
  53. package/src/App/VisibilityBar.tsx +0 -103
  54. package/src/App/app.scss +0 -83
  55. package/src/App/appLayout.ts +0 -95
  56. package/src/App/shared.scss +0 -49
  57. package/src/App/visibility-bar.scss +0 -55
  58. package/src/Button/Button.tsx +0 -66
  59. package/src/Button/button.module.scss +0 -154
  60. package/src/Card/Card.tsx +0 -26
  61. package/src/Card/card.module.scss +0 -28
  62. package/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.tsx +0 -58
  63. package/src/Device/BrokenDeviceDialog/broken-device-dialog.scss +0 -18
  64. package/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.tsx +0 -48
  65. package/src/Device/DeviceSelector/BasicDeviceInfo.tsx +0 -115
  66. package/src/Device/DeviceSelector/DeviceIcon.tsx +0 -27
  67. package/src/Device/DeviceSelector/DeviceList/AnimatedList.tsx +0 -62
  68. package/src/Device/DeviceSelector/DeviceList/BrokenDevice.tsx +0 -34
  69. package/src/Device/DeviceSelector/DeviceList/Device.tsx +0 -84
  70. package/src/Device/DeviceSelector/DeviceList/DeviceList.tsx +0 -113
  71. package/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.tsx +0 -28
  72. package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +0 -65
  73. package/src/Device/DeviceSelector/DeviceList/RenameDevice.tsx +0 -22
  74. package/src/Device/DeviceSelector/DeviceList/broken-device.scss +0 -32
  75. package/src/Device/DeviceSelector/DeviceList/device-list.scss +0 -64
  76. package/src/Device/DeviceSelector/DeviceList/device.scss +0 -28
  77. package/src/Device/DeviceSelector/DeviceList/edit-device-buttons.scss +0 -31
  78. package/src/Device/DeviceSelector/DeviceList/more-device-info.scss +0 -33
  79. package/src/Device/DeviceSelector/DeviceList/rename-device.scss +0 -13
  80. package/src/Device/DeviceSelector/DeviceSelector.test.tsx +0 -342
  81. package/src/Device/DeviceSelector/DeviceSelector.tsx +0 -173
  82. package/src/Device/DeviceSelector/Favorite.tsx +0 -49
  83. package/src/Device/DeviceSelector/SelectDevice.tsx +0 -36
  84. package/src/Device/DeviceSelector/SelectedDevice.tsx +0 -65
  85. package/src/Device/DeviceSelector/arrow-down.svg +0 -1
  86. package/src/Device/DeviceSelector/basic-device-info.scss +0 -62
  87. package/src/Device/DeviceSelector/device-icon.scss +0 -27
  88. package/src/Device/DeviceSelector/favorite.scss +0 -17
  89. package/src/Device/DeviceSelector/select-device.scss +0 -38
  90. package/src/Device/DeviceSelector/selected-device.scss +0 -57
  91. package/src/Device/DeviceSetup/DeviceSetupView.tsx +0 -102
  92. package/src/Device/deviceAutoSelectSlice.ts +0 -144
  93. package/src/Device/deviceInfo/deviceInfo.ts +0 -254
  94. package/src/Device/deviceInfo/nRF51-Series-logo.svg +0 -1
  95. package/src/Device/deviceInfo/nRF52-Series-logo.svg +0 -1
  96. package/src/Device/deviceInfo/nRF53-Series-logo.svg +0 -1
  97. package/src/Device/deviceInfo/nRF70-Series_no-background_RGB.svg +0 -36
  98. package/src/Device/deviceInfo/nRF91-Series-logo.svg +0 -1
  99. package/src/Device/deviceInfo/ppk-logo.svg +0 -1
  100. package/src/Device/deviceInfo/unknown-logo.svg +0 -30
  101. package/src/Device/deviceInfo/unknown-nordic-logo.svg +0 -25
  102. package/src/Device/deviceLibWrapper.test.ts +0 -97
  103. package/src/Device/deviceLibWrapper.ts +0 -133
  104. package/src/Device/deviceLister.test.ts +0 -89
  105. package/src/Device/deviceLister.ts +0 -396
  106. package/src/Device/deviceSetup.ts +0 -264
  107. package/src/Device/deviceSetupSlice.ts +0 -94
  108. package/src/Device/deviceSlice.ts +0 -248
  109. package/src/Device/dfu-cc.ts +0 -162
  110. package/src/Device/initPacket.ts +0 -402
  111. package/src/Device/jprogOperations.ts +0 -206
  112. package/src/Device/sdfuOperations.ts +0 -601
  113. package/src/Dialog/Dialog.test.tsx +0 -134
  114. package/src/Dialog/Dialog.tsx +0 -236
  115. package/src/Dialog/dialog.scss +0 -60
  116. package/src/Dropdown/Dropdown.module.scss +0 -83
  117. package/src/Dropdown/Dropdown.test.tsx +0 -62
  118. package/src/Dropdown/Dropdown.tsx +0 -106
  119. package/src/ErrorBoundary/ErrorBoundary.test.tsx +0 -105
  120. package/src/ErrorBoundary/ErrorBoundary.tsx +0 -186
  121. package/src/ErrorBoundary/bug.svg +0 -1
  122. package/src/ErrorBoundary/error-boundary.scss +0 -102
  123. package/src/ErrorDialog/ErrorDialog.test.tsx +0 -70
  124. package/src/ErrorDialog/ErrorDialog.tsx +0 -94
  125. package/src/ErrorDialog/error.scss +0 -14
  126. package/src/ErrorDialog/errorDialogSlice.test.ts +0 -64
  127. package/src/ErrorDialog/errorDialogSlice.ts +0 -80
  128. package/src/FactoryReset/FactoryResetButton.test.tsx +0 -46
  129. package/src/FactoryReset/FactoryResetButton.tsx +0 -81
  130. package/src/InlineInput/InlineInput.tsx +0 -170
  131. package/src/InlineInput/NumberInlineInput.tsx +0 -107
  132. package/src/InlineInput/inline-input.scss +0 -38
  133. package/src/InlineInput/number-inline-input.scss +0 -15
  134. package/src/Log/LogEntry.tsx +0 -62
  135. package/src/Log/LogViewer.tsx +0 -54
  136. package/src/Log/log-entry.scss +0 -30
  137. package/src/Log/log-viewer.scss +0 -24
  138. package/src/Log/logSlice.ts +0 -73
  139. package/src/Log/syncLogToStore.ts +0 -36
  140. package/src/Logo/Logo.tsx +0 -48
  141. package/src/Logo/logo.scss +0 -11
  142. package/src/Main/Main.tsx +0 -13
  143. package/src/Main/main.scss +0 -13
  144. package/src/MasonryLayout/MasonryLayout.tsx +0 -234
  145. package/src/MasonryLayout/masonryLayout.module.scss +0 -46
  146. package/src/NavBar/NavBar.tsx +0 -22
  147. package/src/NavBar/NavMenu.test.tsx +0 -41
  148. package/src/NavBar/NavMenu.tsx +0 -53
  149. package/src/NavBar/NavMenuItem.tsx +0 -41
  150. package/src/NavBar/nav-bar.scss +0 -26
  151. package/src/NavBar/nav-menu-item.scss +0 -34
  152. package/src/OpenApp/openApp.ts +0 -18
  153. package/src/Panes/FeedbackPane.tsx +0 -149
  154. package/src/PseudoButton/PseudoButton.tsx +0 -56
  155. package/src/PseudoButton/pseudo-button.scss +0 -11
  156. package/src/SerialPort/ConflictingSettingsDialog.tsx +0 -242
  157. package/src/SerialPort/SerialPort.test.ts +0 -54
  158. package/src/SerialPort/SerialPort.ts +0 -202
  159. package/src/Shortcuts/Shortcut-item.scss +0 -33
  160. package/src/Shortcuts/Shortcut-modal.scss +0 -20
  161. package/src/Shortcuts/ShortcutItem.tsx +0 -48
  162. package/src/Shortcuts/ShortcutModal.tsx +0 -67
  163. package/src/SidePanel/Group.tsx +0 -106
  164. package/src/SidePanel/SidePanel.tsx +0 -19
  165. package/src/SidePanel/group.scss +0 -42
  166. package/src/SidePanel/sidepanel.scss +0 -20
  167. package/src/Slider/Bar.tsx +0 -24
  168. package/src/Slider/Factor.test.ts +0 -48
  169. package/src/Slider/Handle.tsx +0 -121
  170. package/src/Slider/Slider.test.tsx +0 -25
  171. package/src/Slider/Slider.tsx +0 -91
  172. package/src/Slider/Ticks.tsx +0 -54
  173. package/src/Slider/__snapshots__/Slider.test.tsx.snap +0 -50
  174. package/src/Slider/bar.scss +0 -24
  175. package/src/Slider/factor.ts +0 -24
  176. package/src/Slider/handle.scss +0 -32
  177. package/src/Slider/percentage.ts +0 -67
  178. package/src/Slider/range.ts +0 -92
  179. package/src/Slider/slider.scss +0 -14
  180. package/src/Slider/ticks.scss +0 -28
  181. package/src/Slider/variables.scss +0 -16
  182. package/src/StartStopButton/StartStopButton.tsx +0 -60
  183. package/src/StartStopButton/play-circle.svg +0 -1
  184. package/src/StartStopButton/start-stop-button.scss +0 -47
  185. package/src/StartStopButton/stop-circle.svg +0 -1
  186. package/src/StateSelector/StateSelector.tsx +0 -64
  187. package/src/StateSelector/state-selector.scss +0 -38
  188. package/src/Stepper/Stepper.tsx +0 -139
  189. package/src/Stepper/stepper.scss +0 -127
  190. package/src/Toggle/Toggle.tsx +0 -120
  191. package/src/Toggle/toggle.scss +0 -109
  192. package/src/bootstrap.scss +0 -14
  193. package/src/index.ts +0 -146
  194. package/src/logging/appTransport.test.ts +0 -78
  195. package/src/logging/appTransport.ts +0 -41
  196. package/src/logging/describeError.test.ts +0 -38
  197. package/src/logging/describeError.ts +0 -56
  198. package/src/logging/index.ts +0 -103
  199. package/src/logging/logBuffer.test.ts +0 -41
  200. package/src/logging/logBuffer.ts +0 -24
  201. package/src/logging/sendInitialLogMessages.ts +0 -64
  202. package/src/store.ts +0 -60
  203. package/src/svg.d.ts +0 -15
  204. package/src/utils/AppTypes.ts +0 -60
  205. package/src/utils/appDirs.ts +0 -78
  206. package/src/utils/bleChannels.ts +0 -16
  207. package/src/utils/classNames.test.ts +0 -29
  208. package/src/utils/classNames.ts +0 -25
  209. package/src/utils/colors.scss +0 -46
  210. package/src/utils/colors.ts +0 -38
  211. package/src/utils/describeVersion.ts +0 -21
  212. package/src/utils/environment.ts +0 -6
  213. package/src/utils/logLibVersions.ts +0 -103
  214. package/src/utils/open.ts +0 -46
  215. package/src/utils/packageJson.ts +0 -60
  216. package/src/utils/persistentStore.ts +0 -144
  217. package/src/utils/systemReport.ts +0 -160
  218. package/src/utils/truncateMiddle.test.ts +0 -21
  219. package/src/utils/truncateMiddle.ts +0 -20
  220. package/src/utils/usageData.ts +0 -189
  221. package/src/utils/useHotKey.ts +0 -62
  222. package/src/utils/useStopwatch.test.tsx +0 -311
  223. package/src/utils/useStopwatch.ts +0 -140
  224. package/src/variables.scss +0 -820
  225. package/styles.scss +0 -88
  226. package/test/dispatchTo.ts +0 -23
  227. package/test/index.ts +0 -7
  228. package/test/jestResolver.js +0 -28
  229. package/test/setupTests.ts +0 -27
  230. package/test/testUtil.ts +0 -20
  231. package/test/testrenderer.tsx +0 -39
  232. /package/{src/Logo/nordic-logo-white-icon-only.png → dist/nordic-logo-white-icon-only-XIZBW537.png} +0 -0
@@ -1,32 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import '../../../variables';
8
-
9
- .core19-device-selector {
10
- .broken-device {
11
- display: flex;
12
- flex-direction: column;
13
-
14
- padding: 12px 0;
15
- font-weight: $font-weight-light;
16
-
17
- .icon {
18
- transform: translateY(0);
19
- }
20
-
21
- .broken-device-info {
22
- margin: 8px 0 8px 68px;
23
- font-size: 12px;
24
- p {
25
- margin: 0;
26
- }
27
- p + p {
28
- margin-top: 1em;
29
- }
30
- }
31
- }
32
- }
@@ -1,64 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @use "sass:color";
8
-
9
- @import "../../../variables";
10
-
11
- .core19-device-selector {
12
- .device-list {
13
- @include scrollbars($gray-50);
14
- background: $gray-50;
15
- color: $gray-700;
16
- display: flex;
17
- flex-direction: column;
18
-
19
- position: fixed;
20
- width: $side-panel-width;
21
- height: calc(100vh - #{$nav-bar-height});
22
- z-index: -1;
23
-
24
- overflow-y: overlay;
25
-
26
- transition: transform $normal-transition;
27
-
28
- &.hidden {
29
- transform: translateY(-100%);
30
- }
31
-
32
- .no-devices-connected {
33
- padding: 20px;
34
- }
35
-
36
- > ul {
37
- padding: 0;
38
- margin-bottom: 0;
39
-
40
- > li {
41
- border-bottom: 1px solid $gray-200;
42
- }
43
- }
44
- }
45
- }
46
-
47
- .global-auto-reconnect{
48
- background-color: $gray-200;
49
- color: $gray-700;
50
- text-transform: uppercase;
51
- padding: 8px 27px;
52
-
53
- .toggle-label {
54
- font-size: 10px;
55
- }
56
-
57
- .toggle {
58
- label {
59
- display: flex;
60
- justify-content: flex-start;
61
- }
62
- }
63
- }
64
-
@@ -1,28 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import "../../../variables";
8
-
9
- .core19-device-selector {
10
- .device {
11
- display: flex;
12
- flex-direction: column;
13
-
14
- padding: 12px 0;
15
- font-weight: $font-weight-light;
16
-
17
- .show-more { visibility: hidden; }
18
-
19
- &:hover, &.more-infos-visible {
20
- background: $white;
21
- .show-more { visibility: visible; }
22
- }
23
-
24
- &.more-infos-visible {
25
- padding-bottom: 0;
26
- }
27
- }
28
- }
@@ -1,31 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import "../../../variables";
8
-
9
- .core19-device-selector {
10
- .edit-device-buttons {
11
- margin-top: 10px;
12
- height: 35px;
13
-
14
- font-size: 11px;
15
- font-weight: $font-weight-normal;
16
-
17
- text-transform: uppercase;
18
- text-align: center;
19
-
20
- border-top: 1px solid $gray-200;
21
-
22
- & > * {
23
- padding-top: 9px;
24
- width: 50%;
25
- }
26
-
27
- & > *:first-child {
28
- border-right: 1px solid $gray-200;
29
- }
30
- }
31
- }
@@ -1,33 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import "../../../variables";
8
-
9
- .core19-device-selector {
10
- .more-infos {
11
- .info-row {
12
- display: flex;
13
- flex-direction: row;
14
- padding-right: 20px;
15
- }
16
-
17
- .flex-space {
18
- width: 68px;
19
- }
20
-
21
- .name {
22
- margin-top: 1em;
23
- }
24
-
25
- .ports {
26
- list-style: none;
27
- padding: 0;
28
- text-decoration: underline;
29
- margin-top: 1em;
30
- text-align: center;
31
- }
32
- }
33
- }
@@ -1,13 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import "../../../variables";
8
-
9
- .core19-device-selector {
10
- .rename-button .pencil {
11
- margin-right: 1ex;
12
- }
13
- }
@@ -1,342 +0,0 @@
1
- /*
2
- * Copyright (c) 2015 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import React from 'react';
8
- import {
9
- fireEvent,
10
- screen,
11
- waitFor,
12
- waitForElementToBeRemoved,
13
- } from '@testing-library/react';
14
-
15
- import render from '../../../test/testrenderer';
16
- import { Device, setDevices } from '../deviceSlice';
17
- import { jprogDeviceSetup } from '../jprogOperations';
18
- import DeviceSelector from './DeviceSelector';
19
-
20
- const testDevice: Device = {
21
- id: 1,
22
- hwInfo: {
23
- romSize: 123,
24
- ramSize: 456,
25
- romPageSize: 789,
26
- deviceFamily: 'PCATest',
27
- deviceVersion: 'PCATest',
28
- },
29
- broken: null,
30
- usb: {
31
- serialNumber: '000000001',
32
- manufacturer: 'testManufacturer',
33
- product: 'testProduct',
34
- osDevicePath: '/some-path',
35
- device: {
36
- busNumber: 2,
37
- address: 3,
38
- descriptor: {
39
- bcdDevice: 0,
40
- bDescriptorType: 4,
41
- idVendor: 5,
42
- idProduct: 6,
43
- },
44
- configList: {
45
- descriptors: [],
46
- interfaceLists: [],
47
- length: 0,
48
- },
49
- },
50
- },
51
- serialNumber: '000000001',
52
- serialPorts: [
53
- {
54
- path: 'COM1',
55
- manufacturer: 'testManufacturer',
56
- productId: 'testProduct',
57
- serialNumber: '000000001',
58
- vendorId: 'testVendor',
59
- comName: 'COM1',
60
- vcom: 1,
61
- },
62
- {
63
- path: 'COM2',
64
- manufacturer: 'testManufacturer',
65
- productId: 'testProduct',
66
- serialNumber: '000000001',
67
- vendorId: 'testVendor',
68
- comName: 'COM2',
69
- vcom: 2,
70
- },
71
- ],
72
- boardVersion: 'PCATest',
73
- serialport: {
74
- path: 'COM1',
75
- manufacturer: 'testManufacturer',
76
- productId: 'testProduct',
77
- serialNumber: '000000001',
78
- vendorId: 'testVendor',
79
- comName: 'COM1',
80
- vcom: 0,
81
- },
82
- favorite: false,
83
- traits: {
84
- jlink: true,
85
- },
86
- jlink: {
87
- boardVersion: 'PCATest',
88
- serialNumber: 'PCATest',
89
- jlinkObFirmwareVersion: 'PCATest',
90
- deviceFamily: 'PCATest',
91
- deviceVersion: 'PCATest',
92
- },
93
- };
94
-
95
- const validFirmware = {
96
- deviceSetups: [
97
- jprogDeviceSetup([
98
- {
99
- key: 'PCATest',
100
- fw: 'firmware/invalidDevice.hex',
101
- fwVersion: 'fw-1.0.0',
102
- fwIdAddress: 0x6000,
103
- },
104
- ]),
105
- ],
106
- allowCustomDevice: false,
107
- };
108
-
109
- describe('DeviceSelector', () => {
110
- it('should have no device selected by default', () => {
111
- render(
112
- <DeviceSelector
113
- deviceListing={{
114
- nordicUsb: true,
115
- serialPort: true,
116
- jlink: true,
117
- mcuBoot: true,
118
- }}
119
- />
120
- );
121
- expect(screen.getByText('Select device')).toBeInTheDocument();
122
- });
123
-
124
- it('should show no connected devices', () => {
125
- render(
126
- <DeviceSelector
127
- deviceListing={{
128
- nordicUsb: true,
129
- serialPort: true,
130
- jlink: true,
131
- mcuBoot: true,
132
- }}
133
- />
134
- );
135
- fireEvent.click(screen.getByText('Select device'));
136
- expect(screen.getByText('Nordic development kit')).toBeInTheDocument();
137
- });
138
-
139
- it('should list connected devices', () => {
140
- render(
141
- <DeviceSelector
142
- deviceListing={{
143
- nordicUsb: true,
144
- serialPort: true,
145
- jlink: true,
146
- mcuBoot: true,
147
- }}
148
- />,
149
- [setDevices([testDevice])]
150
- );
151
- expect(screen.getByText(testDevice.serialNumber)).toBeInTheDocument();
152
- });
153
-
154
- it('should unlist disconnected devices', () => {
155
- render(
156
- <DeviceSelector
157
- deviceListing={{
158
- nordicUsb: true,
159
- serialPort: true,
160
- jlink: true,
161
- mcuBoot: true,
162
- }}
163
- />,
164
- [setDevices([testDevice]), setDevices([])]
165
- );
166
- expect(screen.queryByText(testDevice.serialNumber)).toBeNull();
167
- });
168
-
169
- it('should show more device info when selecting the expand button', () => {
170
- render(
171
- <DeviceSelector
172
- deviceListing={{
173
- nordicUsb: true,
174
- serialPort: true,
175
- jlink: true,
176
- mcuBoot: true,
177
- }}
178
- />,
179
- [setDevices([testDevice])]
180
- );
181
- fireEvent.click(screen.getByText('Select device'));
182
- fireEvent.click(screen.getByTestId('show-more-device-info'));
183
- expect(screen.getAllByText(/COM/)).toHaveLength(2);
184
- });
185
-
186
- it('can select connected devices', () => {
187
- render(
188
- <DeviceSelector
189
- deviceListing={{
190
- nordicUsb: true,
191
- serialPort: true,
192
- jlink: true,
193
- mcuBoot: true,
194
- }}
195
- />,
196
- [setDevices([testDevice])]
197
- );
198
-
199
- fireEvent.click(screen.getByText('Select device'));
200
- fireEvent.click(screen.getByText(testDevice.serialNumber));
201
- expect(screen.getAllByText(testDevice.serialNumber)).toHaveLength(2);
202
- });
203
-
204
- it('can deselect selected devices', async () => {
205
- render(
206
- <DeviceSelector
207
- deviceListing={{
208
- nordicUsb: true,
209
- serialPort: true,
210
- jlink: true,
211
- mcuBoot: true,
212
- }}
213
- />,
214
- [setDevices([testDevice])]
215
- );
216
- fireEvent.click(screen.getByText('Select device'));
217
- fireEvent.click(screen.getByText(testDevice.serialNumber));
218
- await screen.findByTestId('disconnect-device');
219
- fireEvent.click(screen.getByTestId('disconnect-device'));
220
- expect(screen.getAllByText(testDevice.serialNumber)).toHaveLength(1);
221
- expect(screen.getByText('Select device')).toBeInTheDocument();
222
- });
223
-
224
- it('should allow device selection when custom devices are enabled and no valid firmware is defined', () => {
225
- render(
226
- <DeviceSelector
227
- deviceListing={{
228
- nordicUsb: true,
229
- serialPort: true,
230
- jlink: true,
231
- mcuBoot: true,
232
- }}
233
- deviceSetupConfig={{
234
- deviceSetups: [
235
- jprogDeviceSetup([
236
- {
237
- key: 'firmware_1',
238
- fw: 'firmware/invalidDevice.hex',
239
- fwVersion: 'fw-1.0.0',
240
- fwIdAddress: 0x6000,
241
- },
242
- ]),
243
- ],
244
- allowCustomDevice: true,
245
- }}
246
- />,
247
- [setDevices([testDevice])]
248
- );
249
- fireEvent.click(screen.getByText('Select device'));
250
- fireEvent.click(screen.getByText(testDevice.serialNumber));
251
-
252
- expect(screen.queryByText('OK')).toBeNull();
253
- expect(screen.getAllByText(testDevice.serialNumber)).toHaveLength(2);
254
- });
255
-
256
- it('should deselect device when custom devices are disabled and no valid firmware is defined', async () => {
257
- render(
258
- <DeviceSelector
259
- deviceListing={{
260
- nordicUsb: true,
261
- serialPort: true,
262
- jlink: true,
263
- mcuBoot: true,
264
- }}
265
- deviceSetupConfig={{
266
- deviceSetups: [
267
- jprogDeviceSetup([
268
- {
269
- key: 'invalidDevice',
270
- fw: 'firmware/invalidDevice.hex',
271
- fwVersion: 'fw-1.0.0',
272
- fwIdAddress: 0x6000,
273
- },
274
- ]),
275
- ],
276
- allowCustomDevice: false,
277
- }}
278
- />,
279
- [setDevices([testDevice])]
280
- );
281
-
282
- fireEvent.click(screen.getByText('Select device'));
283
- fireEvent.click(screen.getByText(testDevice.serialNumber));
284
-
285
- expect(screen.queryByText('OK')).toBeNull();
286
- await waitFor(() => {
287
- expect(screen.getAllByText(testDevice.serialNumber)).toHaveLength(
288
- 1
289
- );
290
- });
291
- await screen.findByText('Select device');
292
- });
293
-
294
- it('should show firmware prompt when a valid firmware is defined', async () => {
295
- render(
296
- <DeviceSelector
297
- deviceListing={{
298
- nordicUsb: true,
299
- serialPort: true,
300
- jlink: true,
301
- mcuBoot: true,
302
- }}
303
- deviceSetupConfig={validFirmware}
304
- />,
305
- [setDevices([testDevice])]
306
- );
307
-
308
- fireEvent.click(screen.getByText('Select device'));
309
- fireEvent.click(screen.getByText(testDevice.serialNumber));
310
-
311
- await screen.findByText(
312
- 'Device must be programmed, do you want to proceed?'
313
- );
314
- });
315
-
316
- it('should select device when cancelling firmware prompt', async () => {
317
- render(
318
- <DeviceSelector
319
- deviceListing={{
320
- nordicUsb: true,
321
- serialPort: true,
322
- jlink: true,
323
- mcuBoot: true,
324
- }}
325
- deviceSetupConfig={validFirmware}
326
- />,
327
- [setDevices([testDevice])]
328
- );
329
-
330
- fireEvent.click(screen.getByText('Select device'));
331
- fireEvent.click(screen.getByText(testDevice.serialNumber));
332
- await screen.findByText('No');
333
- fireEvent.click(screen.getByText('No'));
334
-
335
- await waitForElementToBeRemoved(() =>
336
- screen.queryByText(
337
- 'Device must be programmed, do you want to proceed?'
338
- )
339
- );
340
- expect(screen.getAllByText(testDevice.serialNumber)).toHaveLength(2);
341
- });
342
- });