/////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2008-2012 Artyom Beilis (Tonkikh) // // See accompanying file COPYING.TXT file for licensing details. // /////////////////////////////////////////////////////////////////////////////// #include #include #include #include #include #include #include #include using namespace std; using namespace cppcms; using namespace cppcms::b64url; int test1() { static unsigned char out[5]; unsigned char msg[]="sur"; encode(msg,msg+3,out); if(!equal(out,out+4,"c3Vy")) { cerr<<"Faile "<>8) & 0xFF; in[2]=(v>>16); for(int i=1;i<=3;i++){ memset(in2,0,3); int n=encode(in,in+i,out)-out; decode(out,out+n,in2); if(!equal(in,in+i,in2)) { printf("%06X %d %d\n",v,i,n); return 1; } } } return 0; } int test2() { unsigned i; for(i=0;i<100;i++) { unsigned len=rand() % 1000; vector in(len,0); for(unsigned j=0;j tmp(b64url::encoded_size(len),0); b64url::encode(&in.front(),&in.front()+len,&tmp.front()); vector out(b64url::decoded_size(tmp.size()),0); b64url::decode(&tmp.front(),&tmp.front()+tmp.size(),&out.front()); if(in.size()!=out.size()) { cerr<<"Size: "<