@@ -173,6 +173,49 @@ TEST_F(CompilerTest, AddConstValue)
173173 compile (m_compiler.get (), block);
174174}
175175
176+ TEST_F (CompilerTest, AddStringChar)
177+ {
178+
179+ auto block = std::make_shared<Block>(" " , " " );
180+
181+ block->setCompileFunction ([](Compiler *compiler) -> CompilerValue * {
182+ CompilerValue arg1 (Compiler::StaticType::Unknown);
183+ CompilerValue arg2 (Compiler::StaticType::Unknown);
184+ CompilerValue ret (Compiler::StaticType::Unknown);
185+
186+ EXPECT_CALL (*m_builder, addStringChar (&arg1, &arg2)).WillOnce (Return (&ret));
187+ EXPECT_EQ (compiler->addStringChar (&arg1, &arg2), &ret);
188+
189+ EXPECT_CALL (*m_builder, addStringChar (&arg1, &arg2)).WillOnce (Return (nullptr ));
190+ EXPECT_EQ (compiler->addStringChar (&arg1, &arg2), nullptr );
191+
192+ return nullptr ;
193+ });
194+
195+ compile (m_compiler.get (), block);
196+ }
197+
198+ TEST_F (CompilerTest, AddStringLength)
199+ {
200+
201+ auto block = std::make_shared<Block>(" " , " " );
202+
203+ block->setCompileFunction ([](Compiler *compiler) -> CompilerValue * {
204+ CompilerValue arg (Compiler::StaticType::Unknown);
205+ CompilerValue ret (Compiler::StaticType::Unknown);
206+
207+ EXPECT_CALL (*m_builder, addStringLength (&arg)).WillOnce (Return (&ret));
208+ EXPECT_EQ (compiler->addStringLength (&arg), &ret);
209+
210+ EXPECT_CALL (*m_builder, addStringLength (&arg)).WillOnce (Return (nullptr ));
211+ EXPECT_EQ (compiler->addStringLength (&arg), nullptr );
212+
213+ return nullptr ;
214+ });
215+
216+ compile (m_compiler.get (), block);
217+ }
218+
176219TEST_F (CompilerTest, AddLoopIndex)
177220{
178221
@@ -957,6 +1000,24 @@ TEST_F(CompilerTest, CreateExp10)
9571000 compile (m_compiler.get (), block);
9581001}
9591002
1003+ TEST_F (CompilerTest, CreateStringConcat)
1004+ {
1005+
1006+ auto block = std::make_shared<Block>(" " , " " );
1007+
1008+ block->setCompileFunction ([](Compiler *compiler) -> CompilerValue * {
1009+ CompilerValue arg1 (Compiler::StaticType::Unknown);
1010+ CompilerValue arg2 (Compiler::StaticType::Unknown);
1011+ CompilerValue ret (Compiler::StaticType::Unknown);
1012+ EXPECT_CALL (*m_builder, createStringConcat (&arg1, &arg2)).WillOnce (Return (&ret));
1013+ EXPECT_EQ (compiler->createStringConcat (&arg1, &arg2), &ret);
1014+
1015+ return nullptr ;
1016+ });
1017+
1018+ compile (m_compiler.get (), block);
1019+ }
1020+
9601021TEST_F (CompilerTest, CreateSelect)
9611022{
9621023
0 commit comments