add basic toupper/tolower text conversions tests #309

This commit is contained in:
artemp
2014-11-04 14:53:45 +00:00
parent 1e2c5f988e
commit e5f7e3e96c
2 changed files with 58 additions and 2 deletions

View File

@@ -60,7 +60,7 @@
'../mapboxgl.gyp:mbgl-standalone',
],
'conditions': [
['OS == "mac"', { 'xcode_settings': { 'OTHER_LDFLAGS': [ '<@(ldflags)' ] }
['OS == "mac"', { 'xcode_settings': { 'OTHER_LDFLAGS': [ '<@(ldflags)'] }
}, {
'libraries': [ '<@(ldflags)' ],
}]
@@ -188,7 +188,25 @@
'<(platform_library)',
]
},
{ 'target_name': 'text_conversions',
'product_name': 'test_text_conversions',
'type': 'executable',
'sources': [
'./main.cpp',
'./text_conversions.cpp',
],
'dependencies': [
'../deps/gtest/gtest.gyp:gtest',
'../mapboxgl.gyp:mbgl-standalone',
'<(platform_library)',
],
'conditions': [
['OS == "mac"', { 'xcode_settings': { 'OTHER_LDFLAGS': [ '<@(ldflags)', '-framework Foundation' ] }
}, {
'libraries': [ '<@(ldflags)'],
}]
]
},
# Build all targets
{ 'target_name': 'test',
'type': 'none',
@@ -202,6 +220,7 @@
'headless',
'style_parser',
'comparisons',
'text_conversions',
],
}
]

37
test/text_conversions.cpp Normal file
View File

@@ -0,0 +1,37 @@
#include <iostream>
#include "gtest/gtest.h"
#include <mbgl/util/utf.hpp>
#include <mbgl/platform/platform.hpp>
using namespace mbgl;
TEST(TextConversions, to_upper) {
EXPECT_EQ(std::string("STREET"), platform::uppercase("strEEt")); // EN
EXPECT_EQ(std::string("ROAD"), platform::uppercase("rOAd")); // EN
EXPECT_EQ(std::string("STRASSE"), platform::uppercase("straße")); // DE
EXPECT_EQ(std::string("MASSE"), platform::uppercase("maße")); // DE
EXPECT_EQ(std::string("WEISSKOPFSEEADLER"), platform::uppercase("weißkopfseeadler")); // DE
EXPECT_EQ(std::string("AZƏRBAYCAN"), platform::uppercase("Azərbaycan")); // AZ
EXPECT_EQ(std::string("ὈΔΥΣΣΕΎΣ"), platform::uppercase("Ὀδυσσεύς")); // GR
}
TEST(TextConversions, to_lower) {
EXPECT_EQ(std::string("street"), platform::lowercase("strEEt")); // EN
EXPECT_EQ(std::string("road"), platform::lowercase("rOAd")); // EN
EXPECT_EQ(std::string("straße"), platform::lowercase("Straße")); // DE
EXPECT_EQ(std::string("strasse"), platform::lowercase("STRASSE")); // DE
EXPECT_EQ(std::string("masse"), platform::lowercase("MASSE")); // DE
EXPECT_EQ(std::string("weisskopfseeadler"), platform::lowercase("weiSSkopfseeadler")); // DE
EXPECT_EQ(std::string("azərbaycan"), platform::lowercase("AZƏRBAYCAN")); // AZ
//EXPECT_EQ(std::string("ὀδυσσεύσ"), platform::lowercase("ὈΔΥΣΣΕΎΣ")); // GR
// nunicode can't map last Σ to word-ending ς
}