From f34b6ded6a3d7a62b82f9d5c235bae3ad195d39f Mon Sep 17 00:00:00 2001 From: Shane Tomlinson <stomlinson@mozilla.com> Date: Mon, 17 Sep 2012 12:56:09 +0100 Subject: [PATCH] No longer use the email address as an element ID. * Unit tests now check the displayed order of the addresses against the data model's sorted order. --- resources/static/pages/js/manage_account.js | 3 +-- .../static/test/cases/pages/js/manage_account.js | 12 ++++++------ resources/views/index.ejs | 4 ++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/resources/static/pages/js/manage_account.js b/resources/static/pages/js/manage_account.js index 1abd43fca..5582bd363 100644 --- a/resources/static/pages/js/manage_account.js +++ b/resources/static/pages/js/manage_account.js @@ -90,8 +90,7 @@ BrowserID.manageAccount = (function() { _(emails).each(function(item) { var e = item.address; - var id = e.replace('@', '_').replace('.', '_', 'g'); - var identity = substitute(template, { email: e, id: id }); + var identity = substitute(template, { email: e }); var idEl = dom.appendTo(identity, list), deleteButton = dom.getDescendentElements(".delete", idEl); diff --git a/resources/static/test/cases/pages/js/manage_account.js b/resources/static/test/cases/pages/js/manage_account.js index 42cbd863b..e9e6cd982 100644 --- a/resources/static/test/cases/pages/js/manage_account.js +++ b/resources/static/test/cases/pages/js/manage_account.js @@ -9,6 +9,7 @@ var bid = BrowserID, xhr = bid.Mocks.xhr, errorScreen = bid.Screens.error, + user = bid.User, network = bid.Network, storage = bid.Storage, testHelpers = bid.TestHelpers, @@ -82,12 +83,11 @@ xhr.useResult("multiple"); createController(mocks, function() { - equal($("#emailList").children().length, 2, "there two children added"); - - var firstLI = $("#testuser2_testuser_com"); - var secondLI = $("#testuser_testuser_com"); - - equal(firstLI.next().is(secondLI), true, "names are in alphabetical order"); + var sortedEmails = user.getSortedEmailKeypairs(); + _.each(sortedEmails, function(addressInfo, index) { + var displayedAddress = $("#emailList .email").get(index).innerHTML; + equal(displayedAddress, addressInfo.address, "emails are displayed in sorted order"); + }); start(); }); diff --git a/resources/views/index.ejs b/resources/views/index.ejs index b4d6f2b65..68c5cdcb3 100644 --- a/resources/views/index.ejs +++ b/resources/views/index.ejs @@ -19,13 +19,13 @@ </div> </div> - <!-- + <!-- These "templates" below aren't available as EJS client-side, since all EJS tags are processed when this view is served by the server. --> <script type="text/html" id="templateUser"> - <li class="identity cf" id="{{id}}"> + <li class="identity cf"> <div class="email">{{email}}</div> <button class="delete"><%- gettext('remove') %></button> </li> -- GitLab