import lldb
from lldbsuite.test.lldbtest import *
from lldbsuite.test.decorators import *


class AproposTestCase(TestBase):
    @no_debug_info_test
    def test_apropos(self):
        self.expect(
            "apropos", error=True, substrs=[" must be called with exactly one argument"]
        )
        self.expect(
            "apropos a b",
            error=True,
            substrs=[" must be called with exactly one argument"],
        )
        self.expect("apropos ''", error=True, substrs=["'' is not a valid search word"])

    @no_debug_info_test
    def test_apropos_variable(self):
        """Test that 'apropos variable' prints the fully qualified command name"""
        self.expect(
            "apropos variable",
            substrs=["frame variable", "target variable", "watchpoint set variable"],
        )
