summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorartemp <artem@mapnik.org>2014-11-04 14:53:45 +0000
committerartemp <artem@mapnik.org>2014-11-04 14:53:45 +0000
commite5f7e3e96cbdf1559affe0fbd818ddafbe478d82 (patch)
tree1d26d235387c594677c96c7964bff5b6b0a36743 /test
parent1e2c5f988e9e2a6cdd91d7d6644ffd17211cde25 (diff)
downloadqtlocation-mapboxgl-e5f7e3e96cbdf1559affe0fbd818ddafbe478d82.tar.gz
add basic toupper/tolower text conversions tests #309
Diffstat (limited to 'test')
-rw-r--r--test/test.gyp23
-rw-r--r--test/text_conversions.cpp37
2 files changed, 58 insertions, 2 deletions
diff --git a/test/test.gyp b/test/test.gyp
index 8ae475d1c1..fa799b6550 100644
--- a/test/test.gyp
+++ b/test/test.gyp
@@ -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',
],
}
]
diff --git a/test/text_conversions.cpp b/test/text_conversions.cpp
new file mode 100644
index 0000000000..4f71d6a61d
--- /dev/null
+++ b/test/text_conversions.cpp
@@ -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 ς
+
+}