summaryrefslogtreecommitdiffstats
path: root/tests/languages/swift_test.py
blob: e0a8ea4250ec9739fb9bee9e28493f54c7ca9e50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from __future__ import annotations

import sys

import pytest

from pre_commit.languages import swift
from testing.language_helpers import run_language


@pytest.mark.skipif(
    sys.platform == 'win32',
    reason='swift is not supported on windows',
)
def test_swift_language(tmp_path):  # pragma: win32 no cover
    package_swift = '''\
// swift-tools-version:5.0
import PackageDescription

let package = Package(
    name: "swift_hooks_repo",
    targets: [.target(name: "swift_hooks_repo")]
)
'''
    tmp_path.joinpath('Package.swift').write_text(package_swift)
    src_dir = tmp_path.joinpath('Sources/swift_hooks_repo')
    src_dir.mkdir(parents=True)
    src_dir.joinpath('main.swift').write_text('print("Hello, world!")\n')

    expected = (0, b'Hello, world!\n')
    assert run_language(tmp_path, swift, 'swift_hooks_repo') == expected