mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-19 09:04:41 +04:00
commit
6014ebd2e7
5 changed files with 62 additions and 60 deletions
|
|
@ -1,4 +0,0 @@
|
||||||
- id: hello-world-dart
|
|
||||||
name: hello world dart
|
|
||||||
entry: hello-world-dart
|
|
||||||
language: dart
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
import 'package:ansicolor/ansicolor.dart';
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
AnsiPen pen = new AnsiPen()..red();
|
|
||||||
print("hello hello " + pen("world"));
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
environment:
|
|
||||||
sdk: '>=2.10.0 <3.0.0'
|
|
||||||
|
|
||||||
name: hello_world_dart
|
|
||||||
|
|
||||||
executables:
|
|
||||||
hello-world-dart:
|
|
||||||
|
|
||||||
dependencies:
|
|
||||||
ansicolor: ^2.0.1
|
|
||||||
62
tests/languages/dart_test.py
Normal file
62
tests/languages/dart_test.py
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import re_assert
|
||||||
|
|
||||||
|
from pre_commit.languages import dart
|
||||||
|
from pre_commit.store import _make_local_repo
|
||||||
|
from testing.language_helpers import run_language
|
||||||
|
|
||||||
|
|
||||||
|
def test_dart(tmp_path):
|
||||||
|
pubspec_yaml = '''\
|
||||||
|
environment:
|
||||||
|
sdk: '>=2.10.0 <3.0.0'
|
||||||
|
|
||||||
|
name: hello_world_dart
|
||||||
|
|
||||||
|
executables:
|
||||||
|
hello-world-dart:
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
ansicolor: ^2.0.1
|
||||||
|
'''
|
||||||
|
hello_world_dart_dart = '''\
|
||||||
|
import 'package:ansicolor/ansicolor.dart';
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
AnsiPen pen = new AnsiPen()..red();
|
||||||
|
print("hello hello " + pen("world"));
|
||||||
|
}
|
||||||
|
'''
|
||||||
|
tmp_path.joinpath('pubspec.yaml').write_text(pubspec_yaml)
|
||||||
|
bin_dir = tmp_path.joinpath('bin')
|
||||||
|
bin_dir.mkdir()
|
||||||
|
bin_dir.joinpath('hello-world-dart.dart').write_text(hello_world_dart_dart)
|
||||||
|
|
||||||
|
expected = (0, b'hello hello world\n')
|
||||||
|
assert run_language(tmp_path, dart, 'hello-world-dart') == expected
|
||||||
|
|
||||||
|
|
||||||
|
def test_dart_additional_deps(tmp_path):
|
||||||
|
_make_local_repo(str(tmp_path))
|
||||||
|
|
||||||
|
ret = run_language(
|
||||||
|
tmp_path,
|
||||||
|
dart,
|
||||||
|
'hello-world-dart',
|
||||||
|
deps=('hello_world_dart',),
|
||||||
|
)
|
||||||
|
assert ret == (0, b'hello hello world\n')
|
||||||
|
|
||||||
|
|
||||||
|
def test_dart_additional_deps_versioned(tmp_path):
|
||||||
|
_make_local_repo(str(tmp_path))
|
||||||
|
|
||||||
|
ret, out = run_language(
|
||||||
|
tmp_path,
|
||||||
|
dart,
|
||||||
|
'secure-random -l 4 -b 16',
|
||||||
|
deps=('encrypt:5.0.0',),
|
||||||
|
)
|
||||||
|
assert ret == 0
|
||||||
|
re_assert.Matches('^[a-f0-9]{8}\n$').assert_matches(out.decode())
|
||||||
|
|
@ -997,46 +997,6 @@ def test_dotnet_hook(tempdir_factory, store, repo):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_dart_hook(tempdir_factory, store):
|
|
||||||
_test_hook_repo(
|
|
||||||
tempdir_factory, store, 'dart_repo',
|
|
||||||
'hello-world-dart', [], b'hello hello world\n',
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_local_dart_additional_dependencies(store):
|
|
||||||
config = {
|
|
||||||
'repo': 'local',
|
|
||||||
'hooks': [{
|
|
||||||
'id': 'local-dart',
|
|
||||||
'name': 'local-dart',
|
|
||||||
'entry': 'hello-world-dart',
|
|
||||||
'language': 'dart',
|
|
||||||
'additional_dependencies': ['hello_world_dart'],
|
|
||||||
}],
|
|
||||||
}
|
|
||||||
hook = _get_hook(config, store, 'local-dart')
|
|
||||||
ret, out = _hook_run(hook, (), color=False)
|
|
||||||
assert (ret, _norm_out(out)) == (0, b'hello hello world\n')
|
|
||||||
|
|
||||||
|
|
||||||
def test_local_dart_additional_dependencies_versioned(store):
|
|
||||||
config = {
|
|
||||||
'repo': 'local',
|
|
||||||
'hooks': [{
|
|
||||||
'id': 'local-dart',
|
|
||||||
'name': 'local-dart',
|
|
||||||
'entry': 'secure-random -l 4 -b 16',
|
|
||||||
'language': 'dart',
|
|
||||||
'additional_dependencies': ['encrypt:5.0.0'],
|
|
||||||
}],
|
|
||||||
}
|
|
||||||
hook = _get_hook(config, store, 'local-dart')
|
|
||||||
ret, out = _hook_run(hook, (), color=False)
|
|
||||||
assert ret == 0
|
|
||||||
re_assert.Matches('^[a-f0-9]{8}\r?\n$').assert_matches(out.decode())
|
|
||||||
|
|
||||||
|
|
||||||
def test_non_installable_hook_error_for_language_version(store, caplog):
|
def test_non_installable_hook_error_for_language_version(store, caplog):
|
||||||
config = {
|
config = {
|
||||||
'repo': 'local',
|
'repo': 'local',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue