| Index: test/cctest/test-api.cc
|
| ===================================================================
|
| --- test/cctest/test-api.cc (revision 3030)
|
| +++ test/cctest/test-api.cc (working copy)
|
| @@ -25,8 +25,6 @@
|
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| -#include <stdlib.h>
|
| -
|
| #include "v8.h"
|
|
|
| #include "api.h"
|
| @@ -702,6 +700,79 @@
|
| }
|
|
|
|
|
| +THREADED_TEST(TinyInteger) {
|
| + v8::HandleScope scope;
|
| + LocalContext env;
|
| + int32_t value = 239;
|
| + Local<v8::Integer> value_obj = v8::Integer::New(value);
|
| + CHECK_EQ(static_cast<int64_t>(value), value_obj->Value());
|
| +}
|
| +
|
| +
|
| +THREADED_TEST(BigSmiInteger) {
|
| + v8::HandleScope scope;
|
| + LocalContext env;
|
| + int32_t value = i::Smi::kMaxValue;
|
| + CHECK(i::Smi::IsValid(value));
|
| + CHECK(!i::Smi::IsValid(value + 1));
|
| + Local<v8::Integer> value_obj = v8::Integer::New(value);
|
| + CHECK_EQ(static_cast<int64_t>(value), value_obj->Value());
|
| +}
|
| +
|
| +
|
| +THREADED_TEST(BigInteger) {
|
| + v8::HandleScope scope;
|
| + LocalContext env;
|
| + int32_t value = i::Smi::kMaxValue + 1;
|
| + CHECK(value > i::Smi::kMaxValue);
|
| + CHECK(!i::Smi::IsValid(value));
|
| + Local<v8::Integer> value_obj = v8::Integer::New(value);
|
| + CHECK_EQ(static_cast<int64_t>(value), value_obj->Value());
|
| +}
|
| +
|
| +
|
| +THREADED_TEST(TinyUnsignedInteger) {
|
| + v8::HandleScope scope;
|
| + LocalContext env;
|
| + uint32_t value = 239;
|
| + Local<v8::Integer> value_obj = v8::Integer::NewFromUnsigned(value);
|
| + CHECK_EQ(static_cast<int64_t>(value), value_obj->Value());
|
| +}
|
| +
|
| +
|
| +THREADED_TEST(BigUnsignedSmiInteger) {
|
| + v8::HandleScope scope;
|
| + LocalContext env;
|
| + uint32_t value = static_cast<uint32_t>(i::Smi::kMaxValue);
|
| + CHECK(i::Smi::IsValid(value));
|
| + CHECK(!i::Smi::IsValid(value + 1));
|
| + Local<v8::Integer> value_obj = v8::Integer::NewFromUnsigned(value);
|
| + CHECK_EQ(static_cast<int64_t>(value), value_obj->Value());
|
| +}
|
| +
|
| +
|
| +THREADED_TEST(BigUnsignedInteger) {
|
| + v8::HandleScope scope;
|
| + LocalContext env;
|
| + uint32_t value = static_cast<uint32_t>(i::Smi::kMaxValue) + 1;
|
| + CHECK(value > static_cast<uint32_t>(i::Smi::kMaxValue));
|
| + CHECK(!i::Smi::IsValid(value));
|
| + Local<v8::Integer> value_obj = v8::Integer::NewFromUnsigned(value);
|
| + CHECK_EQ(static_cast<int64_t>(value), value_obj->Value());
|
| +}
|
| +
|
| +
|
| +THREADED_TEST(OutOfSignedRangeUnsignedInteger) {
|
| + v8::HandleScope scope;
|
| + LocalContext env;
|
| + uint32_t INT32_MAX_AS_UINT = (1U << 31) - 1;
|
| + uint32_t value = INT32_MAX_AS_UINT + 1;
|
| + CHECK(value > INT32_MAX_AS_UINT); // No overflow.
|
| + Local<v8::Integer> value_obj = v8::Integer::NewFromUnsigned(value);
|
| + CHECK_EQ(static_cast<int64_t>(value), value_obj->Value());
|
| +}
|
| +
|
| +
|
| THREADED_TEST(Number) {
|
| v8::HandleScope scope;
|
| LocalContext env;
|
|
|