OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium 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 "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
6 #include "tools/gn/input_file.h" | 6 #include "tools/gn/input_file.h" |
7 #include "tools/gn/token.h" | 7 #include "tools/gn/token.h" |
8 #include "tools/gn/tokenizer.h" | 8 #include "tools/gn/tokenizer.h" |
9 | 9 |
10 namespace { | 10 namespace { |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 { Token::MINUS_EQUALS, "-=" }, | 92 { Token::MINUS_EQUALS, "-=" }, |
93 { Token::NOT_EQUAL, "!=" }, | 93 { Token::NOT_EQUAL, "!=" }, |
94 { Token::EQUAL_EQUAL, "==" }, | 94 { Token::EQUAL_EQUAL, "==" }, |
95 { Token::LESS_THAN, "<" }, | 95 { Token::LESS_THAN, "<" }, |
96 { Token::GREATER_THAN, ">" }, | 96 { Token::GREATER_THAN, ">" }, |
97 { Token::LESS_EQUAL, "<=" }, | 97 { Token::LESS_EQUAL, "<=" }, |
98 { Token::GREATER_EQUAL, ">=" }, | 98 { Token::GREATER_EQUAL, ">=" }, |
99 { Token::BANG, "!" }, | 99 { Token::BANG, "!" }, |
100 { Token::BOOLEAN_OR, "||" }, | 100 { Token::BOOLEAN_OR, "||" }, |
101 { Token::BOOLEAN_AND, "&&" }, | 101 { Token::BOOLEAN_AND, "&&" }, |
| 102 { Token::DOT, "." }, |
| 103 { Token::COMMA, "," }, |
102 }; | 104 }; |
103 EXPECT_TRUE(CheckTokenizer("- + = += -= != == < > <= >= ! || &&", | 105 EXPECT_TRUE(CheckTokenizer("- + = += -= != == < > <= >= ! || && . ,", |
104 operators)); | 106 operators)); |
105 } | 107 } |
106 | 108 |
107 TEST(Tokenizer, Scoper) { | 109 TEST(Tokenizer, Scoper) { |
108 TokenExpectation scopers[] = { | 110 TokenExpectation scopers[] = { |
109 { Token::LEFT_BRACE, "{" }, | 111 { Token::LEFT_BRACE, "{" }, |
110 { Token::LEFT_BRACKET, "[" }, | 112 { Token::LEFT_BRACKET, "[" }, |
111 { Token::RIGHT_BRACKET, "]" }, | 113 { Token::RIGHT_BRACKET, "]" }, |
112 { Token::RIGHT_BRACE, "}" }, | 114 { Token::RIGHT_BRACE, "}" }, |
113 { Token::LEFT_PAREN, "(" }, | 115 { Token::LEFT_PAREN, "(" }, |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 EXPECT_EQ('x', input1[Tokenizer::ByteOffsetOfNthLine(input1, 2)]); | 166 EXPECT_EQ('x', input1[Tokenizer::ByteOffsetOfNthLine(input1, 2)]); |
165 EXPECT_EQ('y', input1[Tokenizer::ByteOffsetOfNthLine(input1, 4)]); | 167 EXPECT_EQ('y', input1[Tokenizer::ByteOffsetOfNthLine(input1, 4)]); |
166 | 168 |
167 char input2[3]; | 169 char input2[3]; |
168 input2[0] = 'a'; | 170 input2[0] = 'a'; |
169 input2[1] = '\n'; // Manually set to avoid Windows double-byte endings. | 171 input2[1] = '\n'; // Manually set to avoid Windows double-byte endings. |
170 input2[2] = 0; | 172 input2[2] = 0; |
171 EXPECT_EQ(0u, Tokenizer::ByteOffsetOfNthLine(input2, 1)); | 173 EXPECT_EQ(0u, Tokenizer::ByteOffsetOfNthLine(input2, 1)); |
172 EXPECT_EQ(2u, Tokenizer::ByteOffsetOfNthLine(input2, 2)); | 174 EXPECT_EQ(2u, Tokenizer::ByteOffsetOfNthLine(input2, 2)); |
173 } | 175 } |
OLD | NEW |