mirror of
https://github.com/electron/electron.git
synced 2026-02-19 03:14:51 -05:00
fix: second argument to shell.writeShortcutLink is optional (#49476)
fix: second argument to shell.writeShortcutLink is optional
This commit is contained in:
@@ -112,11 +112,20 @@ bool WriteShortcutLink(const base::FilePath& shortcut_path,
|
||||
gin::Arguments* const args) {
|
||||
base::win::ShortcutOperation operation =
|
||||
base::win::ShortcutOperation::kCreateAlways;
|
||||
args->GetNext(&operation);
|
||||
auto options = gin::Dictionary::CreateEmpty(args->isolate());
|
||||
if (!args->GetNext(&options)) {
|
||||
args->ThrowError();
|
||||
return false;
|
||||
gin::Dictionary options = gin::Dictionary::CreateEmpty(args->isolate());
|
||||
|
||||
v8::Local<v8::Value> peek = args->PeekNext();
|
||||
if (peek->IsObject()) {
|
||||
if (!args->GetNext(&options)) {
|
||||
args->ThrowError();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
args->GetNext(&operation);
|
||||
if (!args->GetNext(&options)) {
|
||||
args->ThrowError();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
base::win::ShortcutProperties properties;
|
||||
|
||||
@@ -172,6 +172,16 @@ describe('shell module', () => {
|
||||
expect(fs.existsSync(tmpShortcut)).to.be.true();
|
||||
});
|
||||
|
||||
it('writes the shortcut with omitted operation (defaults to create)', () => {
|
||||
expect(shell.writeShortcutLink(tmpShortcut, shortcutOptions)).to.be.true();
|
||||
expect(fs.existsSync(tmpShortcut)).to.be.true();
|
||||
expect(shell.readShortcutLink(tmpShortcut)).to.deep.equal(shortcutOptions);
|
||||
|
||||
const newOptions = { ...shortcutOptions, description: 'new description' };
|
||||
expect(shell.writeShortcutLink(tmpShortcut, newOptions)).to.be.true();
|
||||
expect(shell.readShortcutLink(tmpShortcut)).to.deep.equal(newOptions);
|
||||
});
|
||||
|
||||
it('correctly sets the fields', () => {
|
||||
expect(shell.writeShortcutLink(tmpShortcut, shortcutOptions)).to.be.true();
|
||||
expect(shell.readShortcutLink(tmpShortcut)).to.deep.equal(shortcutOptions);
|
||||
|
||||
Reference in New Issue
Block a user