Added initial array unit tests.

This commit is contained in:
Justin J. Meza 2011-07-01 23:03:17 -07:00
parent c3ded8ddab
commit c4f564ec1f
20 changed files with 156 additions and 1 deletions

View File

@ -3109,7 +3109,6 @@ ReturnObject *interpretDeclarationStmtNode(StmtNode *node,
else
init = createNilValueObject();
if (!init) return NULL;
/** \todo Okay, here is the problem, we can store to a different scope than where we evaluate the target from. So, stmt->target needs to be evaluated under ``scope'' but created in ``dest'' */
if (!createScopeValue(scope, dest, stmt->target)) {
deleteValueObject(init);
return NULL;

View File

@ -0,0 +1,3 @@
HAI 1.3
I HAS A foo ITZ A BUKKIT
KTHXBYE

View File

@ -0,0 +1 @@
This test checks to see whether an array can be simply created.

View File

@ -0,0 +1,5 @@
HAI 1.3
I HAS A foo ITZ A BUKKIT
foo HAS A bar
VISIBLE SUM OF 0 AN NOT foo'Z bar
KTHXBYE

View File

@ -0,0 +1 @@
1

View File

@ -0,0 +1 @@
This test checks that a slot can be allocated and accessed in an array.

View File

@ -0,0 +1,17 @@
HAI 1.3
I HAS A foo ITZ A BUKKIT
foo HAS A var1 ITZ WIN
foo HAS A var2 ITZ FAIL
foo HAS A var3 ITZ -1
foo HAS A var4 ITZ 2
foo HAS A var5 ITZ -3.456
foo HAS A var6 ITZ 6.789
foo HAS A var7 ITZ "abc"
VISIBLE SUM OF 0 AN foo'Z var1
VISIBLE SUM OF 0 AN foo'Z var2
VISIBLE foo'Z var3
VISIBLE foo'Z var4
VISIBLE foo'Z var5
VISIBLE foo'Z var6
VISIBLE foo'Z var7
KTHXBYE

View File

@ -0,0 +1,7 @@
1
0
-1
2
-3.45
6.78
abc

View File

@ -0,0 +1 @@
This test is designed to check that slots can be initialized when declared.

View File

@ -0,0 +1,24 @@
HAI 1.3
I HAS A foo ITZ A BUKKIT
foo HAS A var1
foo HAS A var2
foo HAS A var3
foo HAS A var4
foo HAS A var5
foo HAS A var6
foo HAS A var7
foo'Z var1 R WIN
foo'Z var2 R FAIL
foo'Z var3 R -1
foo'Z var4 R 2
foo'Z var5 R -3.456
foo'Z var6 R 6.789
foo'Z var7 R "abc"
VISIBLE SUM OF 0 AN foo'Z var1
VISIBLE SUM OF 0 AN foo'Z var2
VISIBLE foo'Z var3
VISIBLE foo'Z var4
VISIBLE foo'Z var5
VISIBLE foo'Z var6
VISIBLE foo'Z var7
KTHXBYE

View File

@ -0,0 +1,7 @@
1
0
-1
2
-3.45
6.78
abc

View File

@ -0,0 +1,2 @@
This test is designed to check that array slots can be assigned values after
being declared.

View File

@ -0,0 +1,22 @@
HAI 1.3
HOW IZ I fun1
VISIBLE "a"
IF U SAY SO
HOW IZ I fun2 YR a
VISIBLE "b" AN a
IF U SAY SO
HOW IZ I fun3 YR a AN YR b AN YR c
VISIBLE "c" AN a AN b AN c
IF U SAY SO
I HAS A foo ITZ A BUKKIT
foo HAS A var1 ITZ fun1
foo HAS A var2 ITZ fun2
foo HAS A var3 ITZ fun3
I IZ foo'Z var1 MKAY
I IZ foo'Z var2 YR 1 MKAY
I IZ foo'Z var3 YR 1 AN YR 2.345 AN YR "xyz" MKAY
KTHXBYE

View File

@ -0,0 +1,3 @@
a
b1
c12.34xyz

View File

@ -0,0 +1 @@
This test is designed to check that functions may be stored in array slots.

View File

@ -0,0 +1,17 @@
HAI 1.3
HOW IZ I fun1
FOUND YR "a"
IF U SAY SO
HOW IZ I fun2 YR arg
FOUND YR arg
IF U SAY SO
HOW IZ I fun3 YR arg1 AN YR arg2 AN YR arg3 AN YR arg4 AN YR arg5 AN YR arg6 AN YR arg7 AN YR arg8 AN YR arg9 AN YR arg10
FOUND YR SMOOSH arg1 AN arg2 AN arg3 AN arg4 AN arg5 AN arg6 AN arg7 AN arg8 AN arg9 AN arg10 MKAY
IF U SAY SO
VISIBLE I IZ fun1 MKAY
VISIBLE I IZ fun2 YR "b" MKAY
VISIBLE I IZ fun3 YR "c" AN YR "d" AN YR "e" AN YR "f" AN YR "g" AN YR "h" AN YR "i" AN YR "j" AN YR "k" AN YR "l" MKAY
KTHXBYE

View File

@ -0,0 +1,37 @@
HAI 1.3
I HAS A foo ITZ A BUKKIT
foo HAS A var1 ITZ A BUKKIT
foo HAS A var2 ITZ A BUKKIT
foo HAS A var3 ITZ A BUKKIT
HOW IZ foo fun1
VISIBLE "a"
IF U SAY SO
HOW IZ foo fun2 YR a
VISIBLE "b" AN a
IF U SAY SO
HOW IZ foo fun3 YR a AN YR b AN YR c
VISIBLE "c" AN a AN b AN c
IF U SAY SO
HOW IZ foo'Z var1 fun1
VISIBLE "i"
IF U SAY SO
HOW IZ foo'Z var1 fun2 YR a
VISIBLE "j" AN a
IF U SAY SO
HOW IZ foo'Z var1 fun3 YR a AN YR b AN YR c
VISIBLE "k" AN a AN b AN c
IF U SAY SO
I IZ foo'Z fun1 MKAY
I IZ foo'Z fun2 YR 1 MKAY
I IZ foo'Z fun3 YR 1 AN YR 2.345 AN YR "xyz" MKAY
I IZ foo'Z var1'Z fun1 MKAY
I IZ foo'Z var1'Z fun2 YR 1 MKAY
I IZ foo'Z var1'Z fun3 YR 1 AN YR 2.345 AN YR "xyz" MKAY
KTHXBYE

View File

@ -0,0 +1,6 @@
a
b1
c12.34xyz
i
j1
k12.34xyz

View File

@ -0,0 +1 @@
This test checks that a function can be declared in an array slot.