branch: elpa/subed commit b6e08c2e942d7924ba2a9d14c471d0c4ef39453d Author: Sacha Chua <sa...@sachachua.com> Commit: Sacha Chua <sa...@sachachua.com>
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)))