|
@@ -32,7 +32,7 @@ RSpec.describe Lexer do
|
32
|
32
|
end
|
33
|
33
|
|
34
|
34
|
it 'lexes operators' do
|
35
|
|
- expect(Lexer.new('+-*/<<=>>===# and or not').scan_all).to eq(
|
|
35
|
+ expect(Lexer.new('+-*/<<=>>=== and or not').scan_all).to eq(
|
36
|
36
|
[
|
37
|
37
|
Token.new(TokenKinds::OPERATOR, :+),
|
38
|
38
|
Token.new(TokenKinds::OPERATOR, :-),
|
|
@@ -43,7 +43,6 @@ RSpec.describe Lexer do
|
43
|
43
|
Token.new(TokenKinds::OPERATOR, :>),
|
44
|
44
|
Token.new(TokenKinds::OPERATOR, :>=),
|
45
|
45
|
Token.new(TokenKinds::OPERATOR, :==),
|
46
|
|
- Token.new(TokenKinds::OPERATOR, :'#'),
|
47
|
46
|
Token.new(TokenKinds::OPERATOR, :and),
|
48
|
47
|
Token.new(TokenKinds::OPERATOR, :or),
|
49
|
48
|
Token.new(TokenKinds::OPERATOR, :not),
|
|
@@ -179,4 +178,13 @@ RSpec.describe Lexer do
|
179
|
178
|
]
|
180
|
179
|
)
|
181
|
180
|
end
|
|
181
|
+
|
|
182
|
+ it 'lexes hashes' do
|
|
183
|
+ expect(Lexer.new("#").scan_all).to eq(
|
|
184
|
+ [
|
|
185
|
+ Token.new(TokenKinds::HASH),
|
|
186
|
+ Token.new(TokenKinds::EOF)
|
|
187
|
+ ]
|
|
188
|
+ )
|
|
189
|
+ end
|
182
|
190
|
end
|