OLD | NEW |
1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 } | 123 } |
124 | 124 |
125 | 125 |
126 void DeclarationContext::Check(const char* source, | 126 void DeclarationContext::Check(const char* source, |
127 int get, int set, int query, | 127 int get, int set, int query, |
128 Expectations expectations, | 128 Expectations expectations, |
129 v8::Handle<Value> value) { | 129 v8::Handle<Value> value) { |
130 InitializeIfNeeded(); | 130 InitializeIfNeeded(); |
131 // A retry after a GC may pollute the counts, so perform gc now | 131 // A retry after a GC may pollute the counts, so perform gc now |
132 // to avoid that. | 132 // to avoid that. |
133 v8::internal::Heap::CollectGarbage(0, v8::internal::NEW_SPACE); | 133 v8::internal::Heap::CollectGarbage(v8::internal::NEW_SPACE); |
134 HandleScope scope; | 134 HandleScope scope; |
135 TryCatch catcher; | 135 TryCatch catcher; |
136 catcher.SetVerbose(true); | 136 catcher.SetVerbose(true); |
137 Local<Value> result = Script::Compile(String::New(source))->Run(); | 137 Local<Value> result = Script::Compile(String::New(source))->Run(); |
138 CHECK_EQ(get, get_count()); | 138 CHECK_EQ(get, get_count()); |
139 CHECK_EQ(set, set_count()); | 139 CHECK_EQ(set, set_count()); |
140 CHECK_EQ(query, query_count()); | 140 CHECK_EQ(query, query_count()); |
141 if (expectations == EXPECT_RESULT) { | 141 if (expectations == EXPECT_RESULT) { |
142 CHECK(!catcher.HasCaught()); | 142 CHECK(!catcher.HasCaught()); |
143 if (!value.IsEmpty()) { | 143 if (!value.IsEmpty()) { |
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 HandleScope scope; | 584 HandleScope scope; |
585 | 585 |
586 { AbsentInPrototypeContext context; | 586 { AbsentInPrototypeContext context; |
587 context.Check("if (false) { var x = 0; }; x", | 587 context.Check("if (false) { var x = 0; }; x", |
588 0, | 588 0, |
589 0, | 589 0, |
590 1, // declaration | 590 1, // declaration |
591 EXPECT_RESULT, Undefined()); | 591 EXPECT_RESULT, Undefined()); |
592 } | 592 } |
593 } | 593 } |
OLD | NEW |