diff options
| author | Sergey Schetinin <sergey@maluke.com> | 2011-09-20 14:58:29 +0300 |
|---|---|---|
| committer | Sergey Schetinin <sergey@maluke.com> | 2011-09-20 14:58:29 +0300 |
| commit | f504c9d6cba3159eef34b4b5e934d4650853ff90 (patch) | |
| tree | ccd5fd7923e978e14733c0a5b7c8c5e1cfa35e58 /tests/test_transcode.py | |
| parent | 9d3a9052f366df2ab4d23cfde19f8005e593f275 (diff) | |
| download | webob-f504c9d6cba3159eef34b4b5e934d4650853ff90.tar.gz | |
add webob.transcode
* new detect_charset func
* _encode_multipart now assumes utf8 and can write to caller-supplied file object
* some tests
Diffstat (limited to 'tests/test_transcode.py')
| -rw-r--r-- | tests/test_transcode.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/test_transcode.py b/tests/test_transcode.py new file mode 100644 index 0000000..a1708ee --- /dev/null +++ b/tests/test_transcode.py @@ -0,0 +1,48 @@ +# coding: cp1251 +from webob.request import Request +from webob.response import Response +from webob.transcode import transcode_mw +from nose.tools import eq_ + +# def tapp(env, sr): +# req = Request(env) +# r = Response(str(req)) +# #r = Response(str(dict(req.POST))) +# return r(env, sr) + +def test_transcode(): + def tapp(env, sr): + req = Request(env) + v = req.POST[req.query_string] + if hasattr(v, 'filename'): + print `v.filename` + r = Response(u'%s\n%r' % (v.filename, v.value)) + else: + r = Response(v) + return r(env, sr) + text = u'ку...' + def test(post): + req = Request.blank('/?a', POST=post, + content_type='multipart/form-data', + charset='windows-1251' + ) + return req.get_response(transcode_mw(tapp)) + + r = test({'a': text.encode('cp1251')}) + eq_(r.text, text) + r = test({'a': ('file', text.encode('cp1251'))}) + eq_(r.text, u'file\n%r' % text.encode('cp1251')) +# r = test({'a': (text, 'foo')}) +# eq_(r.text, u"%s\n'foo'" % text) + + + #req = Request.blank('/?a', POST={'a': ('file', text.encode('cp1251'))}, + + + # req = Request({}, charset='utf8') + # req = Request({}) + # print req.charset + # print req._charset_cache + # print req.environ.get('CONTENT_TYPE') + #print '\xd0\xba\xd1\x83...'.decode('utf8').encode('cp1251') + #print u'\u043a'.encode('cp1251') |
