Browse Source

docs: fix typing of message box type value (#38352)

* docs: fix typing of dialog type value

Co-authored-by: David Sanders <[email protected]>

* test: add smoke tests

Co-authored-by: David Sanders <[email protected]>

* test: update test

Co-authored-by: David Sanders <[email protected]>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: David Sanders <[email protected]>
trop[bot] 1 year ago
parent
commit
8ce23c425d
3 changed files with 27 additions and 9 deletions
  1. 8 8
      docs/api/dialog.md
  2. 1 1
      spec/api-dialog-spec.ts
  3. 18 0
      spec/ts-smoke/electron/main.ts

+ 8 - 8
docs/api/dialog.md

@@ -223,10 +223,10 @@ expanding and collapsing the dialog.
 * `browserWindow` [BrowserWindow](browser-window.md) (optional)
 * `options` Object
   * `message` string - Content of the message box.
-  * `type` string (optional) - Can be `"none"`, `"info"`, `"error"`, `"question"` or
-  `"warning"`. On Windows, `"question"` displays the same icon as `"info"`, unless
-  you set an icon using the `"icon"` option. On macOS, both `"warning"` and
-  `"error"` display the same warning icon.
+  * `type` string (optional) - Can be `none`, `info`, `error`, `question` or
+  `warning`. On Windows, `question` displays the same icon as `info`, unless
+  you set an icon using the `icon` option. On macOS, both `warning` and
+  `error` display the same warning icon.
   * `buttons` string[]&#32;(optional) - Array of texts for buttons. On Windows, an empty array
     will result in one button labeled "OK".
   * `defaultId` Integer (optional) - Index of the button in the buttons array which will
@@ -266,10 +266,10 @@ If `browserWindow` is not shown dialog will not be attached to it. In such case
 * `browserWindow` [BrowserWindow](browser-window.md) (optional)
 * `options` Object
   * `message` string - Content of the message box.
-  * `type` string (optional) - Can be `"none"`, `"info"`, `"error"`, `"question"` or
-  `"warning"`. On Windows, `"question"` displays the same icon as `"info"`, unless
-  you set an icon using the `"icon"` option. On macOS, both `"warning"` and
-  `"error"` display the same warning icon.
+  * `type` string (optional) - Can be `none`, `info`, `error`, `question` or
+  `warning`. On Windows, `question` displays the same icon as `info`, unless
+  you set an icon using the `icon` option. On macOS, both `warning` and
+  `error` display the same warning icon.
   * `buttons` string[]&#32;(optional) - Array of texts for buttons. On Windows, an empty array
     will result in one button labeled "OK".
   * `defaultId` Integer (optional) - Index of the button in the buttons array which will

+ 1 - 1
spec/api-dialog-spec.ts

@@ -97,7 +97,7 @@ describe('dialog module', () => {
 
     it('throws errors when the options are invalid', () => {
       expect(() => {
-        dialog.showMessageBox(undefined as any, { type: 'not-a-valid-type', message: '' });
+        dialog.showMessageBox(undefined as any, { type: 'not-a-valid-type' as any, message: '' });
       }).to.throw(/Invalid message box type/);
 
       expect(() => {

+ 18 - 0
spec/ts-smoke/electron/main.ts

@@ -503,6 +503,24 @@ dialog.showOpenDialog(win3, {
   console.log(ret);
 });
 
+// variants without browserWindow
+dialog.showMessageBox({ message: 'test', type: 'warning' });
+dialog.showMessageBoxSync({ message: 'test', type: 'error' });
+
+// @ts-expect-error Invalid type value
+dialog.showMessageBox({ message: 'test', type: 'foo' });
+// @ts-expect-error Invalid type value
+dialog.showMessageBoxSync({ message: 'test', type: 'foo' });
+
+// variants with browserWindow
+dialog.showMessageBox(win3, { message: 'test', type: 'question' });
+dialog.showMessageBoxSync(win3, { message: 'test', type: 'info' });
+
+// @ts-expect-error Invalid type value
+dialog.showMessageBox(win3, { message: 'test', type: 'foo' });
+// @ts-expect-error Invalid type value
+dialog.showMessageBoxSync(win3, { message: 'test', type: 'foo' });
+
 // desktopCapturer
 // https://github.com/electron/electron/blob/main/docs/api/desktop-capturer.md