Sha256: 9253e11f039c6f7ee874b1c92edc15355e8ced3e301587b2fc367539a5f29c18

Contents?: true

Size: 1.13 KB

Versions: 10

Compression:

Stored size: 1.13 KB

Contents

#include "cppjieba/Unicode.hpp"
#include "limonp/StdExtension.hpp"
#include "gtest/gtest.h"

using namespace cppjieba;
using namespace std;

TEST(UnicodeTest, Test1) {
  string s = "你好世界";
  RuneStrArray runes;
  ASSERT_TRUE(DecodeRunesInString(s, runes));
  string actual;
  string expected = "[\"{\"rune\": \"20320\", \"offset\": 0, \"len\": 3}\", \"{\"rune\": \"22909\", \"offset\": 3, \"len\": 3}\", \"{\"rune\": \"19990\", \"offset\": 6, \"len\": 3}\", \"{\"rune\": \"30028\", \"offset\": 9, \"len\": 3}\"]";
  actual << runes;
  ASSERT_EQ(expected, actual);
}

TEST(UnicodeTest, Illegal) {
  string s = "123\x80";
  RuneStrArray runes;
  ASSERT_FALSE(DecodeRunesInString(s, runes));
  string actual;
  string expected = "[]";
  actual << runes;
  ASSERT_EQ(expected, actual);
}

TEST(UnicodeTest, Rand) {
  const size_t ITERATION = 1024;
  const size_t MAX_LEN = 256;
  string s;
  srand(time(NULL));

  for (size_t i = 0; i < ITERATION; i++) {
    size_t len = rand() % MAX_LEN;
    s.resize(len);
    for (size_t j = 0; j < len; j++) {
      s[rand() % len] = rand();
    }
    RuneStrArray runes;
    DecodeRunesInString(s, runes);
  }
}

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
cppjieba_rb-0.4.4 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.4.3 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.4.2 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.4.1 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.3.3 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.3.1 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.3.0 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.2.3 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.2.2 ext/cppjieba/test/unittest/unicode_test.cpp
cppjieba_rb-0.2.1 ext/cppjieba/test/unittest/unicode_test.cpp