-
-
Notifications
You must be signed in to change notification settings - Fork 954
Expand file tree
/
Copy pathswift_test.py
More file actions
31 lines (24 loc) · 846 Bytes
/
swift_test.py
File metadata and controls
31 lines (24 loc) · 846 Bytes
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