3
§ feU ã @ sø d dl mZ d dlmZmZ d dlZd dlmZmZm Z m
Z
mZ d dlm
Z
d dlmZ d dlmZmZmZ d dlmZ d d lmZ d d
lmZ d dlmZ e
jZdd
„ ZG dd„ dejƒZG dd„ dejƒZ G dd„ dejƒZ!e"dkrôej#dd� dS )é )Ú
namedtuple)ÚTextÚTkN)ÚMockÚNonCallableMagicMockÚpatchÚsentinelÚANY)Úrequires)ÚidleConf)Úcount_lines_with_wrappingÚExpandingButtonÚSqueezer)Úmacosx)Ú view_text)ÚHovertip)ÚPyShellc s0 t dƒ tƒ ‰ ˆ jƒ ‡ fdd„}| j|ƒ ˆ S )z*Helper for tests: Create a root Tk object.Zguic s ˆ j ƒ ˆ jƒ d S )N)Zupdate_idletasksZdestroy© )Úrootr úD/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_squeezer.pyÚcleanup_root s z&get_test_tk_root..cleanup_root)r
r ZwithdrawÚ
addCleanup)Z
test_instancer r )r r Úget_test_tk_root s
r c @ s@ e Zd ZdZdd„ Zdd„ Zdd„ Zdd „ Zd
d„ Zdd
„ Z dS )ÚCountLinesTestz1Tests for the count_lines_with_wrapping function.c C s | j |t|||ƒƒS )N)ÚassertEqualr )ÚselfÚexpectedÚtextÚ linewidthÚtabwidthr r r Úcheck# s zCountLinesTest.checkc C s | j tdƒdƒ dS )zTest with an empty string.Ú r N)r r )r r r r Útest_count_empty) s zCountLinesTest.test_count_emptyc C s | j tdƒdƒ dS )z/Test with a string which begins with a newline.z
texté N)r r )r r r r Ú!test_count_begins_with_empty_line- s z0CountLinesTest.test_count_begins_with_empty_linec C s | j tdƒdƒ dS )z-Test with a string which ends with a newline.ztext
é N)r r )r r r r Útest_count_ends_with_empty_line1 s z.CountLinesTest.test_count_ends_with_empty_linec C s | j tdƒdƒ dS )z Test with several lines of text.z1
2
3
é N)r r )r r r r Útest_count_several_lines5 s z'CountLinesTest.test_count_several_linesc C s | j ddddd� | j ddddd� | j ddddd� | j ddddd� | j ddddd� | j ddd
dd� | j d dd
dd� | j ddd dd� | j ddddd� | j ddddd� | j ddddd� | j ddd
dd� | j ddddd� | j ddddd� dS )z-Test with various tab widths and line widths.r% ú é é )r r r r r# r' é é
é é é é é
Nr) z z z z z
z
z z z
z z z z )r )r r r r Útest_tab_width9 s zCountLinesTest.test_tab_widthN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r r" r$ r&