[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/subed 7665826 248/389: Add tests for copying player positi
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/subed 7665826 248/389: Add tests for copying player position to start/stop time |
Date: |
Fri, 3 Dec 2021 11:00:35 -0500 (EST) |
branch: elpa/subed
commit 76658266b512a7e2dfc2afdc25489978248fbe7e
Author: Random User <rndusr@posteo.de>
Commit: Random User <rndusr@posteo.de>
Add tests for copying player position to start/stop time
---
tests/test-subed.el | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/tests/test-subed.el b/tests/test-subed.el
index b98209f..2b37bde 100644
--- a/tests/test-subed.el
+++ b/tests/test-subed.el
@@ -353,6 +353,65 @@
(expect (buffer-string) :to-equal "foo")))
)
+(describe "Copy start/stop time from player"
+ :var (subed-mpv-playback-position)
+ (it "does nothing in an empty buffer."
+ (with-temp-buffer
+ (let ((subed-mpv-playback-position 12345))
+ (expect (subed-copy-player-pos-to-start-time) :to-be nil)
+ (expect (subed-copy-player-pos-to-stop-time) :to-be nil)
+ (expect (buffer-string) :to-equal ""))))
+ (it "does nothing if player position is unknown."
+ (with-temp-buffer
+ (insert (concat "1\n"
+ "00:00:01,000 --> 00:00:02,000\n"
+ "Foo.\n"))
+ (let ((subed-mpv-playback-position nil))
+ (expect (subed-copy-player-pos-to-start-time) :to-be nil)
+ (expect (subed-copy-player-pos-to-stop-time) :to-be nil)
+ (expect (buffer-string) :to-equal (concat "1\n"
+ "00:00:01,000 -->
00:00:02,000\n"
+ "Foo.\n")))))
+ (it "sets start/stop time when possible."
+ (with-temp-buffer
+ (insert (concat "1\n"
+ "00:00:01,000 --> 00:00:02,000\n"
+ "Foo.\n"))
+ (let ((subed-mpv-playback-position (+ 60000 2000 123)))
+ (expect (subed-copy-player-pos-to-start-time) :to-be
subed-mpv-playback-position)
+ (expect (buffer-string) :to-equal (concat "1\n"
+ "00:01:02,123 -->
00:00:02,000\n"
+ "Foo.\n")))
+ (let ((subed-mpv-playback-position (+ 60000 5000 456)))
+ (expect (subed-copy-player-pos-to-stop-time) :to-be
subed-mpv-playback-position)
+ (expect (buffer-string) :to-equal (concat "1\n"
+ "00:01:02,123 -->
00:01:05,456\n"
+ "Foo.\n")))))
+ (it "runs the appropriate hook."
+ (with-temp-buffer
+ (insert (concat "1\n"
+ "00:00:01,000 --> 00:00:02,000\n"
+ "Foo.\n"))
+ (let ((foo (setf (symbol-function 'foo) (lambda (msecs) ()))))
+ (spy-on 'foo)
+ (add-hook 'subed-subtitle-time-adjusted-hook 'foo)
+ (let ((subed-mpv-playback-position (+ 60000 2000 123)))
+ (expect (subed-copy-player-pos-to-start-time) :to-be
subed-mpv-playback-position)
+ (expect (buffer-string) :to-equal (concat "1\n"
+ "00:01:02,123 -->
00:00:02,000\n"
+ "Foo.\n"))
+ (expect (spy-calls-args-for 'foo 0) :to-equal `(,(+ 60000 2000 123)))
+ (expect (spy-calls-count 'foo) :to-equal 1)))
+ (let ((subed-mpv-playback-position (+ 60000 5000 456)))
+ (expect (subed-copy-player-pos-to-stop-time) :to-be
subed-mpv-playback-position)
+ (expect (buffer-string) :to-equal (concat "1\n"
+ "00:01:02,123 -->
00:01:05,456\n"
+ "Foo.\n"))
+ (expect (spy-calls-args-for 'foo 0) :to-equal `(,(+ 60000 2000 123)))
+ (expect (spy-calls-count 'foo) :to-equal 2)))
+ (remove-hook 'subed-subtitle-time-adjusted-hook 'foo))
+ )
+
(describe "Moving"
(it "adjusts start and stop time by the same amount."
(with-temp-buffer
- [nongnu] elpa/subed 29d8b84 337/389: Initial implementation of subed-vtt.el, (continued)
- [nongnu] elpa/subed 29d8b84 337/389: Initial implementation of subed-vtt.el, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 6db0005 338/389: New function subed-mpv-play-video-from-url, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed d3df6f2 347/389: Fix "test" target in Makefile, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 5b8c23a 348/389: New commands: subed-merge-with-next, subed-merge-with-previous, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed a7b25c8 341/389: subed-vtt: Fix ID->timestamp and stop generating IDs, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 9796a77 349/389: Merge branch 'sacha', ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed c4e3fec 352/389: Add error handling for subed-split-subtitle, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 918ba6f 370/389: Prevent showing the "Match data clobbered" message, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 808ef92 118/389: Fix comment, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 97bb125 183/389: Add default keybindings for copying player position, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 7665826 248/389: Add tests for copying player position to start/stop time,
ELPA Syncer <=
- [nongnu] elpa/subed a280e89 251/389: Add more text to README, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 311f4af 331/389: Require Emacs 25.1, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed fc7a12d 335/389: Fix mpv arguments, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed d9c41ba 345/389: Add test for validation fix, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 8bdec56 356/389: Move subed-split-subtitle to "Inserting" section, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed b28f528 364/389: Revert indentation changes, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 5b868c3 366/389: Fix minor issues in README.org added in last commit, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 6949622 365/389: Adopt REUSE standard for copyright and licensing, ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed 9f55817 369/389: Wrap start/stop calculating functions in `ignore-errors', ELPA Syncer, 2021/12/03
- [nongnu] elpa/subed beda7dc 371/389: Add functions to insert HTML-like tags, ELPA Syncer, 2021/12/03