summaryrefslogtreecommitdiffstats
path: root/tests/repository_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/repository_test.py')
-rw-r--r--tests/repository_test.py43
1 files changed, 42 insertions, 1 deletions
diff --git a/tests/repository_test.py b/tests/repository_test.py
index af829c2..4121fed 100644
--- a/tests/repository_test.py
+++ b/tests/repository_test.py
@@ -1002,6 +1002,7 @@ def test_manifest_hooks(tempdir_factory, store):
stages=(
'commit', 'merge-commit', 'prepare-commit-msg', 'commit-msg',
'post-commit', 'manual', 'post-checkout', 'push', 'post-merge',
+ 'post-rewrite',
),
types=['file'],
types_or=[],
@@ -1043,10 +1044,50 @@ def test_local_perl_additional_dependencies(store):
def test_dotnet_hook(tempdir_factory, store, repo):
_test_hook_repo(
tempdir_factory, store, repo,
- 'dotnet example hook', [], b'Hello from dotnet!\n',
+ 'dotnet-example-hook', [], b'Hello from dotnet!\n',
)
+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):
config = {
'repo': 'local',