[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/subed 7a3eed2acf 14/22: New function subed-subtitle-list r
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/subed 7a3eed2acf 14/22: New function subed-subtitle-list returns list |
Date: |
Tue, 1 Feb 2022 14:06:11 -0500 (EST) |
branch: elpa/subed
commit 7a3eed2acf49315cff06b6663a639cbb9c7ddb4b
Author: Sacha Chua <sacha@sachachua.com>
Commit: Sacha Chua <sacha@sachachua.com>
New function subed-subtitle-list returns list
* subed/subed-common.el (subtitle-list): New function returns a list
of subtitles.
* tests/test-subed-common.el ("Getting a list of subtitles"): Add tests.
---
subed/subed-common.el | 20 ++++++++++++++++++++
tests/test-subed-common.el | 21 +++++++++++++++++++++
2 files changed, 41 insertions(+)
diff --git a/subed/subed-common.el b/subed/subed-common.el
index da6db32bf6..68aab6fae1 100644
--- a/subed/subed-common.el
+++ b/subed/subed-common.el
@@ -304,6 +304,26 @@ Return new point."
end (save-excursion (goto-char (point-max)))))
(delete-region beg end)))
+(subed-define-generic-function subtitle-list (&optional beg end)
+ "Return the subtitles from BEG to END as a list.
+The list will contain entries of the form (id start stop text).
+If BEG and END are not specified, use the whole buffer."
+ (let (result)
+ (subed-for-each-subtitle
+ (or beg (point-min))
+ (or end (point-max))
+ nil
+ (when (subed-subtitle-msecs-start)
+ (setq result
+ (cons
+ (list
+ (subed-subtitle-id)
+ (subed-subtitle-msecs-start)
+ (subed-subtitle-msecs-stop)
+ (subed-subtitle-text))
+ result))))
+ (nreverse result)))
+
(subed-define-generic-function sanitize ()
"Remove surplus newlines and whitespace.")
diff --git a/tests/test-subed-common.el b/tests/test-subed-common.el
index dc09f02c4a..491de99ccf 100644
--- a/tests/test-subed-common.el
+++ b/tests/test-subed-common.el
@@ -3109,4 +3109,25 @@ This is another.
(subed-srt-mode)
(expect subed--subtitle-format :to-equal "srt")
(expect 'subed-trim-overlap-check :to-have-been-called))))))
+ (describe "Getting a list of subtitles"
+ (it "returns nil in an empty buffer."
+ (with-temp-srt-buffer
+ (expect (subed-subtitle-list) :to-equal nil)))
+ (it "returns the list."
+ (with-temp-srt-buffer
+ (insert mock-srt-data)
+ (expect (subed-subtitle-list) :to-equal
+ '((1 61000 65123 "Foo.")
+ (2 122234 130345 "Bar.")
+ (3 183450 195500 "Baz.")))))
+ (it "returns a subset when bounds are specified."
+ (with-temp-srt-buffer
+ (insert mock-srt-data)
+ (subed-jump-to-subtitle-id 3)
+ (backward-char 1)
+ (expect (subed-subtitle-list (point-min) (point))
+ :to-equal
+ '((1 61000 65123 "Foo.")
+ (2 122234 130345 "Bar.")))))
+ )
)
- [nongnu] elpa/subed updated (f69c3e09f2 -> 3e99c6cb6f), ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed 8120fb429f 04/22: Use defalias for non-interactive functions, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed 7a3eed2acf 14/22: New function subed-subtitle-list returns list,
ELPA Syncer <=
- [nongnu] elpa/subed 8a9b219706 01/22: Create derived modes for the different types of subtitles., ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed 0264eb4ef1 08/22: Bump version to 0.1.0 and add missing undercover-init.el, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed a0d633d7ac 09/22: Fix spaces in Makefile, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed 4cab871f58 03/22: Add undercover support for coverage testing, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed 3c7ac78393 12/22: Define jump-to-subtitle-text-at-msecs, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed f1f8e2ad56 13/22: Bugfixes to make VTT editing work, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed d6b46496f8 11/22: Fix save hook name, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed e1b24bff31 05/22: Remove duplicate functions, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed 5c4ac92ddc 07/22: Add NEWS.org file, ELPA Syncer, 2022/02/01
- [nongnu] elpa/subed f3b48e319e 16/22: Use function instead of quote in subed-define-generic-function, ELPA Syncer, 2022/02/01