Revision: 3514 http://vexi.svn.sourceforge.net/vexi/?rev=3514&view=rev Author: clrg Date: 2009-05-27 14:34:53 +0000 (Wed, 27 May 2009)
Log Message: ----------- Fix password textfields + tests Modified Paths: -------------- trunk/widgets/org.vexi.widgets/src/org/vexi/lib/widget/textfield.t Added Paths: ----------- trunk/widgets/org.vexi.widgets/src_vunit/test/widget/textfield.t Modified: trunk/widgets/org.vexi.widgets/src/org/vexi/lib/widget/textfield.t =================================================================== --- trunk/widgets/org.vexi.widgets/src/org/vexi/lib/widget/textfield.t 2009-05-26 22:35:54 UTC (rev 3513) +++ trunk/widgets/org.vexi.widgets/src/org/vexi/lib/widget/textfield.t 2009-05-27 14:34:53 UTC (rev 3514) @@ -17,6 +17,7 @@ thisbox.value = ""; thisbox.th_shadowtext; thisbox.th_shadowwrap; + thisbox.v_updatetext = true; KeyPressed ++= static.keypressEvent; password ++= static.passwordWrite; @@ -79,6 +80,7 @@ do_del = false; } val = trapee.value; + trapee.v_updatetext = false; // insert single character if (v.length == 1) { cascade = '*'; @@ -104,6 +106,7 @@ // must be done after as not to inadvertently modify cPos edit.KeyPressed = v; } + trapee.v_updatetext = true; // normal textfield input } else { cascade = v; @@ -137,7 +140,9 @@ var l = v.length; for (var i=0; l>i; i++) str += '*'; cascade = str; + f.v_updatetext = false; f.value = v; + f.v_updatetext = true; } else cascade = v; } @@ -147,9 +152,8 @@ /** set the text if value is written to */ static.valueWrite = function(v) { if (trapee.password) { - var val = trapee.value; cascade = v; - if (val != trapee.value) trapee.text = v; + if (trapee.v_updatetext and val != trapee.value) trapee.text = v; } else { trapee.text = v; return; } } Added: trunk/widgets/org.vexi.widgets/src_vunit/test/widget/textfield.t =================================================================== --- trunk/widgets/org.vexi.widgets/src_vunit/test/widget/textfield.t (rev 0) +++ trunk/widgets/org.vexi.widgets/src_vunit/test/widget/textfield.t 2009-05-27 14:34:53 UTC (rev 3514) @@ -0,0 +1,52 @@ +<vexi xmlns:meta="vexi://meta" xmlns:ui="vexi://ui" xmlns="vexi.widget"> + <meta:doc> + <author>Charles Goodwin</author> + </meta:doc> + + var vunit = vexi..vexi.test.vunit; + var assertEq = vunit..assertEq; + + /// Quick Suite + var suite = {}; + suite.testQ1 = function() { + var focusmodel = { setFocus:function(t, f){return true;} }; + var b = .textfield(vexi.box); + b.v_focusmodel = focusmodel; + b.password = true; + b.value = "test123"; + assertEq("test123", b.value); + assertEq("*******", b.text); + b.focused = true; + b.KeyPressed = "a"; + b.KeyPressed = "b"; + b.KeyPressed = "c"; + assertEq("abc", b.value); + b.KeyPressed = "left"; + b.KeyPressed = "d"; + assertEq("abdc", b.value); + b.KeyPressed = "back_space"; + assertEq("abc", b.value); + b.KeyPressed = "delete"; + assertEq("ab", b.value); + var b2 = .textfield(vexi.box); + b2.v_focusmodel = focusmodel; + b2.password = true; + b2.focused = true; + b2.KeyPressed = "p"; + b2.KeyPressed = "a"; + b2.KeyPressed = "s"; + b2.KeyPressed = "s"; + b2.KeyPressed = "w"; + b2.KeyPressed = "o"; + b2.KeyPressed = "r"; + b2.KeyPressed = "d"; + assertEq("password", b2.value); + }; + suite.name = "vexi.widget.textfield Tests"; + + static.test = suite; + + <surface> + static.test().testQ1(); + </surface> +</vexi> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn