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