From a50846aff782c8a32d05b8f78c60006034a3c218 Mon Sep 17 00:00:00 2001
From: Shane Tomlinson <stomlinson@mozilla.com>
Date: Fri, 16 Dec 2011 14:52:23 +0000
Subject: [PATCH] Check for empty requiredEmail addresses.

issue #632.
---
 resources/static/dialog/resources/state_machine.js        | 2 +-
 .../test/qunit/resources/state_machine_unit_test.js       | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/resources/static/dialog/resources/state_machine.js b/resources/static/dialog/resources/state_machine.js
index ef2dbef54..beb9f72d2 100644
--- a/resources/static/dialog/resources/state_machine.js
+++ b/resources/static/dialog/resources/state_machine.js
@@ -95,7 +95,7 @@
       self.allowPersistent = !!info.allowPersistent;
       var email = self.requiredEmail = info.requiredEmail;
 
-      if(email && !(bid.verifyEmail(email))) {
+      if(typeof(email) !== "undefined" && !(bid.verifyEmail(email))) {
         gotoState("doError", "invalidRequiredEmail", { email: email });
       }
       else {
diff --git a/resources/static/test/qunit/resources/state_machine_unit_test.js b/resources/static/test/qunit/resources/state_machine_unit_test.js
index 6d96c41f3..e988f9351 100644
--- a/resources/static/test/qunit/resources/state_machine_unit_test.js
+++ b/resources/static/test/qunit/resources/state_machine_unit_test.js
@@ -256,6 +256,14 @@
     equal(controllerMock.error, true, "error screen is shown");
   });
 
+  test("start with empty requiredEmail prints error screen", function() {
+    mediator.publish("start", {
+      requiredEmail: ""
+    });
+
+    equal(controllerMock.error, true, "error screen is shown");
+  });
+
   test("start with valid requiredEmail goes to auth", function() {
     mediator.publish("start", {
       requiredEmail: "testuser@testuser.com"
-- 
GitLab