| Index: runtime/vm/object_test.cc
|
| diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc
|
| index aa4efb2973089a81fc588d7590eb7fc95a2eff61..5d79b0840eb967b1f2a358d24b9d2d0aeb961222 100644
|
| --- a/runtime/vm/object_test.cc
|
| +++ b/runtime/vm/object_test.cc
|
| @@ -1592,6 +1592,61 @@ TEST_CASE(Array) {
|
| }
|
|
|
|
|
| +TEST_CASE(ByteBuffer) {
|
| + uint8_t data[] = { 253, 254, 255, 0, 1, 2, 3, 4 };
|
| + intptr_t data_length = ARRAY_SIZE(data);
|
| +
|
| + const ByteBuffer& array1 =
|
| + ByteBuffer::Handle(ByteBuffer::New(data, data_length));
|
| + EXPECT(!array1.IsNull());
|
| + EXPECT_EQ(data_length, array1.Length());
|
| + EXPECT_EQ(-3, array1.At<int8_t>(0));
|
| + EXPECT_EQ(253, array1.At<uint8_t>(0));
|
| + EXPECT_EQ(-2, array1.At<int8_t>(1));
|
| + EXPECT_EQ(254, array1.At<uint8_t>(1));
|
| + EXPECT_EQ(-1, array1.At<int8_t>(2));
|
| + EXPECT_EQ(255, array1.At<uint8_t>(2));
|
| + EXPECT_EQ(0, array1.At<int8_t>(3));
|
| + EXPECT_EQ(0, array1.At<uint8_t>(3));
|
| + EXPECT_EQ(1, array1.At<int8_t>(4));
|
| + EXPECT_EQ(1, array1.At<uint8_t>(4));
|
| + EXPECT_EQ(2, array1.At<int8_t>(5));
|
| + EXPECT_EQ(2, array1.At<uint8_t>(5));
|
| +
|
| + const ByteBuffer& array2 =
|
| + ByteBuffer::Handle(ByteBuffer::New(data, data_length));
|
| + EXPECT(!array1.IsNull());
|
| + EXPECT_EQ(data_length, array2.Length());
|
| + EXPECT(array1.Equals(array2));
|
| + EXPECT(array2.Equals(array1));
|
| + array1.SetAt<uint8_t>(0, 123);
|
| + array2.SetAt<int8_t>(2, -123);
|
| + EXPECT(array1.Equals(array2));
|
| + EXPECT(array2.Equals(array1));
|
| +
|
| + memset(data, 0, ARRAY_SIZE(data));
|
| + array1.SetAt<float>(0, FLT_MIN);
|
| + array1.SetAt<float>(1, FLT_MAX);
|
| + EXPECT_EQ(FLT_MIN, array2.At<float>(0));
|
| + EXPECT_EQ(FLT_MAX, array2.At<float>(1));
|
| +
|
| + array1.SetAt<float>(0, 0.0f);
|
| + EXPECT_EQ(0.0f, array2.At<float>(0));
|
| + array1.SetAt<float>(1, 1.0f);
|
| + EXPECT_EQ(1.0f, array2.At<float>(1));
|
| +
|
| + array1.SetAt<double>(0, DBL_MIN);
|
| + EXPECT_EQ(DBL_MIN, array2.At<double>(0));
|
| + array1.SetAt<double>(0, DBL_MAX);
|
| + EXPECT_EQ(DBL_MAX, array2.At<double>(0));
|
| +
|
| + array1.SetAt<double>(0, 0.0);
|
| + EXPECT_EQ(0.0, array2.At<double>(0));
|
| + array1.SetAt<double>(0, 1.0);
|
| + EXPECT_EQ(1.0, array2.At<double>(0));
|
| +}
|
| +
|
| +
|
| TEST_CASE(Script) {
|
| const char* url_chars = "builtin:test-case";
|
| const char* source_chars = "This will not compile.";
|
|
|