test swift language directly

This commit is contained in:
Anthony Sottile 2023-01-16 17:10:58 -05:00
parent a26b631aae
commit c36f03cd2e
7 changed files with 31 additions and 32 deletions

View file

@ -0,0 +1,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