mirror of
https://github.com/Mintplex-Labs/whisper.cpp.git
synced 2026-07-19 12:52:59 -04:00
fc49ee4479
* Add Params#new_segment_callback= method
* Add tests for Params#new_segment_callback=
* Group tests for #transcribe
* Don't use static for thread-safety
* Set new_segment_callback only when necessary
* Remove redundant check
* [skip ci] Add Ruby version README
* Revert "Group tests for #transcribe"
This reverts commit 71b65b00ccf1816c9ea8a247fb30f71bc09707d3.
* Revert "Add tests for Params#new_segment_callback="
This reverts commit 81e6df3bab7662da5379db51f28a989db7408c02.
* Add test for Context#full_n_segments
* Add Context#full_n_segments
* Add tests for lang API
* Add lang API
* Add tests for Context#full_lang_id API
* Add Context#full_lang_id
* Add abnormal test cases for lang
* Raise appropriate errors from lang APIs
* Add tests for Context#full_get_segment_t{0,1} API
* Add Context#full_get_segment_t{0,1}
* Add tests for Context#full_get_segment_speaker_turn_next API
* Add Context#full_get_segment_speaker_turn_next
* Add tests for Context#full_get_segment_text
* Add Context#full_get_setgment_text
* Add tests for Params#new_segment_callback=
* Run new segment callback
* Split tests to multiple files
* Use container struct for new segment callback
* Add tests for Params#new_segment_callback_user_data=
* Add Whisper::Params#new_user_callback_user_data=
* Add GC-related test for new segment callback
* Protect new segment callback related structs from GC
* Add meaningful test for build
* Rename: new_segment_callback_user_data -> new_segment_callback_container
* Add tests for Whisper::Segment
* Add Whisper::Segment and Whisper::Context#each_segment
* Extract c_ruby_whisper_callback_container_allocate()
* Add test for Whisper::Params#on_new_segment
* Add Whisper::Params#on_new_egment
* Assign symbol IDs to variables
* Make extsources.yaml simpler
* Update README
* Add document comments
* Add test for calling Whisper::Params#on_new_segment multiple times
* Add file dependencies to GitHub actions config and .gitignore
* Add more files to ext/.gitignore
113 lines
2.6 KiB
Ruby
113 lines
2.6 KiB
Ruby
require 'whisper'
|
|
|
|
class TestParams < Test::Unit::TestCase
|
|
def setup
|
|
@params = Whisper::Params.new
|
|
end
|
|
|
|
def test_language
|
|
@params.language = "en"
|
|
assert_equal @params.language, "en"
|
|
@params.language = "auto"
|
|
assert_equal @params.language, "auto"
|
|
end
|
|
|
|
def test_offset
|
|
@params.offset = 10_000
|
|
assert_equal @params.offset, 10_000
|
|
@params.offset = 0
|
|
assert_equal @params.offset, 0
|
|
end
|
|
|
|
def test_duration
|
|
@params.duration = 60_000
|
|
assert_equal @params.duration, 60_000
|
|
@params.duration = 0
|
|
assert_equal @params.duration, 0
|
|
end
|
|
|
|
def test_max_text_tokens
|
|
@params.max_text_tokens = 300
|
|
assert_equal @params.max_text_tokens, 300
|
|
@params.max_text_tokens = 0
|
|
assert_equal @params.max_text_tokens, 0
|
|
end
|
|
|
|
def test_translate
|
|
@params.translate = true
|
|
assert @params.translate
|
|
@params.translate = false
|
|
assert !@params.translate
|
|
end
|
|
|
|
def test_no_context
|
|
@params.no_context = true
|
|
assert @params.no_context
|
|
@params.no_context = false
|
|
assert !@params.no_context
|
|
end
|
|
|
|
def test_single_segment
|
|
@params.single_segment = true
|
|
assert @params.single_segment
|
|
@params.single_segment = false
|
|
assert !@params.single_segment
|
|
end
|
|
|
|
def test_print_special
|
|
@params.print_special = true
|
|
assert @params.print_special
|
|
@params.print_special = false
|
|
assert !@params.print_special
|
|
end
|
|
|
|
def test_print_progress
|
|
@params.print_progress = true
|
|
assert @params.print_progress
|
|
@params.print_progress = false
|
|
assert !@params.print_progress
|
|
end
|
|
|
|
def test_print_realtime
|
|
@params.print_realtime = true
|
|
assert @params.print_realtime
|
|
@params.print_realtime = false
|
|
assert !@params.print_realtime
|
|
end
|
|
|
|
def test_print_timestamps
|
|
@params.print_timestamps = true
|
|
assert @params.print_timestamps
|
|
@params.print_timestamps = false
|
|
assert !@params.print_timestamps
|
|
end
|
|
|
|
def test_suppress_blank
|
|
@params.suppress_blank = true
|
|
assert @params.suppress_blank
|
|
@params.suppress_blank = false
|
|
assert !@params.suppress_blank
|
|
end
|
|
|
|
def test_suppress_non_speech_tokens
|
|
@params.suppress_non_speech_tokens = true
|
|
assert @params.suppress_non_speech_tokens
|
|
@params.suppress_non_speech_tokens = false
|
|
assert !@params.suppress_non_speech_tokens
|
|
end
|
|
|
|
def test_token_timestamps
|
|
@params.token_timestamps = true
|
|
assert @params.token_timestamps
|
|
@params.token_timestamps = false
|
|
assert !@params.token_timestamps
|
|
end
|
|
|
|
def test_split_on_word
|
|
@params.split_on_word = true
|
|
assert @params.split_on_word
|
|
@params.split_on_word = false
|
|
assert !@params.split_on_word
|
|
end
|
|
end
|