Remove deprecate API usage from more cctests
BUG=v8:4134 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1502193002 Cr-Commit-Position: refs/heads/master@{#32659}
This commit is contained in:
parent
b6a2ff8ede
commit
6150662d89
@ -2,6 +2,9 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// TODO(jochen): Remove this after the setting is turned on globally.
|
||||
#define V8_IMMINENT_DEPRECATION_WARNINGS
|
||||
|
||||
#include "src/interface-descriptors.h"
|
||||
#include "src/isolate.h"
|
||||
#include "test/cctest/compiler/function-tester.h"
|
||||
|
@ -25,6 +25,9 @@
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// TODO(jochen): Remove this after the setting is turned on globally.
|
||||
#define V8_IMMINENT_DEPRECATION_WARNINGS
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "src/v8.h"
|
||||
@ -60,25 +63,24 @@ class DeclarationContext {
|
||||
}
|
||||
}
|
||||
|
||||
void Check(const char* source,
|
||||
int get, int set, int has,
|
||||
void Check(const char* source, int get, int set, int has,
|
||||
Expectations expectations,
|
||||
v8::Handle<Value> value = Local<Value>());
|
||||
v8::Local<Value> value = Local<Value>());
|
||||
|
||||
int get_count() const { return get_count_; }
|
||||
int set_count() const { return set_count_; }
|
||||
int query_count() const { return query_count_; }
|
||||
|
||||
protected:
|
||||
virtual v8::Handle<Value> Get(Local<Name> key);
|
||||
virtual v8::Handle<Value> Set(Local<Name> key, Local<Value> value);
|
||||
virtual v8::Handle<Integer> Query(Local<Name> key);
|
||||
virtual v8::Local<Value> Get(Local<Name> key);
|
||||
virtual v8::Local<Value> Set(Local<Name> key, Local<Value> value);
|
||||
virtual v8::Local<Integer> Query(Local<Name> key);
|
||||
|
||||
void InitializeIfNeeded();
|
||||
|
||||
// Perform optional initialization steps on the context after it has
|
||||
// been created. Defaults to none but may be overwritten.
|
||||
virtual void PostInitializeContext(Handle<Context> context) {}
|
||||
virtual void PostInitializeContext(Local<Context> context) {}
|
||||
|
||||
// Get the holder for the interceptor. Default to the instance template
|
||||
// but may be overwritten.
|
||||
@ -138,10 +140,9 @@ void DeclarationContext::InitializeIfNeeded() {
|
||||
}
|
||||
|
||||
|
||||
void DeclarationContext::Check(const char* source,
|
||||
int get, int set, int query,
|
||||
void DeclarationContext::Check(const char* source, int get, int set, int query,
|
||||
Expectations expectations,
|
||||
v8::Handle<Value> value) {
|
||||
v8::Local<Value> value) {
|
||||
InitializeIfNeeded();
|
||||
// A retry after a GC may pollute the counts, so perform gc now
|
||||
// to avoid that.
|
||||
@ -149,27 +150,30 @@ void DeclarationContext::Check(const char* source,
|
||||
HandleScope scope(CcTest::isolate());
|
||||
TryCatch catcher(CcTest::isolate());
|
||||
catcher.SetVerbose(true);
|
||||
Local<Script> script =
|
||||
Script::Compile(String::NewFromUtf8(CcTest::isolate(), source));
|
||||
Local<Context> context = CcTest::isolate()->GetCurrentContext();
|
||||
MaybeLocal<Script> script = Script::Compile(
|
||||
context,
|
||||
String::NewFromUtf8(CcTest::isolate(), source, v8::NewStringType::kNormal)
|
||||
.ToLocalChecked());
|
||||
if (expectations == EXPECT_ERROR) {
|
||||
CHECK(script.IsEmpty());
|
||||
return;
|
||||
}
|
||||
CHECK(!script.IsEmpty());
|
||||
Local<Value> result = script->Run();
|
||||
MaybeLocal<Value> result = script.ToLocalChecked()->Run(context);
|
||||
CHECK_EQ(get, get_count());
|
||||
CHECK_EQ(set, set_count());
|
||||
CHECK_EQ(query, query_count());
|
||||
if (expectations == EXPECT_RESULT) {
|
||||
CHECK(!catcher.HasCaught());
|
||||
if (!value.IsEmpty()) {
|
||||
CHECK(value->Equals(result));
|
||||
CHECK(value->Equals(context, result.ToLocalChecked()).FromJust());
|
||||
}
|
||||
} else {
|
||||
CHECK(expectations == EXPECT_EXCEPTION);
|
||||
CHECK(catcher.HasCaught());
|
||||
if (!value.IsEmpty()) {
|
||||
CHECK(value->Equals(catcher.Exception()));
|
||||
CHECK(value->Equals(context, catcher.Exception()).FromJust());
|
||||
}
|
||||
}
|
||||
// Clean slate for the next test.
|
||||
@ -208,18 +212,18 @@ DeclarationContext* DeclarationContext::GetInstance(Local<Value> data) {
|
||||
}
|
||||
|
||||
|
||||
v8::Handle<Value> DeclarationContext::Get(Local<Name> key) {
|
||||
return v8::Handle<Value>();
|
||||
v8::Local<Value> DeclarationContext::Get(Local<Name> key) {
|
||||
return v8::Local<Value>();
|
||||
}
|
||||
|
||||
|
||||
v8::Handle<Value> DeclarationContext::Set(Local<Name> key, Local<Value> value) {
|
||||
return v8::Handle<Value>();
|
||||
v8::Local<Value> DeclarationContext::Set(Local<Name> key, Local<Value> value) {
|
||||
return v8::Local<Value>();
|
||||
}
|
||||
|
||||
|
||||
v8::Handle<Integer> DeclarationContext::Query(Local<Name> key) {
|
||||
return v8::Handle<Integer>();
|
||||
v8::Local<Integer> DeclarationContext::Query(Local<Name> key) {
|
||||
return v8::Local<Integer>();
|
||||
}
|
||||
|
||||
|
||||
@ -268,8 +272,8 @@ TEST(Unknown) {
|
||||
|
||||
class AbsentPropertyContext: public DeclarationContext {
|
||||
protected:
|
||||
virtual v8::Handle<Integer> Query(Local<Name> key) {
|
||||
return v8::Handle<Integer>();
|
||||
virtual v8::Local<Integer> Query(Local<Name> key) {
|
||||
return v8::Local<Integer>();
|
||||
}
|
||||
};
|
||||
|
||||
@ -332,13 +336,13 @@ class AppearingPropertyContext: public DeclarationContext {
|
||||
AppearingPropertyContext() : state_(DECLARE) { }
|
||||
|
||||
protected:
|
||||
virtual v8::Handle<Integer> Query(Local<Name> key) {
|
||||
virtual v8::Local<Integer> Query(Local<Name> key) {
|
||||
switch (state_) {
|
||||
case DECLARE:
|
||||
// Force declaration by returning that the
|
||||
// property is absent.
|
||||
state_ = INITIALIZE_IF_ASSIGN;
|
||||
return Handle<Integer>();
|
||||
return Local<Integer>();
|
||||
case INITIALIZE_IF_ASSIGN:
|
||||
// Return that the property is present so we only get the
|
||||
// setter called when initializing with a value.
|
||||
@ -349,7 +353,7 @@ class AppearingPropertyContext: public DeclarationContext {
|
||||
break;
|
||||
}
|
||||
// Do the lookup in the object.
|
||||
return v8::Handle<Integer>();
|
||||
return v8::Local<Integer>();
|
||||
}
|
||||
|
||||
private:
|
||||
@ -401,7 +405,7 @@ class ExistsInPrototypeContext: public DeclarationContext {
|
||||
public:
|
||||
ExistsInPrototypeContext() { InitializeIfNeeded(); }
|
||||
protected:
|
||||
virtual v8::Handle<Integer> Query(Local<Name> key) {
|
||||
virtual v8::Local<Integer> Query(Local<Name> key) {
|
||||
// Let it seem that the property exists in the prototype object.
|
||||
return Integer::New(isolate(), v8::None);
|
||||
}
|
||||
@ -460,9 +464,9 @@ TEST(ExistsInPrototype) {
|
||||
|
||||
class AbsentInPrototypeContext: public DeclarationContext {
|
||||
protected:
|
||||
virtual v8::Handle<Integer> Query(Local<Name> key) {
|
||||
virtual v8::Local<Integer> Query(Local<Name> key) {
|
||||
// Let it seem that the property is absent in the prototype object.
|
||||
return Handle<Integer>();
|
||||
return Local<Integer>();
|
||||
}
|
||||
|
||||
// Use the prototype as the holder for the interceptors.
|
||||
@ -495,18 +499,21 @@ class ExistsInHiddenPrototypeContext: public DeclarationContext {
|
||||
}
|
||||
|
||||
protected:
|
||||
virtual v8::Handle<Integer> Query(Local<Name> key) {
|
||||
virtual v8::Local<Integer> Query(Local<Name> key) {
|
||||
// Let it seem that the property exists in the hidden prototype object.
|
||||
return Integer::New(isolate(), v8::None);
|
||||
}
|
||||
|
||||
// Install the hidden prototype after the global object has been created.
|
||||
virtual void PostInitializeContext(Handle<Context> context) {
|
||||
virtual void PostInitializeContext(Local<Context> context) {
|
||||
Local<Object> global_object = context->Global();
|
||||
Local<Object> hidden_proto = hidden_proto_->GetFunction()->NewInstance();
|
||||
Local<Object> hidden_proto = hidden_proto_->GetFunction(context)
|
||||
.ToLocalChecked()
|
||||
->NewInstance(context)
|
||||
.ToLocalChecked();
|
||||
Local<Object> inner_global =
|
||||
Local<Object>::Cast(global_object->GetPrototype());
|
||||
inner_global->SetPrototype(hidden_proto);
|
||||
inner_global->SetPrototype(context, hidden_proto).FromJust();
|
||||
}
|
||||
|
||||
// Use the hidden prototype as the holder for the interceptors.
|
||||
@ -567,30 +574,31 @@ class SimpleContext {
|
||||
context_->Exit();
|
||||
}
|
||||
|
||||
void Check(const char* source,
|
||||
Expectations expectations,
|
||||
v8::Handle<Value> value = Local<Value>()) {
|
||||
void Check(const char* source, Expectations expectations,
|
||||
v8::Local<Value> value = Local<Value>()) {
|
||||
HandleScope scope(context_->GetIsolate());
|
||||
TryCatch catcher(context_->GetIsolate());
|
||||
catcher.SetVerbose(true);
|
||||
Local<Script> script =
|
||||
Script::Compile(String::NewFromUtf8(context_->GetIsolate(), source));
|
||||
MaybeLocal<Script> script = Script::Compile(
|
||||
context_, String::NewFromUtf8(context_->GetIsolate(), source,
|
||||
v8::NewStringType::kNormal)
|
||||
.ToLocalChecked());
|
||||
if (expectations == EXPECT_ERROR) {
|
||||
CHECK(script.IsEmpty());
|
||||
return;
|
||||
}
|
||||
CHECK(!script.IsEmpty());
|
||||
Local<Value> result = script->Run();
|
||||
MaybeLocal<Value> result = script.ToLocalChecked()->Run(context_);
|
||||
if (expectations == EXPECT_RESULT) {
|
||||
CHECK(!catcher.HasCaught());
|
||||
if (!value.IsEmpty()) {
|
||||
CHECK(value->Equals(result));
|
||||
CHECK(value->Equals(context_, result.ToLocalChecked()).FromJust());
|
||||
}
|
||||
} else {
|
||||
CHECK(expectations == EXPECT_EXCEPTION);
|
||||
CHECK(catcher.HasCaught());
|
||||
if (!value.IsEmpty()) {
|
||||
CHECK(value->Equals(catcher.Exception()));
|
||||
CHECK(value->Equals(context_, catcher.Exception()).FromJust());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -901,10 +909,14 @@ TEST(CrossScriptDynamicLookup) {
|
||||
|
||||
{
|
||||
SimpleContext context;
|
||||
Local<String> undefined_string = String::NewFromUtf8(
|
||||
CcTest::isolate(), "undefined", String::kInternalizedString);
|
||||
Local<String> number_string = String::NewFromUtf8(
|
||||
CcTest::isolate(), "number", String::kInternalizedString);
|
||||
Local<String> undefined_string =
|
||||
String::NewFromUtf8(CcTest::isolate(), "undefined",
|
||||
v8::NewStringType::kInternalized)
|
||||
.ToLocalChecked();
|
||||
Local<String> number_string =
|
||||
String::NewFromUtf8(CcTest::isolate(), "number",
|
||||
v8::NewStringType::kInternalized)
|
||||
.ToLocalChecked();
|
||||
|
||||
context.Check(
|
||||
"function f(o) { with(o) { return x; } }"
|
||||
@ -974,10 +986,14 @@ TEST(CrossScriptStaticLookupUndeclared) {
|
||||
|
||||
{
|
||||
SimpleContext context;
|
||||
Local<String> undefined_string = String::NewFromUtf8(
|
||||
CcTest::isolate(), "undefined", String::kInternalizedString);
|
||||
Local<String> number_string = String::NewFromUtf8(
|
||||
CcTest::isolate(), "number", String::kInternalizedString);
|
||||
Local<String> undefined_string =
|
||||
String::NewFromUtf8(CcTest::isolate(), "undefined",
|
||||
v8::NewStringType::kInternalized)
|
||||
.ToLocalChecked();
|
||||
Local<String> number_string =
|
||||
String::NewFromUtf8(CcTest::isolate(), "number",
|
||||
v8::NewStringType::kInternalized)
|
||||
.ToLocalChecked();
|
||||
|
||||
context.Check(
|
||||
"function f(o) { return x; }"
|
||||
|
@ -2,6 +2,9 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// TODO(jochen): Remove this after the setting is turned on globally.
|
||||
#define V8_IMMINENT_DEPRECATION_WARNINGS
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <sstream>
|
||||
#include <utility>
|
||||
|
@ -30,6 +30,9 @@
|
||||
// of ConsStrings. These operations may not be very fast, but they
|
||||
// should be possible without getting errors due to too deep recursion.
|
||||
|
||||
// TODO(jochen): Remove this after the setting is turned on globally.
|
||||
#define V8_IMMINENT_DEPRECATION_WARNINGS
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "src/v8.h"
|
||||
@ -191,9 +194,9 @@ static void InitializeBuildingBlocks(Handle<String>* building_blocks,
|
||||
buf[j] = rng->next(0x10000);
|
||||
}
|
||||
Resource* resource = new Resource(buf, len);
|
||||
building_blocks[i] =
|
||||
v8::Utils::OpenHandle(
|
||||
*v8::String::NewExternal(CcTest::isolate(), resource));
|
||||
building_blocks[i] = v8::Utils::OpenHandle(
|
||||
*v8::String::NewExternalTwoByte(CcTest::isolate(), resource)
|
||||
.ToLocalChecked());
|
||||
for (int j = 0; j < len; j++) {
|
||||
CHECK_EQ(buf[j], building_blocks[i]->Get(j));
|
||||
}
|
||||
@ -205,9 +208,9 @@ static void InitializeBuildingBlocks(Handle<String>* building_blocks,
|
||||
buf[j] = rng->next(0x80);
|
||||
}
|
||||
OneByteResource* resource = new OneByteResource(buf, len);
|
||||
building_blocks[i] =
|
||||
v8::Utils::OpenHandle(
|
||||
*v8::String::NewExternal(CcTest::isolate(), resource));
|
||||
building_blocks[i] = v8::Utils::OpenHandle(
|
||||
*v8::String::NewExternalOneByte(CcTest::isolate(), resource)
|
||||
.ToLocalChecked());
|
||||
for (int j = 0; j < len; j++) {
|
||||
CHECK_EQ(buf[j], building_blocks[i]->Get(j));
|
||||
}
|
||||
@ -880,8 +883,10 @@ TEST(Utf8Conversion) {
|
||||
// A simple one-byte string
|
||||
const char* one_byte_string = "abcdef12345";
|
||||
int len = v8::String::NewFromUtf8(CcTest::isolate(), one_byte_string,
|
||||
v8::String::kNormalString,
|
||||
StrLength(one_byte_string))->Utf8Length();
|
||||
v8::NewStringType::kNormal,
|
||||
StrLength(one_byte_string))
|
||||
.ToLocalChecked()
|
||||
->Utf8Length();
|
||||
CHECK_EQ(StrLength(one_byte_string), len);
|
||||
// A mixed one-byte and two-byte string
|
||||
// U+02E4 -> CB A4
|
||||
@ -896,8 +901,10 @@ TEST(Utf8Conversion) {
|
||||
// The number of bytes expected to be written for each length
|
||||
const int lengths[12] = {0, 0, 2, 3, 3, 3, 6, 7, 7, 7, 10, 11};
|
||||
const int char_lengths[12] = {0, 0, 1, 2, 2, 2, 3, 4, 4, 4, 5, 5};
|
||||
v8::Handle<v8::String> mixed = v8::String::NewFromTwoByte(
|
||||
CcTest::isolate(), mixed_string, v8::String::kNormalString, 5);
|
||||
v8::Local<v8::String> mixed =
|
||||
v8::String::NewFromTwoByte(CcTest::isolate(), mixed_string,
|
||||
v8::NewStringType::kNormal, 5)
|
||||
.ToLocalChecked();
|
||||
CHECK_EQ(10, mixed->Utf8Length());
|
||||
// Try encoding the string with all capacities
|
||||
char buffer[11];
|
||||
@ -929,9 +936,9 @@ TEST(ExternalShortStringAdd) {
|
||||
CHECK_GT(kMaxLength, i::ConsString::kMinLength);
|
||||
|
||||
// Allocate two JavaScript arrays for holding short strings.
|
||||
v8::Handle<v8::Array> one_byte_external_strings =
|
||||
v8::Local<v8::Array> one_byte_external_strings =
|
||||
v8::Array::New(CcTest::isolate(), kMaxLength + 1);
|
||||
v8::Handle<v8::Array> non_one_byte_external_strings =
|
||||
v8::Local<v8::Array> non_one_byte_external_strings =
|
||||
v8::Array::New(CcTest::isolate(), kMaxLength + 1);
|
||||
|
||||
// Generate short one-byte and two-byte external strings.
|
||||
@ -944,10 +951,13 @@ TEST(ExternalShortStringAdd) {
|
||||
// string data.
|
||||
OneByteResource* one_byte_resource = new OneByteResource(one_byte, i);
|
||||
v8::Local<v8::String> one_byte_external_string =
|
||||
v8::String::NewExternal(CcTest::isolate(), one_byte_resource);
|
||||
v8::String::NewExternalOneByte(CcTest::isolate(), one_byte_resource)
|
||||
.ToLocalChecked();
|
||||
|
||||
one_byte_external_strings->Set(v8::Integer::New(CcTest::isolate(), i),
|
||||
one_byte_external_string);
|
||||
one_byte_external_strings->Set(context.local(),
|
||||
v8::Integer::New(CcTest::isolate(), i),
|
||||
one_byte_external_string)
|
||||
.FromJust();
|
||||
uc16* non_one_byte = NewArray<uc16>(i + 1);
|
||||
for (int j = 0; j < i; j++) {
|
||||
non_one_byte[j] = 0x1234;
|
||||
@ -956,17 +966,25 @@ TEST(ExternalShortStringAdd) {
|
||||
// string data.
|
||||
Resource* resource = new Resource(non_one_byte, i);
|
||||
v8::Local<v8::String> non_one_byte_external_string =
|
||||
v8::String::NewExternal(CcTest::isolate(), resource);
|
||||
non_one_byte_external_strings->Set(v8::Integer::New(CcTest::isolate(), i),
|
||||
non_one_byte_external_string);
|
||||
v8::String::NewExternalTwoByte(CcTest::isolate(), resource)
|
||||
.ToLocalChecked();
|
||||
non_one_byte_external_strings->Set(context.local(),
|
||||
v8::Integer::New(CcTest::isolate(), i),
|
||||
non_one_byte_external_string)
|
||||
.FromJust();
|
||||
}
|
||||
|
||||
// Add the arrays with the short external strings in the global object.
|
||||
v8::Handle<v8::Object> global = context->Global();
|
||||
global->Set(v8_str("external_one_byte"), one_byte_external_strings);
|
||||
global->Set(v8_str("external_non_one_byte"), non_one_byte_external_strings);
|
||||
global->Set(v8_str("max_length"),
|
||||
v8::Integer::New(CcTest::isolate(), kMaxLength));
|
||||
v8::Local<v8::Object> global = context->Global();
|
||||
global->Set(context.local(), v8_str("external_one_byte"),
|
||||
one_byte_external_strings)
|
||||
.FromJust();
|
||||
global->Set(context.local(), v8_str("external_non_one_byte"),
|
||||
non_one_byte_external_strings)
|
||||
.FromJust();
|
||||
global->Set(context.local(), v8_str("max_length"),
|
||||
v8::Integer::New(CcTest::isolate(), kMaxLength))
|
||||
.FromJust();
|
||||
|
||||
// Add short external one-byte and two-byte strings checking the result.
|
||||
static const char* source =
|
||||
@ -1012,7 +1030,7 @@ TEST(ExternalShortStringAdd) {
|
||||
" return 0;"
|
||||
"};"
|
||||
"test()";
|
||||
CHECK_EQ(0, CompileRun(source)->Int32Value());
|
||||
CHECK_EQ(0, CompileRun(source)->Int32Value(context.local()).FromJust());
|
||||
}
|
||||
|
||||
|
||||
@ -1021,14 +1039,19 @@ TEST(JSONStringifySliceMadeExternal) {
|
||||
// Create a sliced string from a one-byte string. The latter is turned
|
||||
// into a two-byte external string. Check that JSON.stringify works.
|
||||
v8::HandleScope handle_scope(CcTest::isolate());
|
||||
v8::Handle<v8::String> underlying =
|
||||
v8::Local<v8::String> underlying =
|
||||
CompileRun(
|
||||
"var underlying = 'abcdefghijklmnopqrstuvwxyz';"
|
||||
"underlying")->ToString(CcTest::isolate());
|
||||
v8::Handle<v8::String> slice = CompileRun(
|
||||
"underlying")
|
||||
->ToString(CcTest::isolate()->GetCurrentContext())
|
||||
.ToLocalChecked();
|
||||
v8::Local<v8::String> slice =
|
||||
CompileRun(
|
||||
"var slice = '';"
|
||||
"slice = underlying.slice(1);"
|
||||
"slice")->ToString(CcTest::isolate());
|
||||
"slice")
|
||||
->ToString(CcTest::isolate()->GetCurrentContext())
|
||||
.ToLocalChecked();
|
||||
CHECK(v8::Utils::OpenHandle(*slice)->IsSlicedString());
|
||||
CHECK(v8::Utils::OpenHandle(*underlying)->IsSeqOneByteString());
|
||||
|
||||
@ -1079,16 +1102,23 @@ TEST(CachedHashOverflow) {
|
||||
};
|
||||
|
||||
const char* line;
|
||||
v8::Local<v8::Context> context = CcTest::isolate()->GetCurrentContext();
|
||||
for (int i = 0; (line = lines[i]); i++) {
|
||||
printf("%s\n", line);
|
||||
v8::Local<v8::Value> result = v8::Script::Compile(
|
||||
v8::String::NewFromUtf8(CcTest::isolate(), line))->Run();
|
||||
v8::Local<v8::Value> result =
|
||||
v8::Script::Compile(context,
|
||||
v8::String::NewFromUtf8(CcTest::isolate(), line,
|
||||
v8::NewStringType::kNormal)
|
||||
.ToLocalChecked())
|
||||
.ToLocalChecked()
|
||||
->Run(context)
|
||||
.ToLocalChecked();
|
||||
CHECK_EQ(results[i]->IsUndefined(), result->IsUndefined());
|
||||
CHECK_EQ(results[i]->IsNumber(), result->IsNumber());
|
||||
if (result->IsNumber()) {
|
||||
int32_t value = 0;
|
||||
CHECK(results[i]->ToInt32(&value));
|
||||
CHECK_EQ(value, result->ToInt32(CcTest::isolate())->Value());
|
||||
CHECK_EQ(value, result->ToInt32(context).ToLocalChecked()->Value());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1320,7 +1350,8 @@ TEST(CountBreakIterator) {
|
||||
" return iterator.next();"
|
||||
"})();");
|
||||
CHECK(result->IsNumber());
|
||||
int uses = result->ToInt32(CcTest::isolate())->Value() == 0 ? 0 : 1;
|
||||
int uses =
|
||||
result->ToInt32(context.local()).ToLocalChecked()->Value() == 0 ? 0 : 1;
|
||||
CHECK_EQ(uses, use_counts[v8::Isolate::kBreakIterator]);
|
||||
// Make sure GC cleans up the break iterator, so we don't get a memory leak
|
||||
// reported by ASAN.
|
||||
@ -1341,7 +1372,7 @@ TEST(StringReplaceAtomTwoByteResult) {
|
||||
CHECK(string->IsSeqTwoByteString());
|
||||
|
||||
v8::Local<v8::String> expected = v8_str("one_byte\x80only\x80string\x80");
|
||||
CHECK(expected->Equals(result));
|
||||
CHECK(expected->Equals(context.local(), result).FromJust());
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user