Skip to content

Commit

Permalink
test(kerberos): modify TestMethod to test optional parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
mbroadst committed Nov 27, 2018
1 parent b897c9c commit e94a365
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/kerberos.cc
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,15 @@ NAN_GETTER(KerberosServer::ContextCompleteGetter) {
NAN_METHOD(TestMethod) {
std::string string(*Nan::Utf8String(info[0]));
bool shouldError = info[1]->BooleanValue();
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());

std::string optionalString;
Nan::Callback* callback;
if (info[2]->IsFunction()) {
callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
} else {
optionalString = *Nan::Utf8String(info[2]);
callback = new Nan::Callback(Nan::To<v8::Function>(info[3]).ToLocalChecked());
}

KerberosWorker::Run(callback, "kerberos:TestMethod", [=](KerberosWorker::SetOnFinishedHandler onFinished) {
return onFinished([=](KerberosWorker* worker) {
Expand All @@ -141,7 +149,7 @@ NAN_METHOD(TestMethod) {
v8::Local<v8::Value> argv[] = {Nan::Error("an error occurred"), Nan::Null()};
worker->Call(2, argv);
} else {
v8::Local<v8::Value> argv[] = {Nan::Null(), Nan::Null()};
v8::Local<v8::Value> argv[] = {Nan::Null(), Nan::New(optionalString.c_str()).ToLocalChecked()};
worker->Call(2, argv);
}
});
Expand Down

0 comments on commit e94a365

Please sign in to comment.