| // Copyright 2020 The Fuchsia Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include "src/developer/shell/console/command.h" | |
| #include <gmock/gmock.h> | |
| #include <gtest/gtest.h> | |
| namespace shell::console { | |
| TEST(Command, ParseEmpty) { | |
| Command command; | |
| EXPECT_TRUE(command.Parse("")); | |
| } | |
| TEST(Command, ParseSimpleVarDecls) { | |
| Command command; | |
| EXPECT_TRUE(command.Parse("var i = 0")); | |
| EXPECT_TRUE(command.Parse("const i = 0")); | |
| EXPECT_TRUE(command.Parse("var i = 1_000")); | |
| EXPECT_TRUE(command.Parse("const i = 123_123")); | |
| EXPECT_FALSE(command.Parse("vari i = 0")); | |
| EXPECT_FALSE(command.Parse("smrzh")); | |
| EXPECT_FALSE(command.Parse("var i = 0_0")); | |
| } | |
| TEST(Command, ParseObjectVarDecls) { | |
| Command command; | |
| EXPECT_TRUE(command.Parse("var i = {}")); | |
| EXPECT_TRUE(command.Parse("const i = { }")); | |
| EXPECT_TRUE(command.Parse("var i = {a: 1}")); | |
| EXPECT_TRUE(command.Parse("const i = {a:1,}")); | |
| EXPECT_TRUE(command.Parse("var i = {a: 1, b : 2}")); | |
| EXPECT_TRUE(command.Parse("const i = {a:1,b:2,}")); | |
| EXPECT_FALSE(command.Parse("var i = {")); | |
| EXPECT_FALSE(command.Parse("var i = { a }")); | |
| EXPECT_FALSE(command.Parse("var i = { a,, }")); | |
| } | |
| } // namespace shell::console |