Commit f8343052 authored by Clément Stenac's avatar Clément Stenac

Port new URL tests to test/

Support Python 2.4
parent f7f09d38
...@@ -4,5 +4,5 @@ import native_libvlc_test ...@@ -4,5 +4,5 @@ import native_libvlc_test
class NativeURLTestCase( unittest.TestCase ): class NativeURLTestCase( unittest.TestCase ):
def testurl_decode( self ): def testurl_decode( self ):
"""[URL] Test url_decode""" """[URL] Test url_decode and base64"""
native_libvlc_test.url_decode_test() native_libvlc_test.url_test()
...@@ -16,7 +16,7 @@ static PyMethodDef native_libvlc_test_methods[] = { ...@@ -16,7 +16,7 @@ static PyMethodDef native_libvlc_test_methods[] = {
DEF_METHOD( vlm_test, "Test VLM" ) DEF_METHOD( vlm_test, "Test VLM" )
DEF_METHOD( timers_test, "Test timers" ) DEF_METHOD( timers_test, "Test timers" )
DEF_METHOD( i18n_atof_test, "Test i18n_atof" ) DEF_METHOD( i18n_atof_test, "Test i18n_atof" )
DEF_METHOD( url_decode_test, "URL decoding" ) DEF_METHOD( url_test, "URL decoding" )
DEF_METHOD( chains_test, "Test building of chains" ) DEF_METHOD( chains_test, "Test building of chains" )
DEF_METHOD( gui_chains_test, "Test interactions between chains and GUI" ) DEF_METHOD( gui_chains_test, "Test interactions between chains and GUI" )
DEF_METHOD( psz_chains_test, "Test building of chain strings" ) DEF_METHOD( psz_chains_test, "Test building of chain strings" )
......
...@@ -9,7 +9,7 @@ PyObject *vlm_test( PyObject *self, PyObject *args ); ...@@ -9,7 +9,7 @@ PyObject *vlm_test( PyObject *self, PyObject *args );
/* Stats */ /* Stats */
PyObject *timers_test( PyObject *self, PyObject *args ); PyObject *timers_test( PyObject *self, PyObject *args );
PyObject *url_decode_test( PyObject *self, PyObject *args ); PyObject *url_test( PyObject *self, PyObject *args );
PyObject *i18n_atof_test( PyObject *self, PyObject *args ); PyObject *i18n_atof_test( PyObject *self, PyObject *args );
......
...@@ -23,23 +23,32 @@ ...@@ -23,23 +23,32 @@
#include <vlc/vlc.h> #include <vlc/vlc.h>
#include "vlc_url.h" #include "vlc_url.h"
PyObject * test_decode (const char *in, const char *out) typedef char * (*conv_t ) (const char *);
PyObject * test (conv_t f, const char *in, const char *out)
{ {
char *res; char *res;
printf ("\"%s\" -> \"%s\" ?\n", in, out); printf ("\"%s\" -> \"%s\" ?\n", in, out);
res = decode_URI_duplicate (in); res = f(in);
ASSERT( res != NULL, "" ); ASSERT( res != NULL, "NULL result" );
if (res == NULL)
exit (1);
ASSERT( strcmp( res, out ) == NULL, "" ); ASSERT( strcmp( res, out ) == NULL, "" );
Py_INCREF( Py_None ); Py_INCREF( Py_None );
return Py_None; return Py_None;
} }
PyObject *url_decode_test( PyObject *self, PyObject *args ) static inline PyObject * test_decode( const char *in, const char *out)
{
return test( decode_URI_duplicate, in, out );
}
static inline PyObject* test_b64( const char *in, const char *out )
{
return test( vlc_b64_encode, in, out );
}
PyObject *url_test( PyObject *self, PyObject *args )
{ {
printf( "\n" ); printf( "\n" );
if( !test_decode ("this_should_not_be_modified_1234", if( !test_decode ("this_should_not_be_modified_1234",
...@@ -65,6 +74,13 @@ PyObject *url_decode_test( PyObject *self, PyObject *args ) ...@@ -65,6 +74,13 @@ PyObject *url_decode_test( PyObject *self, PyObject *args )
if(!test_decode ("%C1%94%C3%a9l%c3%A9vision", if(!test_decode ("%C1%94%C3%a9l%c3%A9vision",
"??élévision") ) return NULL; /* overlong */ "??élévision") ) return NULL; /* overlong */
/* Base 64 tests */
test_b64 ("", "");
test_b64 ("d", "ZA==");
test_b64 ("ab", "YQG=");
test_b64 ("abc", "YQGI");
test_b64 ("abcd", "YQGIZA==");
Py_INCREF( Py_None); Py_INCREF( Py_None);
return Py_None; return Py_None;
} }
...@@ -5,7 +5,7 @@ python setup.py build ...@@ -5,7 +5,7 @@ python setup.py build
cd .. cd ..
# TODO: FIXME !! # TODO: FIXME !!
export PYTHONPATH=$PYTHONPATH:bindings/mediacontrol-python/build/lib.linux-i686-2.3:test/build/lib.linux-i686-2.3:test/build/lib.linux-x86_64-2.3 export PYTHONPATH=$PYTHONPATH:bindings/mediacontrol-python/build/lib.linux-i686-2.3:test/build/lib.linux-i686-2.3:test/build/lib.linux-x86_64-2.3:test/build/lib.linux-i686-2.4:test/build/lib.linux-x86_64-2.4
export LD_LIBRARY_PATH=src/.libs/ export LD_LIBRARY_PATH=src/.libs/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment