| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 22 matching lines...) Expand all  Loading... | 
| 33 #include "src/zone/accounting-allocator.h" | 33 #include "src/zone/accounting-allocator.h" | 
| 34 #include "test/cctest/cctest.h" | 34 #include "test/cctest/cctest.h" | 
| 35 | 35 | 
| 36 using namespace v8::internal; | 36 using namespace v8::internal; | 
| 37 | 37 | 
| 38 TEST(List) { | 38 TEST(List) { | 
| 39   List<AstNode*>* list = new List<AstNode*>(0); | 39   List<AstNode*>* list = new List<AstNode*>(0); | 
| 40   CHECK_EQ(0, list->length()); | 40   CHECK_EQ(0, list->length()); | 
| 41 | 41 | 
| 42   v8::internal::AccountingAllocator allocator; | 42   v8::internal::AccountingAllocator allocator; | 
| 43   Zone zone(&allocator); | 43   Zone zone(&allocator, ZONE_NAME); | 
| 44   AstValueFactory value_factory(&zone, 0); | 44   AstValueFactory value_factory(&zone, 0); | 
| 45   AstNodeFactory factory(&value_factory); | 45   AstNodeFactory factory(&value_factory); | 
| 46   AstNode* node = factory.NewEmptyStatement(kNoSourcePosition); | 46   AstNode* node = factory.NewEmptyStatement(kNoSourcePosition); | 
| 47   list->Add(node); | 47   list->Add(node); | 
| 48   CHECK_EQ(1, list->length()); | 48   CHECK_EQ(1, list->length()); | 
| 49   CHECK_EQ(node, list->at(0)); | 49   CHECK_EQ(node, list->at(0)); | 
| 50   CHECK_EQ(node, list->last()); | 50   CHECK_EQ(node, list->last()); | 
| 51 | 51 | 
| 52   const int kElements = 100; | 52   const int kElements = 100; | 
| 53   for (int i = 0; i < kElements; i++) { | 53   for (int i = 0; i < kElements; i++) { | 
| 54     list->Add(node); | 54     list->Add(node); | 
| 55   } | 55   } | 
| 56   CHECK_EQ(1 + kElements, list->length()); | 56   CHECK_EQ(1 + kElements, list->length()); | 
| 57 | 57 | 
| 58   list->Clear(); | 58   list->Clear(); | 
| 59   CHECK_EQ(0, list->length()); | 59   CHECK_EQ(0, list->length()); | 
| 60   delete list; | 60   delete list; | 
| 61 } | 61 } | 
| 62 | 62 | 
| 63 TEST(ConcatStrings) { | 63 TEST(ConcatStrings) { | 
| 64   v8::internal::AccountingAllocator allocator; | 64   v8::internal::AccountingAllocator allocator; | 
| 65   Zone zone(&allocator); | 65   Zone zone(&allocator, ZONE_NAME); | 
| 66   AstValueFactory value_factory(&zone, 0); | 66   AstValueFactory value_factory(&zone, 0); | 
| 67 | 67 | 
| 68   const AstRawString* one_byte = value_factory.GetOneByteString("a"); | 68   const AstRawString* one_byte = value_factory.GetOneByteString("a"); | 
| 69 | 69 | 
| 70   uint16_t two_byte_buffer[] = { | 70   uint16_t two_byte_buffer[] = { | 
| 71       0x3b1, | 71       0x3b1, | 
| 72   }; | 72   }; | 
| 73   const AstRawString* two_byte = value_factory.GetTwoByteString( | 73   const AstRawString* two_byte = value_factory.GetTwoByteString( | 
| 74       Vector<const uint16_t>(two_byte_buffer, 1)); | 74       Vector<const uint16_t>(two_byte_buffer, 1)); | 
| 75 | 75 | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 92   CHECK(!result->is_one_byte()); | 92   CHECK(!result->is_one_byte()); | 
| 93   CHECK_EQ(expectation, result); | 93   CHECK_EQ(expectation, result); | 
| 94 | 94 | 
| 95   uint16_t expectation_buffer_two_two[] = {0x3b1, 0x3b1}; | 95   uint16_t expectation_buffer_two_two[] = {0x3b1, 0x3b1}; | 
| 96   expectation = value_factory.GetTwoByteString( | 96   expectation = value_factory.GetTwoByteString( | 
| 97       Vector<const uint16_t>(expectation_buffer_two_two, 2)); | 97       Vector<const uint16_t>(expectation_buffer_two_two, 2)); | 
| 98   result = value_factory.ConcatStrings(two_byte, two_byte); | 98   result = value_factory.ConcatStrings(two_byte, two_byte); | 
| 99   CHECK(!result->is_one_byte()); | 99   CHECK(!result->is_one_byte()); | 
| 100   CHECK_EQ(expectation, result); | 100   CHECK_EQ(expectation, result); | 
| 101 } | 101 } | 
| OLD | NEW | 
|---|