summaryrefslogtreecommitdiffstats
path: root/install/ui/test/utils_tests.js
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-11-13 15:49:25 +0100
committerPetr Vobornik <pvoborni@redhat.com>2014-04-03 12:40:37 +0200
commit0d05a50e19b71cade636d9ca4882e453f614a78c (patch)
tree8b7fee3645c6c08f0a90be334ecd11543a6c2f91 /install/ui/test/utils_tests.js
parent66fb4d5e849a049e95d3ef4fcf2b86217488634d (diff)
downloadfreeipa-0d05a50e19b71cade636d9ca4882e453f614a78c.tar.gz
freeipa-0d05a50e19b71cade636d9ca4882e453f614a78c.tar.xz
freeipa-0d05a50e19b71cade636d9ca4882e453f614a78c.zip
webui: field and widget binding refactoring
This is a Web UI wide change. Fields and Widgets binding was refactored to enable proper two-way binding between them. This should allow to have one source of truth (field) for multiple consumers - widgets or something else. One of the goal is to have fields and widget implementations independent on each other. So that one could use a widget without field or use one field for multiple widgets, etc.. Basically a fields logic was split into separate components: - adapters - parsers & formatters - binder Adapters - extract data from data source (FreeIPA RPC command result) - prepares them for commands. Parsers - parse extracted data to format expected by field - parse widget value to format expected by field Formatters - format field value to format suitable for widgets - format field value to format suitable for adapter Binder - is a communication bridge between field and widget - listens to field's and widget's events and call appropriate methods Some side benefits: - better validation reporting in multivalued widget Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Diffstat (limited to 'install/ui/test/utils_tests.js')
-rw-r--r--install/ui/test/utils_tests.js20
1 files changed, 19 insertions, 1 deletions
diff --git a/install/ui/test/utils_tests.js b/install/ui/test/utils_tests.js
index b725f55eb..84424a2e1 100644
--- a/install/ui/test/utils_tests.js
+++ b/install/ui/test/utils_tests.js
@@ -22,9 +22,10 @@ define([
'freeipa/ipa',
'freeipa/jquery',
'freeipa/datetime',
+ 'freeipa/util',
'freeipa/field',
'freeipa/widget'],
- function(IPA, $, datetime) { return function() {
+ function(IPA, $, datetime, util) { return function() {
var old;
@@ -143,6 +144,23 @@ test('Testing IPA.defined', function() {
same(IPA.defined(null), false, 'null');
});
+test('Testing util.equals', function() {
+
+ ok(util.equals([], []), 'Empty Arrays');
+ ok(util.equals([1, "a", false, true], [1, "a", false, true]), 'Arrays');
+ ok(util.equals(true, true), 'Boolean: true');
+ ok(util.equals(false, false), 'Boolean: false');
+ ok(!util.equals(true, false), 'Negative: boolean');
+ ok(!util.equals(false, true), 'Negative: boolean');
+ ok(util.equals("abc", "abc"), 'Positive: strings');
+ ok(!util.equals("abc", "aBC"), 'Negative: string casing');
+ ok(util.equals(1, 1), 'Positive: number');
+ ok(util.equals(1.0, 1), 'Positive: number');
+ ok(util.equals(2.2, 2.2), 'Positive: number');
+
+ ok(!util.equals([], [""]), 'Negative: empty array');
+});
+
test('Testing datetime', function() {
var valid = [