diff --git a/src/Magnum/Audio/Extensions.h b/src/Magnum/Audio/Extensions.h index 582da4882..16f3ed790 100644 --- a/src/Magnum/Audio/Extensions.h +++ b/src/Magnum/Audio/Extensions.h @@ -89,6 +89,7 @@ namespace AL { } } #undef _extension +#undef _extension_rev #endif } diff --git a/src/Magnum/Audio/Test/CMakeLists.txt b/src/Magnum/Audio/Test/CMakeLists.txt index d4c693a1a..5385f1bfe 100644 --- a/src/Magnum/Audio/Test/CMakeLists.txt +++ b/src/Magnum/Audio/Test/CMakeLists.txt @@ -31,6 +31,7 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) corrade_add_test(AudioAbstractImporterTest AbstractImporterTest.cpp LIBRARIES MagnumAudio) corrade_add_test(AudioBufferTest BufferTest.cpp LIBRARIES MagnumAudio) +corrade_add_test(AudioContextTest ContextTest.cpp LIBRARIES MagnumAudio) corrade_add_test(AudioRendererTest RendererTest.cpp LIBRARIES MagnumAudio) corrade_add_test(AudioSourceTest SourceTest.cpp LIBRARIES MagnumAudio) diff --git a/src/Magnum/Audio/Test/ContextTest.cpp b/src/Magnum/Audio/Test/ContextTest.cpp new file mode 100644 index 000000000..0ec5ac2d7 --- /dev/null +++ b/src/Magnum/Audio/Test/ContextTest.cpp @@ -0,0 +1,61 @@ +/* + This file is part of Magnum. + + Copyright © 2010, 2011, 2012, 2013, 2014, 2015 + Vladimír Vondruš + Copyright © 2015 Jonathan Hale + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +#include +#include + +#include "Magnum/Audio/Extensions.h" +#include "Magnum/Audio/Context.h" + +namespace Magnum { namespace Audio { namespace Test { + +struct ContextTest: TestSuite::Tester { + explicit ContextTest(); + + void extensionsString(); + void isExtensionEnabled(); + + Context _context; +}; + +ContextTest::ContextTest() { + addTests({&ContextTest::extensionsString, + &ContextTest::isExtensionEnabled}); +} + +void ContextTest::extensionsString() { + std::vector extensions = _context.extensionStrings(); + + CORRADE_VERIFY(extensions.size() > 0); +} + +void ContextTest::isExtensionEnabled() { + CORRADE_VERIFY(Context::current()->isExtensionSupported()); +} + +}}} + +CORRADE_TEST_MAIN(Magnum::Audio::Test::ContextTest)