Welcome to mirror list, hosted at ThFree Co, Russian Federation.

base64_test.cpp « coding_tests « coding - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 04da71677d6abaecdb88455d4a7c34bbae1bb222 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "testing/testing.hpp"

#include "coding/base64.hpp"


using namespace base64;

UNIT_TEST(Base64_Smoke)
{
  char const * bytes[] = {"H", "He", "Hel", "Hell", "Hello", "Hello,", "Hello, ", "Hello, World!"};
  char const * encoded[] = {"SA==", "SGU=", "SGVs", "SGVsbA==", "SGVsbG8=", "SGVsbG8s",
                           "SGVsbG8sIA==", "SGVsbG8sIFdvcmxkIQ=="};

  TEST_EQUAL(ARRAY_SIZE(bytes), ARRAY_SIZE(encoded), ());

  for (size_t i = 0; i < ARRAY_SIZE(bytes); ++i)
  {
    TEST_EQUAL(Encode(bytes[i]), encoded[i], ());
    TEST_EQUAL(Decode(encoded[i]), bytes[i], ());
    TEST_EQUAL(Decode(Encode(bytes[i])), bytes[i], ());
    TEST_EQUAL(Encode(Decode(encoded[i])), encoded[i], ());
  }

  char const * str = "MapsWithMe is the offline maps application for any device in the world.";
  char const * encStr = "TWFwc1dpdGhNZSBpcyB0aGUgb2ZmbGluZSBtYXBzIGFwcGxpY2F0aW9uIGZvciBhbnkgZGV2aWNlIGluIHRoZSB3b3JsZC4=";
  TEST_EQUAL(Encode(str), encStr, ());
  TEST_EQUAL(Decode(encStr), str, ());
}