bug/bug/bug.js | 22 ++++++++++++++-------- bug/bug/test.js | 35 +++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 24 deletions(-)
New commits: commit 38a1d38130f3006af9712d58a64f6b7bb7ea46a4 Author: Loic Dachary <l...@dachary.org> Date: Thu Sep 22 12:11:49 2011 +0200 The HTML returned by the submit needs more than one regexp to detect the errors. The lookup_result function now accepts a list of error regexps diff --git a/bug/bug/bug.js b/bug/bug/bug.js index 684ccde..0940d31 100644 --- a/bug/bug/bug.js +++ b/bug/bug/bug.js @@ -40,8 +40,14 @@ }); }, - lookup_result: function(data, error_regexp, success_regexp) { - var error = data.match(error_regexp); + lookup_result: function(data, error_regexps, success_regexp) { + var error = null; + for(var i = 0; i < error_regexps.length; i++) { + error = data.match(error_regexps[i]); + if(error !== null) { + break; + } + } if(error !== null) { $.bug.error_set(error[1]); throw error; @@ -70,7 +76,7 @@ $('.error-container').show(); }, - state_signin_error_regexp: 'class="throw_error">([^<]*)', + state_signin_error_regexps: ['class="throw_error">([^<]*)'], state_signin_success_regexp: 'Log out</a>([^<]*)', state_signin: function() { @@ -84,7 +90,7 @@ }).pipe(function(data) { $("body").css("cursor", "default"); return $.bug.lookup_result(data, - $.bug.state_signin_error_regexp, + $.bug.state_signin_error_regexps, $.bug.state_signin_success_regexp); }).pipe(function(data) { $('.username').html(data); @@ -165,7 +171,7 @@ } }, - state_submit_error_regexp: 'font size="\\+2">([^<]*)', + state_submit_error_regexps: ['class="throw_error">([^<]*)', 'font size="\\+2">([^<]*)'], state_submit_success_regexp: 'title>Bug ([0-9]+)', state_submit: function() { @@ -192,7 +198,7 @@ }).pipe(function(data) { $("body").css("cursor", "default"); return $.bug.lookup_result(data, - $.bug.state_submit_error_regexp, + $.bug.state_submit_error_regexps, $.bug.state_submit_success_regexp); }).pipe(function(data) { $('.bug', element).text(data); @@ -206,7 +212,7 @@ } }, - state_attach_error_regexp: 'class="throw_error">([^<]*)', + state_attach_error_regexps: ['class="throw_error">([^<]*)'], state_attach_success_regexp: 'Attachment #([0-9]+)', state_attach: function() { @@ -215,7 +221,7 @@ $('.bug', element).val(bug); $('form', element).iframePostForm({ complete: function(data) { var attachment = $.bug.lookup_result(data, - $.bug.state_attach_error_regexp, + $.bug.state_attach_error_regexps, $.bug.state_attach_success_regexp); $('img', element). attr('src', '/attachment.cgi?id=' + attachment). diff --git a/bug/bug/test.js b/bug/bug/test.js index 86dc7a9..70785f8 100644 --- a/bug/bug/test.js +++ b/bug/bug/test.js @@ -54,7 +54,7 @@ test("lookup_result", function() { // error try { - $.bug.lookup_result('ERR_' + what + '_OR', error_regexp, success_regexp); + $.bug.lookup_result('ERR_' + what + '_OR', [error_regexp], success_regexp); } catch(e) { equal(e[1], what); equal($('.error').text(), what); @@ -65,7 +65,7 @@ test("lookup_result", function() { // output is not as expected var bugous = 'BUGOUS OUTPUT'; try { - $.bug.lookup_result(bugous, error_regexp, success_regexp); + $.bug.lookup_result(bugous, [error_regexp], success_regexp); } catch(ee) { equal(ee, bugous); ok($('.error').text().indexOf(success_regexp) >= 0, 'error displayed'); @@ -74,7 +74,7 @@ test("lookup_result", function() { ok(caught, 'caught exception'); // success - equal($.bug.lookup_result('SUC_' + value + '_ESS', error_regexp, success_regexp), value); + equal($.bug.lookup_result('SUC_' + value + '_ESS', [error_regexp], success_regexp), value); }); test("state_signin", function() { @@ -201,7 +201,7 @@ test("state_description", function() { }); test("state_submit", function() { - expect(11); + expect(14); var state_success = $.bug.state_success; $.bug.state_success = function() { ok(true, 'state_success'); }; @@ -238,18 +238,21 @@ test("state_submit", function() { var error = ' ERROR '; equal($('.error').text(), '', 'error is not set'); - $.bug.ajax = function(type, url, data) { - return $.Deferred().resolve('<table cellpadding="20"> <tr> <td bgcolor="#ff0000"> <font size="+2">' + error + '</font> </td> </tr> </table>'); - }; - var caught = false; - try { - $('.go', element).click(); - } catch(e) { - equal($('.error').text(), error); - equal(e[1], error); - caught = true; - } - ok(caught, 'caught'); + + $(['<table cellpadding="20"> <tr> <td bgcolor="#ff0000"> <font size="+2">' + error + '</font> </td> </tr> </table>', 'class="throw_error">' + error + '<']).each(function(index, str) { + $.bug.ajax = function(type, url, data) { + return $.Deferred().resolve(str); + }; + var caught = false; + try { + $('.go', element).click(); + } catch(e) { + equal($('.error').text(), error, 'text ' + str); + equal(e[1], error, 'catch ' + str); + caught = true; + } + ok(caught, 'caught', str); + }); equal($('.error').text(), error, 'error is set'); $.bug.ajax = $.ajax; _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits