File: zeroconf_test.cpp

package info (click to toggle)
clementine 1.2.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 24,792 kB
  • ctags: 20,160
  • sloc: cpp: 111,170; xml: 4,413; python: 2,687; ansic: 984; sql: 753; sh: 66; makefile: 25
file content (42 lines) | stat: -rw-r--r-- 1,073 bytes parent folder | download | duplicates (2)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "gtest/gtest.h"

#include "networkremote/zeroconf.h"

namespace {

static const char k64CharAscii[] =
    "aaaaaaaaaaaaaaaa"
    "aaaaaaaaaaaaaaaa"
    "aaaaaaaaaaaaaaaa"
    "aaaaaaaaaaaaaaaa";

static const char kShortMultiByteString[] =
    "我会说一点汉语";

static const char kLongMultiByteString[] =
    "我会说一点汉语"
    "我会说一点汉语"
    "我会说一点汉语"
    "我会说一点汉语";

TEST(ZeroconfTest, TruncatesAscii) {
  QByteArray truncated = Zeroconf::TruncateName(
      QString::fromAscii(k64CharAscii));
  EXPECT_EQ(63, truncated.size());
  EXPECT_TRUE(truncated.endsWith('\0'));
}

TEST(ZeroconfTest, DoesNotTruncateShortMultiByteUTF8) {
  EXPECT_EQ(
      sizeof(kShortMultiByteString),
      Zeroconf::TruncateName(QString::fromUtf8(kShortMultiByteString)).size());
}

TEST(ZeroconfTest, TruncatesLongMultiByteUTF8) {
  QByteArray truncated = Zeroconf::TruncateName(
      QString::fromAscii(kLongMultiByteString));
  EXPECT_LE(63, truncated.size());
  EXPECT_TRUE(truncated.endsWith('\0'));
}

}  // namespace