Example #1
0
def generate_diff(
    file_path1: str,
    file_path2: str,
    format_name: str = 'stylish',
) -> str:
    """Построение разницы содержимого двух файлов.

    Args:
        file_path1: путь до первого файла
        file_path2: путь до второго файла
        format_name: формат вывода

    Returns:
        отформатированный дифф
    """
    file1_data = get_file_data(file_path1)
    file2_data = get_file_data(file_path2)
    diff = make_diff(file1_data, file2_data)

    if format_name == 'plain':
        return plain.formatter(diff)
    elif format_name == 'json':
        return json_formatter.formatter(diff)
    return stylish.formatter(diff)
def test_yaml_null_second(
    file1_plain_yaml,
    answer_stylish_plain_null_second,
):
    formatted_diff = formatter(make_diff(file1_plain_yaml, {}))
    assert formatted_diff == answer_stylish_plain_null_second
def test_json_null_both():
    assert formatter(make_diff({}, {})) == '{\n\n}'
def test_yaml_null_first(
    file2_plain_yaml,
    answer_stylish_plain_null_first,
):
    formatted_diff = formatter(make_diff({}, file2_plain_yaml))
    assert formatted_diff == answer_stylish_plain_null_first