add basic toupper/tolower text conversions tests #309
This commit is contained in:
@@ -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
37
test/text_conversions.cpp
Normal 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 ς
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user