From 8fdeca922dd5b137523b666b4f1aad1307f65c7e Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek <fawek@fawek.net> Date: Sat, 18 Feb 2012 21:29:31 +0100 Subject: [PATCH] Fix the issue #871 Rather than invoking the doPickEmail state directly, publish pick_email to preserve the original dialog options. --- resources/static/dialog/resources/state.js | 2 +- resources/static/test/cases/resources/state.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/resources/static/dialog/resources/state.js b/resources/static/dialog/resources/state.js index 22a3098e7..9af733f52 100644 --- a/resources/static/dialog/resources/state.js +++ b/resources/static/dialog/resources/state.js @@ -234,7 +234,7 @@ BrowserID.State = (function() { startState("doAssertionGenerated", info.assertion); } else { - startState("doPickEmail"); + publish("pick_email"); } }); diff --git a/resources/static/test/cases/resources/state.js b/resources/static/test/cases/resources/state.js index a9e95a48b..53c972669 100644 --- a/resources/static/test/cases/resources/state.js +++ b/resources/static/test/cases/resources/state.js @@ -358,5 +358,13 @@ equal(error, "invalid email", "expected exception thrown"); }); + + test("null assertion generated - preserve original options in doPickEmail", function() { + mediator.publish("start", { allowPersistent: true }); + mediator.publish("assertion_generated", { assertion: null }); + + equal(actions.called.doPickEmail, true, "doPickEmail callled"); + equal(actions.info.doPickEmail.allow_persistent, true, "allow_persistent preserved"); + }); }()); -- GitLab