32 lines
846 B
Python
32 lines
846 B
Python
|
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
|