diff options
| Commit | 72d9bbcc3154142af79fb686d9dc7e4d1fa1badb (patch) | |
|---|---|---|
| Author | 2018-11-29 09:13:12 +0200 | |
| Committer | 2018-11-29 09:13:12 +0200 | |
| Files | 3cea4377cba9370f3f2248557f82831d617d89d1 /JSImpl/test | |
| IPL-72d9bbcc3154142af79fb686d9dc7e4d1fa1badb.tar IPL-72d9bbcc3154142af79fb686d9dc7e4d1fa1badb.tar.gz IPL-72d9bbcc3154142af79fb686d9dc7e4d1fa1badb.zip | ||
| Parent | cdfd42d72030a031e5c5d810fcd53441902b5cff (diff) | |
Feature/strings (#75)
* The assembler supports string opcode
* disabled the string test until implmented
* strings can be printed
1 files changed, 44 insertions, 0 deletions
| -rw-r--r-- | JSImpl/test/sprtTests.cpp | 44 |
diff --git a/JSImpl/test/sprtTests.cpp b/JSImpl/test/sprtTests.cpp index a7b9e3b..25b7665 100644 --- a/JSImpl/test/sprtTests.cpp +++ b/JSImpl/test/sprtTests.cpp @@ -379,3 +379,47 @@ TEST_F(SPASMTest, GCD) CompileAndRun(program); ASSERT_EQ(Output.str(), "3"); } + +TEST_F(SPASMTest, StringS) +{ + const char* program = + "push 1" "\n" + "string 1 'the answer is 42'" "\n" + "print 1" "\n" + ; + CompileAndRun(program); + ASSERT_EQ(Output.str(), "the answer is 42"); +} + +TEST_F(SPASMTest, StringD) +{ + const char* program = + "push 1" "\n" + "string 1 'the answer is 42'" "\n" + "print 1" "\n" + ; + CompileAndRun(program); + ASSERT_EQ(Output.str(), "the answer is 42"); +} + +TEST_F(SPASMTest, StringEscapeS) +{ + const char* program = + "push 1" "\n" + "string 1 'the answer\\' is 42'" "\n" + "print 1" "\n" + ; + CompileAndRun(program); + ASSERT_EQ(Output.str(), "the answer\\' is 42"); +} + +TEST_F(SPASMTest, StringEscapeD) +{ + const char* program = + "push 1" "\n" + "string 1 \"the answer\\\" is 42\"" "\n" + "print 1" "\n" + ; + CompileAndRun(program); + ASSERT_EQ(Output.str(), "the answer\\\" is 42"); +} |
