54 строки
1.3 KiB
C
54 строки
1.3 KiB
C
/*
|
|
* Copyright 2017 The Emscripten Authors. All rights reserved.
|
|
* Emscripten is available under two separate licenses, the MIT license and the
|
|
* University of Illinois/NCSA Open Source License. Both these licenses can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <assert.h>
|
|
#ifdef __EMSCRIPTEN__
|
|
#include <emscripten.h>
|
|
#include <AL/al.h>
|
|
#include <AL/alc.h>
|
|
#else
|
|
#include "../system/include/AL/al.h"
|
|
#include "../system/include/AL/alc.h"
|
|
#endif
|
|
|
|
ALCdevice* device = NULL;
|
|
ALCcontext* context = NULL;
|
|
|
|
int main(int argc, char* argv[]) {
|
|
//
|
|
// Setup the AL context.
|
|
//
|
|
device = alcOpenDevice(NULL);
|
|
|
|
// Request an invalid enum to generate an ALC error
|
|
int value = 0;
|
|
alcGetIntegerv(device, 0, 1, &value);
|
|
assert(alcGetError(device) == ALC_INVALID_ENUM);
|
|
// Check that the error is reset after reading it.
|
|
assert(alcGetError(device) == ALC_NO_ERROR);
|
|
|
|
context = alcCreateContext(device, NULL);
|
|
alcMakeContextCurrent(context);
|
|
|
|
// Request an invalid enum to generate an AL error
|
|
alGetFloat(0);
|
|
assert(alGetError() == AL_INVALID_ENUM);
|
|
// Check that the error is reset after reading it.
|
|
assert(alGetError() == AL_NO_ERROR);
|
|
|
|
alcMakeContextCurrent(NULL);
|
|
alcDestroyContext(context);
|
|
alcCloseDevice(device);
|
|
|
|
#ifdef __EMSCRIPTEN__
|
|
REPORT_RESULT(1);
|
|
#endif
|
|
}
|
|
|