Address feedback, add tests

This commit is contained in:
Vitalii Elenhaupt 2023-02-07 17:19:04 +02:00
parent 14a9ec3a75
commit 6b2ddcb1d9
No known key found for this signature in database
GPG key ID: CD0BF17825928BC0
3 changed files with 35 additions and 11 deletions

View file

@ -0,0 +1,30 @@
require "../../../spec_helper"
module Ameba::AST
describe TypeDecVariable do
var = Crystal::Var.new("foo")
declared_type = Crystal::Path.new("String")
type_dec = Crystal::TypeDeclaration.new(var, declared_type)
describe "#initialize" do
it "creates a new type dec variable" do
variable = TypeDecVariable.new(type_dec)
variable.node.should_not be_nil
end
end
describe "#name" do
it "returns var name" do
variable = TypeDecVariable.new(type_dec)
variable.name.should eq var.name
end
it "raises if type declaration is incorrect" do
type_dec = Crystal::TypeDeclaration.new(declared_type, declared_type)
expect_raises(Exception, "unsupported var node type: Crystal::Path") do
TypeDecVariable.new(type_dec).name
end
end
end
end
end