Fixed evaluating checkbox dirty status

Problem:
When value in checkbox is modified twice in a row (so it is at its original value) an 'undo' button is still visible even when it shouldn't be.

Cause:
IPA server sends boolean values as 'TRUE' or 'FALSE' (strings). Checkbox_widget converts them to JavaScript? boolean (true, false). Save method in checkbox_widget is returning array with a boolean. So test_dirty method always evaluates to dirty because 'FALSE' != false.

This patch is fixing the problem.

https://fedorahosted.org/freeipa/ticket/2494
This commit is contained in:
Petr Vobornik
2012-03-09 15:52:05 +01:00
parent 51601ac794
commit 3ca0f6aee5
4 changed files with 24 additions and 18 deletions

View File

@@ -223,7 +223,9 @@ test("Testing checkbox widget.", function() {
spec = {name:'title'};
base_widget_test('test_value');
var mock_record = { 'title': 'TRUE' };
//Changing mock record from 'TRUE' to true. Value normalization is field's
//job. Checkbox should work with booleans values.
var mock_record = { 'title': [true] };
widget.update(mock_record.title);
same(widget.save(),[true], "Checkbox is set");