@@ -1277,5 +1277,108 @@ def test_keywords(self):
1277
1277
data_only = True , tokenize_variables = True )
1278
1278
1279
1279
1280
+ class TestKeywordCallAssign (unittest .TestCase ):
1281
+
1282
+ def test_valid_assign (self ):
1283
+ data = '''\
1284
+ *** Keywords ***
1285
+ do something
1286
+ ${a}
1287
+ '''
1288
+ expected = [(T .KEYWORD_HEADER , '*** Keywords ***' , 1 , 0 ),
1289
+ (T .EOS , '' , 1 , 16 ),
1290
+ (T .KEYWORD_NAME , 'do something' , 2 , 0 ),
1291
+ (T .EOS , '' , 2 , 12 ),
1292
+ (T .ASSIGN , '${a}' , 3 , 4 ),
1293
+ (T .EOS , '' , 3 , 8 )]
1294
+
1295
+ assert_tokens (data , expected , get_tokens = get_tokens ,
1296
+ data_only = True , tokenize_variables = True )
1297
+ assert_tokens (data , expected , get_tokens = get_resource_tokens ,
1298
+ data_only = True , tokenize_variables = True )
1299
+ assert_tokens (data , expected , get_tokens = get_init_tokens ,
1300
+ data_only = True , tokenize_variables = True )
1301
+
1302
+ def test_valid_assign_with_keyword (self ):
1303
+ data = '''\
1304
+ *** Keywords ***
1305
+ do something
1306
+ ${a} do nothing
1307
+ '''
1308
+ expected = [(T .KEYWORD_HEADER , '*** Keywords ***' , 1 , 0 ),
1309
+ (T .EOS , '' , 1 , 16 ),
1310
+ (T .KEYWORD_NAME , 'do something' , 2 , 0 ),
1311
+ (T .EOS , '' , 2 , 12 ),
1312
+ (T .ASSIGN , '${a}' , 3 , 4 ),
1313
+ (T .KEYWORD , 'do nothing' , 3 , 10 ),
1314
+ (T .EOS , '' , 3 , 20 )]
1315
+
1316
+ assert_tokens (data , expected , get_tokens = get_tokens ,
1317
+ data_only = True , tokenize_variables = True )
1318
+ assert_tokens (data , expected , get_tokens = get_resource_tokens ,
1319
+ data_only = True , tokenize_variables = True )
1320
+ assert_tokens (data , expected , get_tokens = get_init_tokens ,
1321
+ data_only = True , tokenize_variables = True )
1322
+
1323
+ def test_invalid_assign_not_closed_should_be_keyword (self ):
1324
+ data = '''\
1325
+ *** Keywords ***
1326
+ do something
1327
+ ${a
1328
+ '''
1329
+ expected = [(T .KEYWORD_HEADER , '*** Keywords ***' , 1 , 0 ),
1330
+ (T .EOS , '' , 1 , 16 ),
1331
+ (T .KEYWORD_NAME , 'do something' , 2 , 0 ),
1332
+ (T .EOS , '' , 2 , 12 ),
1333
+ (T .KEYWORD , '${a' , 3 , 4 ),
1334
+ (T .EOS , '' , 3 , 7 )]
1335
+
1336
+ assert_tokens (data , expected , get_tokens = get_tokens ,
1337
+ data_only = True , tokenize_variables = True )
1338
+ assert_tokens (data , expected , get_tokens = get_resource_tokens ,
1339
+ data_only = True , tokenize_variables = True )
1340
+ assert_tokens (data , expected , get_tokens = get_init_tokens ,
1341
+ data_only = True , tokenize_variables = True )
1342
+
1343
+ def test_invalid_assign_ends_with_equal_should_be_keyword (self ):
1344
+ data = '''\
1345
+ *** Keywords ***
1346
+ do something
1347
+ ${=
1348
+ '''
1349
+ expected = [(T .KEYWORD_HEADER , '*** Keywords ***' , 1 , 0 ),
1350
+ (T .EOS , '' , 1 , 16 ),
1351
+ (T .KEYWORD_NAME , 'do something' , 2 , 0 ),
1352
+ (T .EOS , '' , 2 , 12 ),
1353
+ (T .KEYWORD , '${=' , 3 , 4 ),
1354
+ (T .EOS , '' , 3 , 7 )]
1355
+
1356
+ assert_tokens (data , expected , get_tokens = get_tokens ,
1357
+ data_only = True , tokenize_variables = True )
1358
+ assert_tokens (data , expected , get_tokens = get_resource_tokens ,
1359
+ data_only = True , tokenize_variables = True )
1360
+ assert_tokens (data , expected , get_tokens = get_init_tokens ,
1361
+ data_only = True , tokenize_variables = True )
1362
+
1363
+ def test_invalid_assign_variable_and_ends_with_equal_should_be_keyword (self ):
1364
+ data = '''\
1365
+ *** Keywords ***
1366
+ do something
1367
+ ${abc def=
1368
+ '''
1369
+ expected = [(T .KEYWORD_HEADER , '*** Keywords ***' , 1 , 0 ),
1370
+ (T .EOS , '' , 1 , 16 ),
1371
+ (T .KEYWORD_NAME , 'do something' , 2 , 0 ),
1372
+ (T .EOS , '' , 2 , 12 ),
1373
+ (T .KEYWORD , '${abc def=' , 3 , 4 ),
1374
+ (T .EOS , '' , 3 , 14 )]
1375
+
1376
+ assert_tokens (data , expected , get_tokens = get_tokens ,
1377
+ data_only = True , tokenize_variables = True )
1378
+ assert_tokens (data , expected , get_tokens = get_resource_tokens ,
1379
+ data_only = True , tokenize_variables = True )
1380
+ assert_tokens (data , expected , get_tokens = get_init_tokens ,
1381
+ data_only = True , tokenize_variables = True )
1382
+
1280
1383
if __name__ == '__main__' :
1281
1384
unittest .main ()
0 commit comments