diff options
| author | 2023-03-31 07:24:57 -0400 | |
|---|---|---|
| committer | 2023-03-31 07:24:57 -0400 | |
| commit | 09e426350409d45e7f7a8ff369f8d8aa9eec0fe4 (patch) | |
| tree | 8a8cd3e590675fe6ecb1e5c2b4ad9eecde3dde6d /test/test_job.py | |
| parent | 10987f08f8b6c510ba64f4b42d95ba67eec6e5b0 (diff) | |
New upstream version 1.25.1.upstream/1.25.1
Diffstat (limited to 'test/test_job.py')
| -rw-r--r-- | test/test_job.py | 61 |
1 files changed, 50 insertions, 11 deletions
diff --git a/test/test_job.py b/test/test_job.py index 1bd9ccc..a6e093f 100644 --- a/test/test_job.py +++ b/test/test_job.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# Copyright 2021 Mike Fährmann +# Copyright 2021-2023 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -66,17 +66,36 @@ class TestKeywordJob(TestJob): jobclass = job.KeywordJob def test_default(self): - extr = TestExtractor.from_url("test:") + self.maxDiff = None + extr = TestExtractor.from_url("test:self") self.assertEqual(self._capture_stdout(extr), """\ Keywords for directory names: ----------------------------- +author['id'] + 123 +author['name'] + test +author['self'] + <circular reference> category test_category subcategory test_subcategory +user['id'] + 123 +user['name'] + test +user['self'] + <circular reference> Keywords for filenames and --filter: ------------------------------------ +author['id'] + 123 +author['name'] + test +author['self'] + <circular reference> category test_category extension @@ -91,10 +110,12 @@ tags[N] 0 foo 1 bar 2 テスト -user[id] +user['id'] 123 -user[name] +user['name'] test +user['self'] + <circular reference> """) @@ -209,6 +230,7 @@ class TestDataJob(TestJob): def test_default(self): extr = TestExtractor.from_url("test:") tjob = self.jobclass(extr, file=io.StringIO()) + user = {"id": 123, "name": "test"} tjob.run() @@ -216,6 +238,8 @@ class TestDataJob(TestJob): (Message.Directory, { "category" : "test_category", "subcategory": "test_subcategory", + "user" : user, + "author" : user, }), (Message.Url, "https://example.org/1.jpg", { "category" : "test_category", @@ -224,7 +248,8 @@ class TestDataJob(TestJob): "extension" : "jpg", "num" : 1, "tags" : ["foo", "bar", "テスト"], - "user" : {"id": 123, "name": "test"}, + "user" : user, + "author" : user, }), (Message.Url, "https://example.org/2.jpg", { "category" : "test_category", @@ -233,7 +258,8 @@ class TestDataJob(TestJob): "extension" : "jpg", "num" : 2, "tags" : ["foo", "bar", "テスト"], - "user" : {"id": 123, "name": "test"}, + "user" : user, + "author" : user, }), (Message.Url, "https://example.org/3.jpg", { "category" : "test_category", @@ -242,7 +268,8 @@ class TestDataJob(TestJob): "extension" : "jpg", "num" : 3, "tags" : ["foo", "bar", "テスト"], - "user" : {"id": 123, "name": "test"}, + "user" : user, + "author" : user, }), ]) @@ -316,7 +343,7 @@ class TestDataJob(TestJob): config.set(("output",), "num-to-str", True) with patch("gallery_dl.util.number_to_string") as nts: tjob.run() - self.assertEqual(len(nts.call_args_list), 52) + self.assertEqual(len(nts.call_args_list), 72) tjob.run() self.assertEqual(tjob.data[-1][0], Message.Url) @@ -328,18 +355,30 @@ class TestExtractor(Extractor): subcategory = "test_subcategory" directory_fmt = ("{category}",) filename_fmt = "test_{filename}.{extension}" - pattern = r"test:(child)?$" + pattern = r"test:(child|self)?$" + + def __init__(self, match): + Extractor.__init__(self, match) + self.user = {"id": 123, "name": "test"} + if match.group(1) == "self": + self.user["self"] = self.user def items(self): root = "https://example.org" + user = self.user + + yield Message.Directory, { + "user": user, + "author": user, + } - yield Message.Directory, {} for i in range(1, 4): url = "{}/{}.jpg".format(root, i) yield Message.Url, url, text.nameext_from_url(url, { "num" : i, "tags": ["foo", "bar", "テスト"], - "user": {"id": 123, "name": "test"}, + "user": user, + "author": user, "_fallback": ("{}/alt/{}.jpg".format(root, i),), }) |
