mirror of
https://github.com/MorizzG/rlox.git
synced 2025-12-06 04:12:42 +00:00
added tests
This commit is contained in:
parent
1cca1494a4
commit
660464638f
255 changed files with 7220 additions and 3 deletions
3
interpreter/tests/lox/class/empty.lox
Normal file
3
interpreter/tests/lox/class/empty.lox
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
class Foo {}
|
||||
|
||||
print Foo; // expect: Foo
|
||||
1
interpreter/tests/lox/class/inherit_self.lox
Normal file
1
interpreter/tests/lox/class/inherit_self.lox
Normal file
|
|
@ -0,0 +1 @@
|
|||
class Foo < Foo {} // Error at 'Foo': A class can't inherit from itself.
|
||||
22
interpreter/tests/lox/class/inherited_method.lox
Normal file
22
interpreter/tests/lox/class/inherited_method.lox
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
class Foo {
|
||||
inFoo() {
|
||||
print "in foo";
|
||||
}
|
||||
}
|
||||
|
||||
class Bar < Foo {
|
||||
inBar() {
|
||||
print "in bar";
|
||||
}
|
||||
}
|
||||
|
||||
class Baz < Bar {
|
||||
inBaz() {
|
||||
print "in baz";
|
||||
}
|
||||
}
|
||||
|
||||
var baz = Baz();
|
||||
baz.inFoo(); // expect: in foo
|
||||
baz.inBar(); // expect: in bar
|
||||
baz.inBaz(); // expect: in baz
|
||||
8
interpreter/tests/lox/class/local_inherit_other.lox
Normal file
8
interpreter/tests/lox/class/local_inherit_other.lox
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
class A {}
|
||||
|
||||
fun f() {
|
||||
class B < A {}
|
||||
return B;
|
||||
}
|
||||
|
||||
print f(); // expect: B
|
||||
4
interpreter/tests/lox/class/local_inherit_self.lox
Normal file
4
interpreter/tests/lox/class/local_inherit_self.lox
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
class Foo < Foo {} // Error at 'Foo': A class can't inherit from itself.
|
||||
}
|
||||
// [c line 5] Error at end: Expect '}' after block.
|
||||
9
interpreter/tests/lox/class/local_reference_self.lox
Normal file
9
interpreter/tests/lox/class/local_reference_self.lox
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
class Foo {
|
||||
returnSelf() {
|
||||
return Foo;
|
||||
}
|
||||
}
|
||||
|
||||
print Foo().returnSelf(); // expect: Foo
|
||||
}
|
||||
7
interpreter/tests/lox/class/reference_self.lox
Normal file
7
interpreter/tests/lox/class/reference_self.lox
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
class Foo {
|
||||
returnSelf() {
|
||||
return Foo;
|
||||
}
|
||||
}
|
||||
|
||||
print Foo().returnSelf(); // expect: Foo
|
||||
Loading…
Add table
Add a link
Reference in a new issue