branch: elpa/subed
commit b6e08c2e942d7924ba2a9d14c471d0c4ef39453d
Author: Sacha Chua <[email protected]>
Commit: Sacha Chua <[email protected]>
Handle spaces in between VTT subtitles
* tests/test-subed-vtt.el ("VTT"): Add check for spaces between subtitles.
* subed/subed-vtt.el (subed-vtt--jump-to-subtitle-end): Group properly
in case of spaces.
---
subed/subed-vtt.el | 2 +-
tests/test-subed-vtt.el | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/subed/subed-vtt.el b/subed/subed-vtt.el
index f0fd28f..1531e47 100644
--- a/subed/subed-vtt.el
+++ b/subed/subed-vtt.el
@@ -232,7 +232,7 @@ can be found."
;; `subed-vtt--regexp-separator' here because if subtitle text is empty,
;; it may be the only empty line in the separator, i.e. there's only one
;; "\n".
- (let ((regex (concat "\\([[:blank:]]*\n+" subed-vtt--regexp-timestamp
"\\|\\([[:blank:]]*\n*\\)\\'\\)")))
+ (let ((regex (concat "\\([[:blank:]]*\n\\)+\\("
subed-vtt--regexp-timestamp "\\)\\|\\([[:blank:]]*\n*\\)\\'")))
(when (re-search-forward regex nil t)
(goto-char (match-beginning 0))))
(unless (= (point) orig-point)
diff --git a/tests/test-subed-vtt.el b/tests/test-subed-vtt.el
index 04c244c..f1ff487 100644
--- a/tests/test-subed-vtt.el
+++ b/tests/test-subed-vtt.el
@@ -260,6 +260,15 @@ Baz.
(backward-char 2)
(expect (subed-vtt--jump-to-subtitle-end) :to-be 112)
(expect (looking-back "^Baz.$") :to-be t)))
+ (it "handles spaces in between subtitles."
+ (with-temp-vtt-buffer
+ (insert mock-vtt-data)
+ (goto-char (point-min))
+ (re-search-forward "Foo\\.\n")
+ (replace-match "Foo.\n ")
+ (goto-char (point-min))
+ (expect (subed-vtt--jump-to-subtitle-end) :to-be 43)
+ (expect (looking-back "^Foo.$") :to-be t)))
(it "returns nil if subtitle end cannot be found."
(with-temp-vtt-buffer
(expect (subed-vtt--jump-to-subtitle-end) :to-be nil)))