<s> from collections import namedtuple <EOL> from Vintageous . vi . utils import modes <EOL> from Vintageous . tests import set_text <EOL> from Vintageous . tests import add_sel <EOL> from Vintageous . tests import get_sel <EOL> from Vintageous . tests import first_sel <EOL> from Vintageous . tests import ViewTest <EOL> test_data = namedtuple ( '<STR_LIT>' , '<STR_LIT>' ) <EOL> TESTS = ( <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:1> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:1> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:2> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:2> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:3> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:3> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:5> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:5> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:3> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:3> } , '<STR_LIT:abc>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:3> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . INTERNAL_NORMAL , '<STR_LIT:count>' : <NUM_LIT:1> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:1> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:1> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:1> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:1> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:2> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:2> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:2> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:2> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:1> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL , '<STR_LIT:count>' : <NUM_LIT:3> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:1> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL , '<STR_LIT:count>' : <NUM_LIT:3> } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:1> , <NUM_LIT:5> ) ] ] , { '<STR_LIT>' : modes . VISUAL } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:3> , <NUM_LIT:0> ) ] ] , { '<STR_LIT>' : modes . VISUAL_LINE } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> test_data ( '<STR_LIT>' , [ [ ( <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:1> ) ] , [ ( <NUM_LIT:1> , <NUM_LIT:0> ) , ( <NUM_LIT:1> , <NUM_LIT:1> ) ] ] , { '<STR_LIT>' : modes . VISUAL_BLOCK } , '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ) <EOL> class Test_vi_big_j ( ViewTest ) : <EOL> def testAll ( self ) : <EOL> for ( i , data ) in enumerate ( TESTS ) : <EOL> self . view . sel ( ) . clear ( ) <EOL> self . write ( data . initial_text ) <EOL> for region in data . regions : <EOL> add_sel ( self . view , self . R ( * region ) ) <EOL> self . view . run_command ( '<STR_LIT>' , data . cmd_params ) <EOL> actual = self . view . substr ( self . R ( <NUM_LIT:0> , self . view . size ( ) ) ) <EOL> msg = "<STR_LIT>" . format ( i , data . msg ) <EOL> self . assertEqual ( data . expected , actual , msg ) </s>
