tauri-plugin-stt 0.2.0

Speech-to-text recognition plugin for Tauri with multi-language support
Documentation
package io.affex.stt

import android.Manifest
import android.content.pm.PackageManager
import android.speech.SpeechRecognizer
import androidx.core.content.ContextCompat
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4

import org.junit.Test
import org.junit.runner.RunWith

import org.junit.Assert.*

/**
 * Instrumented tests for STT Plugin.
 * 
 * These tests run on an Android device/emulator and validate
 * functionality that requires the Android framework.
 */
@RunWith(AndroidJUnit4::class)
class SttInstrumentedTest {
    
    /**
     * Test that the package name is correct
     */
    @Test
    fun packageName_isCorrect() {
        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
        assertEquals("io.affex.stt.test", appContext.packageName)
    }
    
    /**
     * Test SpeechRecognizer availability check
     */
    @Test
    fun speechRecognizer_isAvailable() {
        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
        val isAvailable = SpeechRecognizer.isRecognitionAvailable(appContext)
        
        // This may be true or false depending on device
        // We just verify the check doesn't throw
        assertNotNull("isRecognitionAvailable should return a value", isAvailable)
    }
    
    /**
     * Test permission check for RECORD_AUDIO
     */
    @Test
    fun permission_canBeChecked() {
        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
        val permission = ContextCompat.checkSelfPermission(
            appContext,
            Manifest.permission.RECORD_AUDIO
        )
        
        // Permission is either granted or denied
        assertTrue(
            "Permission should be granted or denied",
            permission == PackageManager.PERMISSION_GRANTED ||
            permission == PackageManager.PERMISSION_DENIED
        )
    }
    
    /**
     * Test SpeechRecognizer can be created
     */
    @Test
    fun speechRecognizer_canBeCreated() {
        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
        
        if (SpeechRecognizer.isRecognitionAvailable(appContext)) {
            val recognizer = SpeechRecognizer.createSpeechRecognizer(appContext)
            assertNotNull("SpeechRecognizer should be created", recognizer)
            recognizer.destroy()
        }
    }
}