Initial commit
This commit is contained in:
42
test/common/punycode.h
Normal file
42
test/common/punycode.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#include <cxxtest/TestSuite.h>
|
||||
#include "common/punycode.h"
|
||||
|
||||
/**
|
||||
* Test suite for the functions in common/util.h
|
||||
*/
|
||||
static const char *strings[] = {
|
||||
"Icon\r", "xn--Icon-ja6e", "1",
|
||||
"ascii", "ascii", "0",
|
||||
"ends with dot .", "xn--ends with dot .-", "1",
|
||||
"ends with space ", "xn--ends with space -", "1",
|
||||
"バッドデイ(Power PC)", "xn--(Power PC)-jx4ilmwb1a7h", "1",
|
||||
"Hello*", "xn--Hello-la10a", "1",
|
||||
"File I/O", "xn--File IO-oa82b", "1",
|
||||
"HDにコピーして下さい。G3", "xn--HDG3-rw3c5o2dpa9kzb2170dd4tzyda5j4k", "1",
|
||||
"Buried in Time™ Demo", "xn--Buried in Time Demo-eo0l", "1",
|
||||
"•Main Menu", "xn--Main Menu-zd0e", "1",
|
||||
"Spaceship Warlock™", "xn--Spaceship Warlock-306j", "1",
|
||||
"ワロビージャックの大冒険<デモ>", "xn--baa0pja0512dela6bueub9gshf1k1a1rt742c060a2x4u", "1",
|
||||
"Jönssonligan går på djupet.exe", "xn--Jnssonligan gr p djupet.exe-glcd70c", "1",
|
||||
"Jönssonligan.exe", "xn--Jnssonligan.exe-8sb", "1",
|
||||
"G3フォルダ", "xn--G3-3g4axdtexf", "1",
|
||||
"Big[test]", "Big[test]", "0",
|
||||
"Where \\ Do <you> Want / To: G* ? ;Unless=nowhere,or|\"(everything)/\":*|\\?%<>,;=", "xn--Where Do you Want To G ;Unless=nowhere,or(everything),;=-5baedgdcbtamaaaaaaaaa99woa3wnnmb82aqb71ekb9g3c1f1cyb7bx6rfcv2pxa", "1",
|
||||
"Buried in Timeェ Demo", "xn--Buried in Time Demo-yp97h", "1",
|
||||
0
|
||||
};
|
||||
class PunycodeTestSuite : public CxxTest::TestSuite {
|
||||
public:
|
||||
|
||||
void test_punycode() {
|
||||
for (const char **a = strings; *a; a += 3) {
|
||||
Common::U32String string_in(a[0]);
|
||||
Common::String string_out(a[1]);
|
||||
bool need = (a[2][0] == '1');
|
||||
|
||||
TS_ASSERT_EQUALS(punycode_decodefilename(string_out), string_in);
|
||||
TS_ASSERT_EQUALS(punycode_encodefilename(string_in), string_out);
|
||||
TS_ASSERT_EQUALS(punycode_needEncode(string_in), need);
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user