Browse Source

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

David Sanders 1 year ago
parent
commit
c9ff49c827
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[] (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[] (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

@@ -96,7 +96,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' })
+
 // global-shortcut
 // https://github.com/electron/electron/blob/master/docs/api/global-shortcut.md