Merge pull request #6486 from MarshallOfSound/master
Add a getFeedURL API for the autoUpdater
This commit is contained in:
commit
5db758297f
8 changed files with 39 additions and 0 deletions
|
@ -109,6 +109,7 @@ void AutoUpdater::BuildPrototype(
|
|||
v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> prototype) {
|
||||
mate::ObjectTemplateBuilder(isolate, prototype)
|
||||
.SetMethod("checkForUpdates", &auto_updater::AutoUpdater::CheckForUpdates)
|
||||
.SetMethod("getFeedURL", &auto_updater::AutoUpdater::GetFeedURL)
|
||||
.SetMethod("setFeedURL", &AutoUpdater::SetFeedURL)
|
||||
.SetMethod("quitAndInstall", &AutoUpdater::QuitAndInstall);
|
||||
}
|
||||
|
|
|
@ -44,6 +44,7 @@ class AutoUpdater : public mate::EventEmitter<AutoUpdater>,
|
|||
void OnWindowAllClosed() override;
|
||||
|
||||
private:
|
||||
std::string GetFeedURL();
|
||||
void SetFeedURL(const std::string& url, mate::Arguments* args);
|
||||
void QuitAndInstall();
|
||||
|
||||
|
|
|
@ -17,6 +17,10 @@ void AutoUpdater::SetDelegate(Delegate* delegate) {
|
|||
}
|
||||
|
||||
#if !defined(OS_MACOSX) || defined(MAS_BUILD)
|
||||
std::string AutoUpdater::GetFeedURL() {
|
||||
return "";
|
||||
}
|
||||
|
||||
void AutoUpdater::SetFeedURL(const std::string& url,
|
||||
const HeaderMap& requestHeaders) {
|
||||
}
|
||||
|
|
|
@ -49,6 +49,7 @@ class AutoUpdater {
|
|||
static Delegate* GetDelegate();
|
||||
static void SetDelegate(Delegate* delegate);
|
||||
|
||||
static std::string GetFeedURL();
|
||||
static void SetFeedURL(const std::string& url,
|
||||
const HeaderMap& requestHeaders);
|
||||
static void CheckForUpdates();
|
||||
|
|
|
@ -25,9 +25,14 @@ SQRLUpdater* g_updater = nil;
|
|||
namespace {
|
||||
|
||||
bool g_update_available = false;
|
||||
std::string update_url_ = "";
|
||||
|
||||
}
|
||||
|
||||
std::string AutoUpdater::GetFeedURL() {
|
||||
return update_url_;
|
||||
}
|
||||
|
||||
// static
|
||||
void AutoUpdater::SetFeedURL(const std::string& feed,
|
||||
const HeaderMap& requestHeaders) {
|
||||
|
@ -35,6 +40,8 @@ void AutoUpdater::SetFeedURL(const std::string& feed,
|
|||
if (!delegate)
|
||||
return;
|
||||
|
||||
update_url_ = feed;
|
||||
|
||||
NSURL* url = [NSURL URLWithString:base::SysUTF8ToNSString(feed)];
|
||||
NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:url];
|
||||
|
||||
|
|
|
@ -100,6 +100,10 @@ The `autoUpdater` object has the following methods:
|
|||
|
||||
Sets the `url` and initialize the auto updater.
|
||||
|
||||
### `autoUpdater.getFeedURL()`
|
||||
|
||||
Returns the current update feed URL.
|
||||
|
||||
### `autoUpdater.checkForUpdates()`
|
||||
|
||||
Asks the server whether there is an update. You must call `setFeedURL` before
|
||||
|
|
|
@ -19,6 +19,10 @@ AutoUpdater.prototype.quitAndInstall = function () {
|
|||
return app.quit()
|
||||
}
|
||||
|
||||
AutoUpdater.prototype.getFeedURL = function () {
|
||||
return this.updateURL
|
||||
}
|
||||
|
||||
AutoUpdater.prototype.setFeedURL = function (updateURL, headers) {
|
||||
this.updateURL = updateURL
|
||||
}
|
||||
|
|
|
@ -33,5 +33,22 @@ if (!process.mas) {
|
|||
autoUpdater.setFeedURL('')
|
||||
})
|
||||
})
|
||||
|
||||
describe('getFeedURL', function () {
|
||||
it('returns a falsey value by default', function () {
|
||||
assert.ok(!autoUpdater.getFeedURL())
|
||||
})
|
||||
|
||||
it('correctly fetches the previously set FeedURL', function (done) {
|
||||
if (process.platform !== 'win32') {
|
||||
return done()
|
||||
}
|
||||
|
||||
const updateURL = 'https://fake-update.electron.io'
|
||||
autoUpdater.setFeedURL(updateURL)
|
||||
assert.equal(autoUpdater.getFeedURL(), updateURL)
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue