Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: test/unittests/value-serializer-unittest.cc

Issue 2395073003: ValueSerializer: Check for no matching ArrayBufferView type being found. (Closed)
Patch Set: and a unittest Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/value-serializer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/value-serializer.h" 5 #include "src/value-serializer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "include/v8.h" 10 #include "include/v8.h"
(...skipping 1966 matching lines...) Expand 10 before | Expand all | Expand 10 after
1977 {0xff, 0x09, 0x42, 0x02, 0x00, 0x00, 0x56, 0x42, 0x03, 0x01}); 1977 {0xff, 0x09, 0x42, 0x02, 0x00, 0x00, 0x56, 0x42, 0x03, 0x01});
1978 // Byte offset in range, offset + length out of range. 1978 // Byte offset in range, offset + length out of range.
1979 InvalidDecodeTest( 1979 InvalidDecodeTest(
1980 {0xff, 0x09, 0x42, 0x02, 0x00, 0x00, 0x56, 0x42, 0x01, 0x03}); 1980 {0xff, 0x09, 0x42, 0x02, 0x00, 0x00, 0x56, 0x42, 0x01, 0x03});
1981 // Byte offset not divisible by element size. 1981 // Byte offset not divisible by element size.
1982 InvalidDecodeTest( 1982 InvalidDecodeTest(
1983 {0xff, 0x09, 0x42, 0x04, 0x00, 0x00, 0x00, 0x00, 0x56, 0x77, 0x01, 0x02}); 1983 {0xff, 0x09, 0x42, 0x04, 0x00, 0x00, 0x00, 0x00, 0x56, 0x77, 0x01, 0x02});
1984 // Byte length not divisible by element size. 1984 // Byte length not divisible by element size.
1985 InvalidDecodeTest( 1985 InvalidDecodeTest(
1986 {0xff, 0x09, 0x42, 0x04, 0x00, 0x00, 0x00, 0x00, 0x56, 0x77, 0x02, 0x01}); 1986 {0xff, 0x09, 0x42, 0x04, 0x00, 0x00, 0x00, 0x00, 0x56, 0x77, 0x02, 0x01});
1987 // Invalid view type (0xff).
1988 InvalidDecodeTest(
1989 {0xff, 0x09, 0x42, 0x02, 0x00, 0x00, 0x56, 0xff, 0x01, 0x01});
1987 } 1990 }
1988 1991
1989 TEST_F(ValueSerializerTest, RoundTripDataView) { 1992 TEST_F(ValueSerializerTest, RoundTripDataView) {
1990 RoundTripTest("new DataView(new ArrayBuffer(4), 1, 2)", 1993 RoundTripTest("new DataView(new ArrayBuffer(4), 1, 2)",
1991 [this](Local<Value> value) { 1994 [this](Local<Value> value) {
1992 ASSERT_TRUE(value->IsDataView()); 1995 ASSERT_TRUE(value->IsDataView());
1993 EXPECT_EQ(1, DataView::Cast(*value)->ByteOffset()); 1996 EXPECT_EQ(1, DataView::Cast(*value)->ByteOffset());
1994 EXPECT_EQ(2, DataView::Cast(*value)->ByteLength()); 1997 EXPECT_EQ(2, DataView::Cast(*value)->ByteLength());
1995 EXPECT_EQ(4, DataView::Cast(*value)->Buffer()->ByteLength()); 1998 EXPECT_EQ(4, DataView::Cast(*value)->Buffer()->ByteLength());
1996 EXPECT_TRUE(EvaluateScriptForResultBool( 1999 EXPECT_TRUE(EvaluateScriptForResultBool(
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
2353 "({ a: new ExampleHostObject(), get b() { return this.a; }})", 2356 "({ a: new ExampleHostObject(), get b() { return this.a; }})",
2354 [this](Local<Value> value) { 2357 [this](Local<Value> value) {
2355 EXPECT_TRUE(EvaluateScriptForResultBool( 2358 EXPECT_TRUE(EvaluateScriptForResultBool(
2356 "result.a instanceof ExampleHostObject")); 2359 "result.a instanceof ExampleHostObject"));
2357 EXPECT_TRUE(EvaluateScriptForResultBool("result.a === result.b")); 2360 EXPECT_TRUE(EvaluateScriptForResultBool("result.a === result.b"));
2358 }); 2361 });
2359 } 2362 }
2360 2363
2361 } // namespace 2364 } // namespace
2362 } // namespace v8 2365 } // namespace v8
OLDNEW
« no previous file with comments | « src/value-serializer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698