<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
2at                 @   sn   d dl mZ d dlmZ d dlZd dlmZ d dlmZ d dl	m
Z
 G dd dejZed	krjejd
d dS )    )
config_key)requiresN)Tk)Func)	Mbox_funcc               @   s   e Zd ZG dd dejZedd Zedd Zdd Z	d	d
 Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )ValidationTestc               @   s    e Zd Zdd Ze Ze ZdS )zValidationTest.Validatorc             O   s,   t jj| f|| G dd d}|| _d S )Nc               @   s   e Zd Ze ZdS )z8ValidationTest.Validator.__init__.<locals>.listKeysFinalN)__name__
__module____qualname__r   get r   r   4/opt/alt/python36/lib64/python3.6/test_config_key.pylistKeysFinal   s   r   )r   GetKeysDialog__init__r   )selfargskwargsr   r   r   r   r      s    z!ValidationTest.Validator.__init__N)r   r	   r
   r   r   GetModifiersr   	showerrorr   r   r   r   	Validator   s   r   c             C   sD   t d t | _| jj  dgddgg}| j| jdd|dd| _d S )	NZguiz	<Key-F12>z<Control-Key-x>z<Control-Key-X>ZTitlez<<Test>>T)Z_utest)r   r   rootZwithdrawr   dialog)clsZkeylistr   r   r   
setUpClass   s    
zValidationTest.setUpClassc             C   s*   | j j  | jj  | jj  | ` | `d S )N)r   ZCancelr   Zupdate_idletasksZdestroy)r   r   r   r   tearDownClass    s    


zValidationTest.tearDownClassc             C   s   d| j j_d S )N )r   r   message)r   r   r   r   setUp'   s    zValidationTest.setUpc             C   s>   | j jjd | j j  | j| j jd | j| j jjd d S )N r   zNo key specified.)r   	keyStringsetOKassertEqualresultr   r   )r   r   r   r   test_ok_empty,   s    
zValidationTest.test_ok_emptyc             C   sJ   | j jjd d| j jj_| j j  | j| j jd | j| j jj	d d S )Nz	<Key-F11>F11r   )
r   r    r!   r   r   r$   r"   r#   r   r   )r   r   r   r   test_ok_good2   s
    
zValidationTest.test_ok_goodc             C   s(   | j | jjd | jd| jjj d S )Nz<Control-ShiftzMissing the final)assertFalser   KeysOKassertInr   r   )r   r   r   r   test_keys_no_ending9   s    z"ValidationTest.test_keys_no_endingc             C   s4   d| j jj_| j| j jd | jd| j jj d S )NAz<Key-A>zNo modifier)	r   r   r   r$   r(   r)   r*   r   r   )r   r   r   r   test_keys_no_modifier_bad=   s    z(ValidationTest.test_keys_no_modifier_badc             C   s4   d| j jj_| j| j jd | j| j jjd d S )Nr&   z	<Key-F11>r   )	r   r   r   r$   
assertTruer)   r#   r   r   )r   r   r   r   test_keys_no_modifier_okB   s    z'ValidationTest.test_keys_no_modifier_okc             C   sJ   d| j jj_dg| j j_| j| j jd | jd| j jj	 g | j j_d S )NaZShiftz<a>zshift modifier)
r   r   r   r$   r   r(   r)   r*   r   r   )r   r   r   r   test_keys_shift_badG   s
    z"ValidationTest.test_keys_shift_badc             C   s   xg ddfdgddfdgddffD ]`\}}}| j |||d@ || jjj_|| jj_| j| jj| | jd	| jj	j
 W d Q R X q"W g | jj_d S )
NZF12z	<Key-F12>ZControlxz<Control-Key-x>Xz<Control-Key-X>)mfszalready in use)ZsubTestr   r   r   r$   r   r(   r)   r*   r   r   )r   Zmodsfinalseqr   r   r   test_keys_dupN   s    


 zValidationTest.test_keys_dupc             C   s(   | j | jjd | j| jjjd d S )Nz<Control-Shift-Key-a>r   )r.   r   bind_okr#   r   r   )r   r   r   r   test_bind_okY   s    zValidationTest.test_bind_okc             C   s(   | j | jjd | jd| jjj d S )Nz<Control-Shift>znot accepted)r(   r   r:   r*   r   r   )r   r   r   r   test_bind_not_ok]   s    zValidationTest.test_bind_not_okN)r   r	   r
   r   r   r   classmethodr   r   r   r%   r'   r+   r-   r/   r1   r9   r;   r<   r   r   r   r   r      s   		r   __main__   )	verbosity)Zidlelibr   Ztest.supportr   ZunittestZtkinterr   Zidlelib.idle_test.mock_idler   Zidlelib.idle_test.mock_tkr   ZTestCaser   r   mainr   r   r   r   <module>   s   W