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
class NativeURLTestCase( unittest.TestCase ):
def testurl_decode( self ):
"""[URL] Test url_decode"""
native_libvlc_test.url_decode_test()
"""[URL] Test url_decode and base64"""
native_libvlc_test.url_test()
......@@ -16,7 +16,7 @@ static PyMethodDef native_libvlc_test_methods[] = {
DEF_METHOD( vlm_test, "Test VLM" )
DEF_METHOD( timers_test, "Test timers" )
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( gui_chains_test, "Test interactions between chains and GUI" )
DEF_METHOD( psz_chains_test, "Test building of chain strings" )
......
......@@ -9,7 +9,7 @@ PyObject *vlm_test( PyObject *self, PyObject *args );
/* Stats */
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 );
......
......@@ -23,23 +23,32 @@
#include <vlc/vlc.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;
printf ("\"%s\" -> \"%s\" ?\n", in, out);
res = decode_URI_duplicate (in);
ASSERT( res != NULL, "" );
if (res == NULL)
exit (1);
res = f(in);
ASSERT( res != NULL, "NULL result" );
ASSERT( strcmp( res, out ) == NULL, "" );
Py_INCREF( 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" );
if( !test_decode ("this_should_not_be_modified_1234",
......@@ -65,6 +74,13 @@ PyObject *url_decode_test( PyObject *self, PyObject *args )
if(!test_decode ("%C1%94%C3%a9l%c3%A9vision",
"??é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);
return Py_None;
}
#! /bin/sh
set -e
python setup.py build
python setup.py build
cd ..
# 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/
......
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