diff --git a/test/main.js b/test/main.js
index 667c8e3..e6023f3 100644
--- a/test/main.js
+++ b/test/main.js
@@ -35,7 +35,7 @@ require(["loader", jqurl], function(loader) {
               break;
                
             default:  
-              date = ['test/unit/dateui'];
+              date = ['test/unit/dateuifield', 'test/unit/dateui'];
         }
         
         var tests = [
diff --git a/test/unit/dateui.js b/test/unit/dateui.js
index 6fd592e..b3f6479 100644
--- a/test/unit/dateui.js
+++ b/test/unit/dateui.js
@@ -1,12 +1,18 @@
 $(function () {         
    
-   var dpg;
+   var dpg, mode;
    
    module("dateui", {
         setup: function(){
             fx = $('#async-fixture');
             $.support.transition = false;
-        }
+            mode = $.fn.editable.defaults.mode;
+            $.fn.editable.defaults.mode = 'popup';
+        },
+        teardown: function() {
+            //restore mode
+            $.fn.editable.defaults.mode = mode;
+        }   
     });
     
     function frmt(date, format) {
@@ -17,7 +23,7 @@ $(function () {
     asyncTest("container should contain datepicker with value and save new entered date", function () {
         var d = '15.05.1984',
             dview = '15/05/1984',
-            e = $('<a href="#" data-type="date" data-pk="1" data-url="post-date.php">'+dview+'</a>').appendTo(fx).editable({
+            e = $('<a href="#" data-type="date" data-pk="1" data-url="post-dateui.php">'+dview+'</a>').appendTo(fx).editable({
                 format: 'dd.mm.yyyy',
                 viewformat: 'dd/mm/yyyy',
                 datepicker: {
@@ -28,7 +34,7 @@ $(function () {
             nextDview = '16/05/1984';
         
           $.mockjax({
-              url: 'post-date.php',
+              url: 'post-dateui.php',
               response: function(settings) {
                   equal(settings.data.value, nextD, 'submitted value correct');            
               }
diff --git a/test/unit/dateuifield.js b/test/unit/dateuifield.js
new file mode 100644
index 0000000..9375818
--- /dev/null
+++ b/test/unit/dateuifield.js
@@ -0,0 +1,108 @@
+$(function () {         
+   
+   var f = 'dd.mm.yyyy', mode;
+   
+   module("dateuifield", {
+        setup: function(){
+            fx = $('#async-fixture');
+            $.support.transition = false;
+            
+            mode = $.fn.editable.defaults.mode;
+            $.fn.editable.defaults.mode = 'inline';
+        },
+        teardown: function() {
+            //restore mode
+            $.fn.editable.defaults.mode = mode;
+        }         
+    });
+    
+    function frmt(date, format) {
+       format = format.replace('yyyy', 'yy');
+       return $.datepicker.formatDate(format, date);  
+    }
+     
+    asyncTest("container should contain input with value and save new entered date", function () {
+
+        var d = '15.05.1984',
+            e = $('<a href="#" data-type="date" data-pk="1" data-url="post-dateuifield.php">'+d+'</a>').appendTo(fx).editable({
+                format: f,
+                viewformat: f,
+                datepicker: {
+                   firstDay: 1
+                }        
+            }),
+            nextD = '16.05.1984',
+            finalD = '17.05.1984';
+        
+          $.mockjax({
+              url: 'post-dateuifield.php',
+              response: function(settings) {
+                  equal(settings.data.value, finalD, 'submitted value correct');            
+              }
+          });
+       
+        equal(frmt(e.data('editable').value, 'dd.mm.yyyy'), d, 'value correct');
+            
+        e.click();
+        var p = tip(e);
+        ok(p.find('input').is(':visible'), 'input exists');
+        
+        equal(p.find('input').val(), d, 'date set correct');
+        
+        //open picker
+        p.find('img').click();
+        var picker = p.find('input').datepicker('widget');
+        
+        ok(picker.is(':visible'), 'picker shown');
+        ok(picker.find('a.ui-state-active').is(':visible'), 'active day is visible');
+        equal(picker.find('a.ui-state-active').text(), 15, 'day shown correct');
+        equal(picker.find('.ui-datepicker-calendar > thead > tr > th').eq(0).find('span').text(), 'Mo', 'weekStart correct');
+
+        //set new day by picker
+        picker.find('a.ui-state-active').parent().next().click();
+        ok(!picker.is(':visible'), 'picker closed'); 
+        
+        equal(p.find('input').val(), nextD, 'next day set correct');
+                                              
+        p.find('input').val(finalD).trigger('keyup');
+        
+        equal(picker.find('a.ui-state-active').text(), 17, 'picker active date updated');
+    
+        //submit
+        p.find('form').submit();
+    
+        setTimeout(function() {          
+           ok(!p.is(':visible'), 'popover closed');
+           ok(!picker.is(':visible'), 'picker closed');
+           equal(frmt(e.data('editable').value, f), finalD, 'new date saved to value');
+           equal(e.text(), finalD, 'new text shown');            
+           e.remove();    
+           start();  
+        }, timeout); 
+        
+     }); 
+     
+     test("viewformat, init by text", function () {
+         
+        var dview = '15/05/1984',
+            d = '1984-05-15',
+            e = $('<a href="#" data-type="date" data-pk="1" data-url="post-date1.php">'+dview+'</a>').appendTo('#qunit-fixture').editable({
+                format: 'yyyy-mm-dd',
+                viewformat: 'dd/mm/yyyy'
+            }),
+            nextD = '1984-05-16',
+            nextDview = '16/05/1984';
+        
+          equal(frmt(e.data('editable').value, 'yyyy-mm-dd'), d, 'value correct');
+     });       
+    
+     test("viewformat, init by value", function () {
+        var dview = '15/05/1984',
+            d = '1984-05-15',
+            e = $('<a href="#" data-type="date" data-pk="1" data-format="yyyy-mm-dd" data-viewformat="dd/mm/yyyy"  data-value="'+d+'"></a>').appendTo('#qunit-fixture').editable();
+        
+        equal(frmt(e.data('editable').value, 'yyyy-mm-dd'), d, 'value correct');
+        equal(e.text(), dview, 'text correct');
+     });    
+    
+});
\ No newline at end of file