Browse Source

Animation: workaround so we're able to test with MSVC debug iterators on.

pull/191/head
Vladimír Vondruš 8 years ago
parent
commit
ba08003d66
  1. 3
      src/Magnum/Animation/Player.hpp
  2. 7
      src/Magnum/Animation/Test/PlayerTest.cpp

3
src/Magnum/Animation/Player.hpp

@ -88,7 +88,8 @@ template<class T, class K> std::size_t Player<T, K>::size() const {
template<class T, class K> const TrackViewStorage<K>& Player<T, K>::track(std::size_t i) const {
CORRADE_ASSERT(i < _tracks.size(),
"Animation::Player::track(): index out of range", _tracks[i].track);
/* Returning track 0 so we can test this w/ MSVC debug iterators */
"Animation::Player::track(): index out of range", _tracks[0].track);
return _tracks[i].track;
}

7
src/Magnum/Animation/Test/PlayerTest.cpp

@ -278,8 +278,13 @@ void PlayerTest::trackInvalidIndex() {
std::ostringstream out;
Error redirectError{&out};
Float value;
Player<Float> player;
player.track(0);
/* Adding at least one track so the return in the graceful assert can
return the first value and not trigger MSVC debug iterator abort */
player.add(TrackView<Float, Float>{}, value);
player.track(1);
CORRADE_COMPARE(out.str(), "Animation::Player::track(): index out of range\n");
}

Loading…
Cancel
Save