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

Side by Side Diff: test/cctest/test-api.cc

Issue 173116: Fix an ASSERT in the scanner (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « src/scanner.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 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 7132 matching lines...) Expand 10 before | Expand all | Expand 10 after
7143 CHECK_EQ(String::New(expected_cons), 7143 CHECK_EQ(String::New(expected_cons),
7144 env->Global()->Get(v8_str("cons"))); 7144 env->Global()->Get(v8_str("cons")));
7145 CHECK_EQ(String::New(expected_slice), 7145 CHECK_EQ(String::New(expected_slice),
7146 env->Global()->Get(v8_str("slice"))); 7146 env->Global()->Get(v8_str("slice")));
7147 CHECK_EQ(String::New(expected_slice_on_cons), 7147 CHECK_EQ(String::New(expected_slice_on_cons),
7148 env->Global()->Get(v8_str("slice_on_cons"))); 7148 env->Global()->Get(v8_str("slice_on_cons")));
7149 } 7149 }
7150 } 7150 }
7151 7151
7152 7152
7153 TEST(CompileExternalTwoByteSource) {
7154 v8::HandleScope scope;
7155 LocalContext context;
7156
7157 // This is a very short list of sources, which currently is to check for a
7158 // regression caused by r2703.
7159 const char* ascii_sources[] = {
7160 "0.5",
7161 "-0.5", // This mainly testes PushBack in the Scanner.
7162 "--0.5", // This mainly testes PushBack in the Scanner.
7163 NULL
7164 };
7165
7166 // Compile the sources as external two byte strings.
7167 for (int i = 0; ascii_sources[i] != NULL; i++) {
7168 uint16_t* two_byte_string = AsciiToTwoByteString(ascii_sources[i]);
7169 UC16VectorResource uc16_resource(
7170 i::Vector<const uint16_t>(two_byte_string, strlen(ascii_sources[i])));
7171 v8::Local<v8::String> source = v8::String::NewExternal(&uc16_resource);
7172 v8::Script::Compile(source);
7173 }
7174 }
7175
7176
7153 class RegExpStringModificationTest { 7177 class RegExpStringModificationTest {
7154 public: 7178 public:
7155 RegExpStringModificationTest() 7179 RegExpStringModificationTest()
7156 : block_(i::OS::CreateSemaphore(0)), 7180 : block_(i::OS::CreateSemaphore(0)),
7157 morphs_(0), 7181 morphs_(0),
7158 morphs_during_regexp_(0), 7182 morphs_during_regexp_(0),
7159 ascii_resource_(i::Vector<const char>("aaaaaaaaaaaaaab", 15)), 7183 ascii_resource_(i::Vector<const char>("aaaaaaaaaaaaaab", 15)),
7160 uc16_resource_(i::Vector<const uint16_t>(two_byte_content_, 15)) {} 7184 uc16_resource_(i::Vector<const uint16_t>(two_byte_content_, 15)) {}
7161 ~RegExpStringModificationTest() { delete block_; } 7185 ~RegExpStringModificationTest() { delete block_; }
7162 void RunTest() { 7186 void RunTest() {
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
7788 LocalContext context; 7812 LocalContext context;
7789 v8::TryCatch try_catch; 7813 v8::TryCatch try_catch;
7790 const char *source = "function foo() { FAIL.FAIL; }; foo();"; 7814 const char *source = "function foo() { FAIL.FAIL; }; foo();";
7791 v8::Handle<v8::String> src = v8::String::New(source); 7815 v8::Handle<v8::String> src = v8::String::New(source);
7792 v8::Handle<v8::String> origin = v8::String::New("stack-trace-test"); 7816 v8::Handle<v8::String> origin = v8::String::New("stack-trace-test");
7793 v8::Script::New(src, origin)->Run(); 7817 v8::Script::New(src, origin)->Run();
7794 CHECK(try_catch.HasCaught()); 7818 CHECK(try_catch.HasCaught());
7795 v8::String::Utf8Value stack(try_catch.StackTrace()); 7819 v8::String::Utf8Value stack(try_catch.StackTrace());
7796 CHECK(strstr(*stack, "at foo (stack-trace-test") != NULL); 7820 CHECK(strstr(*stack, "at foo (stack-trace-test") != NULL);
7797 } 7821 }
OLDNEW
« no previous file with comments | « src/scanner.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698