diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2016-08-13 11:30:15 -0700 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2016-09-26 11:37:06 -0700 |
commit | f30765254807bedab0873a289a118906ef74b754 (patch) | |
tree | 0988f52d73931b05718642c218c8241421882eb8 /test/style | |
parent | 78af55f30a37165c960c90db9a96801effc850f6 (diff) | |
download | qtlocation-mapboxgl-f30765254807bedab0873a289a118906ef74b754.tar.gz |
[core] Source-driven attribution
Implemented observer callbacks so the style knows when the source’s attribution changes and the map knows when the style’s attribution changes. Also implemented a getter for a tile source’s attribution.
Fixes #2723.
Diffstat (limited to 'test/style')
-rw-r--r-- | test/style/source.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/style/source.cpp b/test/style/source.cpp index 519ca9288e..859aa82893 100644 --- a/test/style/source.cpp +++ b/test/style/source.cpp @@ -342,3 +342,42 @@ TEST(Source, VectorTileCancel) { test.run(); } + +TEST(Source, RasterTileAttribution) { + SourceTest test; + + std::string mapboxOSM = ("<a href='https://www.mapbox.com/about/maps/' target='_blank'>© Mapbox</a> " + "<a href='http://www.openstreetmap.org/about/' target='_blank'>©️ OpenStreetMap</a>"); + + test.fileSource.tileResponse = [&] (const Resource&) { + Response response; + response.noContent = true; + return response; + }; + + test.fileSource.sourceResponse = [&] (const Resource& resource) { + EXPECT_EQ("url", resource.url); + Response response; + response.data = std::make_unique<std::string>(R"TILEJSON({ "tilejson": "2.1.0", "attribution": ")TILEJSON" + + mapboxOSM + + R"TILEJSON(", "tiles": [ "tiles" ] })TILEJSON"); + return response; + }; + + test.observer.sourceAttributionChanged = [&] (Source&, std::string attribution) { + EXPECT_EQ(mapboxOSM, attribution); + EXPECT_FALSE(mapboxOSM.find("©️ OpenStreetMap") == std::string::npos); + test.end(); + }; + + test.observer.tileError = [&] (Source&, const OverscaledTileID&, std::exception_ptr) { + FAIL() << "Should never be called"; + }; + + RasterSource source("source", "url", 512); + source.baseImpl->setObserver(&test.observer); + source.baseImpl->loadDescription(test.fileSource); + source.baseImpl->updateTiles(test.updateParameters); + + test.run(); +} |