1164640Sflz/* 298186Sgordon * Copyright 2013, Axel D��rfler, axeld@pinc-software.de. 378344Sobrien * Distributed under the terms of the MIT License. 4157473Sflz */ 578344Sobrien 678344Sobrien 778344Sobrien#include <stdio.h> 878344Sobrien#include <stdlib.h> 978344Sobrien 1078344Sobrien#include "Response.h" 1178344Sobrien 1278344Sobrien 1378344Sobrienvoid 1478344SobrienassertEquals(const char* expected, const char* result) 1578344Sobrien{ 1678344Sobrien if (strcmp(expected, result) != 0) { 1778344Sobrien printf("Expected \"%s\", got \"%s\"\n", expected, result); 1878344Sobrien exit(EXIT_FAILURE); 1978344Sobrien } 2078344Sobrien} 2178344Sobrien 2278344Sobrien 2378344Sobrienint 2478344Sobrienmain() 2578344Sobrien{ 2678344Sobrien const char* samples[] = { 2778344Sobrien "Gel��scht", "Gel&APY-scht", 2878344Sobrien "&������", "&-&AOQA9gDf-" 2978344Sobrien }; 3078344Sobrien 3178344Sobrien IMAP::RFC3501Encoding encoding; 3278344Sobrien 3378344Sobrien for (size_t i = 0; i < sizeof(samples) / sizeof(samples[0]); i += 2) { 3478344Sobrien BString encoded = encoding.Encode(samples[i]); 35157473Sflz assertEquals(samples[i + 1], encoded); 36169668Smtm BString decoded = encoding.Decode(encoded); 37157473Sflz assertEquals(samples[i], decoded); 3878344Sobrien } 3998186Sgordon} 4098186Sgordon