[Phpmyadmin-devel] SQLValidator

Ayush Chaudhary ayushchd at gmail.com
Wed Jul 3 10:29:18 CEST 2013


Hi, 

On Wednesday, 3 July 2013 at 2:08 PM, Dieter Adriaenssens wrote: 
> 2013/7/3 Ayush Chaudhary <ayushchd at gmail.com (mailto:ayushchd at gmail.com)>:
> > Hi,
> > 
> > Is there a reason why validation.lib.php is not a class with public static
> > method? Is it okay to convert it to a class with all methods' access
> > specifier as public static?
> > 
> 
> 
> Did you mean the PMA_SQLValidator class in
> libraries/sqlvalidator.class.php? I didn't find a validation.lib.php,
> or something similar, in the PMA codebase, that contains a class.
> (libraries/config/validate.lib.php doesn't contain a class)
> 
Sorry for not being clear. I was referring to the library libraries/config/validate.lib.php. I am currently writing tests for libraries/config/FormDisplay.class.php, and there are numerous calls to functions from validate.lib.php which cannot be mocked because they are not contained in a class. Also, the same issue holds for libraries/config/FormDisplay.tpl.php

> Assuming you mean PMA_SQLValidator, this is not a static class, ie. it
> has to be instanciated (= turned into an object), so it can't have
> static methods. [1]
> To use (or test) this class, you have to create an instance and call
> the methods from that instance, fe.
> 
> $validator = new PMA_SQLValidator();
> 
> $validator->start();
> 
> (see libraries/sqlvalidator.lib.php for an example on how to
> instanciate and use the PMA_SQLValidator class)
> 
> BTW : Testing a class instance can sometimes be tricky, especially if
> it communicates with, or uses another class. If this is the case, you
> will have to use Mock objects [0] and Stubs to simulate the expected
> behaviour of the other class.
> 
I wanted to use mocking and just set expectations with parameters, but that won't be possible unless these libraries are converted to classes 
> 
> I hope this helps.
> 
> [0] http://phpunit.de/manual/3.0/en/mock-objects.html
> [1] explanation of instances and static members. It's explained for
> Java so the syntax doesn't match 100% with PHP, but the concept is
> analogous : http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html
> 
> Kind regards,
> 
> Dieter
> 
> 
> > --
> > Ayush Chaudhary
> > 
> > 
> > ------------------------------------------------------------------------------
> > This SF.net (http://SF.net) email is sponsored by Windows:
> > 
> > Build for Windows Store.
> > 
> > http://p.sf.net/sfu/windows-dev2dev
> > _______________________________________________
> > Phpmyadmin-devel mailing list
> > Phpmyadmin-devel at lists.sourceforge.net (mailto:Phpmyadmin-devel at lists.sourceforge.net)
> > https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
> > 
> 
> 
> 
> 
> --
> Kind regards,
> 
> Dieter Adriaenssens
> 
> ------------------------------------------------------------------------------
> This SF.net (http://SF.net) email is sponsored by Windows:
> 
> Build for Windows Store.
> 
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Phpmyadmin-devel mailing list
> Phpmyadmin-devel at lists.sourceforge.net (mailto:Phpmyadmin-devel at lists.sourceforge.net)
> https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
> 
> 

Thanks, 
Ayush
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phpmyadmin.net/pipermail/developers/attachments/20130703/10fe7202/attachment.html>


More information about the Developers mailing list