diff options
Diffstat (limited to 'install/ui/test/widget_tests.js')
-rw-r--r-- | install/ui/test/widget_tests.js | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/install/ui/test/widget_tests.js b/install/ui/test/widget_tests.js index 3d827cdb8..f4281e38f 100644 --- a/install/ui/test/widget_tests.js +++ b/install/ui/test/widget_tests.js @@ -67,7 +67,7 @@ function base_widget_test(widget,entity_name, value){ } -function widget_string_test(widget, value){ +function widget_string_test(widget) { var value = 'test_title'; var mock_record = {'title': value}; @@ -117,6 +117,31 @@ function text_tests(widget,input){ } +function multivalued_text_tests(widget) { + + var values = ['val1', 'val2', 'val3']; + + var record = {}; + record[widget.name] = values; + + widget.load(record); + + same(widget.save(), values, "All values loaded"); + same(widget.is_dirty(), false, "Field initially clean"); + + values = ['val1', 'val2', 'val3', 'val4']; + widget.add_row('val4'); + + same(widget.save(), values, "Value added"); + same(widget.is_dirty(), true, "Field is dirty"); + + values = ['val1', 'val3', 'val4']; + widget.remove_row(1); + + same(widget.save(), values, "Value removed"); + same(widget.is_dirty(), true, "Field is dirty"); +} + test("IPA.table_widget" ,function(){ var widget = IPA.table_widget({undo:true,name:'users'}); @@ -191,6 +216,13 @@ test("Testing text widget.", function() { }); +test("Testing multi-valued text widget.", function() { + var widget = IPA.multivalued_text_widget({undo:true,name:'title'}); + base_widget_test(widget,'user','test_value'); + widget_string_test(widget); + multivalued_text_tests(widget); +}); + test("Testing checkbox widget.", function() { var widget = IPA.checkbox_widget({name:'title'}); base_widget_test(widget,'user','test_value'); |