#!/usr/bin/env python

import mozunit


def test_escape_command_line(mock_adb_object, redirect_stdout_and_assert):
    """Test _escape_command_line."""
    cases = {
        # expected output : test input
        "adb shell ls -l": ["adb", "shell", "ls", "-l"],
        "adb shell 'ls -l'": ["adb", "shell", "ls -l"],
        "-e 'if (true)'": ["-e", "if (true)"],
        "-e 'if (x === \"hello\")'": ["-e", 'if (x === "hello")'],
        "-e 'if (x === '\"'\"'hello'\"'\"')'": ["-e", "if (x === 'hello')"],
    }
    for expected, input in cases.items():
        assert mock_adb_object._escape_command_line(input) == expected


if __name__ == "__main__":
    mozunit.main()
