/*
- * Copyright (c) 2009-2011 Petri Lehtinen <petri@digip.org>
+ * Copyright (c) 2009-2012 Petri Lehtinen <petri@digip.org>
*
* Jansson is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
+#include <math.h>
#include <jansson.h>
#include "util.h"
json_decref(integer);
json_decref(real);
+
+#ifdef NAN
+ real = json_real(NAN);
+ if(real != NULL)
+ fail("could construct a real from NaN");
+
+ real = json_real(1.0);
+ if(json_real_set(real, NAN) != -1)
+ fail("could set a real to NaN");
+
+ if(json_real_value(real) != 1.0)
+ fail("real value changed unexpectedly");
+
+ json_decref(real);
+#endif
+
+#ifdef INFINITY
+ real = json_real(INFINITY);
+ if(real != NULL)
+ fail("could construct a real from Inf");
+
+ real = json_real(1.0);
+ if(json_real_set(real, INFINITY) != -1)
+ fail("could set a real to Inf");
+
+ if(json_real_value(real) != 1.0)
+ fail("real value changed unexpectedly");
+
+ json_decref(real);
+#endif
}