From 06621cf192e79228bbe081031d5b0f1b83ae6f3f Mon Sep 17 00:00:00 2001 From: Jan Hancic Date: Tue, 8 Sep 2015 16:22:02 +0100 Subject: [PATCH 1/2] Make the error message thrown by the view fixture more useful as it will point you to what test line actually failed. --- .../libs/javascript/br-test/src/br/test/ViewFixture.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/brjs-sdk/sdk/libs/javascript/br-test/src/br/test/ViewFixture.js b/brjs-sdk/sdk/libs/javascript/br-test/src/br/test/ViewFixture.js index 6e2cc4b06..0359cb734 100644 --- a/brjs-sdk/sdk/libs/javascript/br-test/src/br/test/ViewFixture.js +++ b/brjs-sdk/sdk/libs/javascript/br-test/src/br/test/ViewFixture.js @@ -267,7 +267,7 @@ ViewFixture.prototype._getHandler = function(propertyName, value) { if (handler.elements.length === 1) { handler.selectedElement = handler.elements[0]; } else { - this._verifyOnlyOneElementSelected(handler.elements, handler.property); + this._verifyOnlyOneElementSelected(handler.elements, handler.property, propertyName, value); } } @@ -291,11 +291,13 @@ ViewFixture.prototype._getViewElements = function(propertyName) { }; /** @private */ -ViewFixture.prototype._verifyOnlyOneElementSelected = function(elements, selector) { +ViewFixture.prototype._verifyOnlyOneElementSelected = function(elements, selector, propertyName, value) { if (elements.length === 0) { - throw 'No view element found for "' + selector + '"'; + throw 'No view element found for "' + selector + '". Processing property "' + propertyName + + '" and looking for value "' + value + '"'; } else if (elements.length > 1) { - throw 'More than one view element found for "' + selector + '"'; + throw 'More than one view element found for "' + selector + '". Processing property "' + propertyName + + '" and looking for value "' + value + '"'; } }; From c73dd11a1f2f0b3f0df28d6e51e6cea78a78d0e4 Mon Sep 17 00:00:00 2001 From: Jan Hancic Date: Thu, 10 Sep 2015 14:31:03 +0100 Subject: [PATCH 2/2] Rename `selector` to `viewHandler` to make it less wrong for most cases. Only display the extra information if two new extra arguments are provided. --- .../br-test/src/br/test/ViewFixture.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/brjs-sdk/sdk/libs/javascript/br-test/src/br/test/ViewFixture.js b/brjs-sdk/sdk/libs/javascript/br-test/src/br/test/ViewFixture.js index 0359cb734..9adc87155 100644 --- a/brjs-sdk/sdk/libs/javascript/br-test/src/br/test/ViewFixture.js +++ b/brjs-sdk/sdk/libs/javascript/br-test/src/br/test/ViewFixture.js @@ -291,13 +291,20 @@ ViewFixture.prototype._getViewElements = function(propertyName) { }; /** @private */ -ViewFixture.prototype._verifyOnlyOneElementSelected = function(elements, selector, propertyName, value) { +ViewFixture.prototype._verifyOnlyOneElementSelected = function(elements, viewHandler, propertyName, value) { + var exceptionMessage = ''; if (elements.length === 0) { - throw 'No view element found for "' + selector + '". Processing property "' + propertyName + - '" and looking for value "' + value + '"'; + exceptionMessage = 'No view element found for "' + viewHandler + '".'; } else if (elements.length > 1) { - throw 'More than one view element found for "' + selector + '". Processing property "' + propertyName + - '" and looking for value "' + value + '"'; + exceptionMessage = 'More than one view element found for "' + viewHandler + '".'; + } + + if (exceptionMessage !== '') { + if (typeof propertyName !== 'undefined') { + exceptionMessage += ' Processing property "' + propertyName + '" and looking for value "' + value + '".'; + } + + throw exceptionMessage; } };