@@ -1406,225 +1406,6 @@ fn test_no_default_features() {
1406
1406
// ExpectedMessage::new(None).expect_contains("progress").expect_contains(r#""done":true"#)]);
1407
1407
// }
1408
1408
1409
- #[ test]
1410
- fn test_deglob ( ) {
1411
- let mut env = Environment :: generate_from_fixture ( "deglob" ) ;
1412
-
1413
- let source_file_path = Path :: new ( "src" ) . join ( "main.rs" ) ;
1414
-
1415
- let root_path = env. cache . abs_path ( Path :: new ( "." ) ) ;
1416
- let url = Url :: from_file_path ( env. cache . abs_path ( & source_file_path) )
1417
- . expect ( "couldn't convert file path to URL" ) ;
1418
- let text_doc = TextDocumentIdentifier :: new ( url. clone ( ) ) ;
1419
- let messages = vec ! [
1420
- initialize( 0 , root_path. as_os_str( ) . to_str( ) . map( |x| x. to_owned( ) ) ) . to_string( ) ,
1421
- // request deglob for single wildcard
1422
- request:: <requests:: CodeAction >(
1423
- 100 ,
1424
- CodeActionParams {
1425
- text_document: text_doc. clone( ) ,
1426
- range: env. cache. mk_ls_range_from_line( 12 ) ,
1427
- context: CodeActionContext {
1428
- diagnostics: vec![ ] ,
1429
- only: None ,
1430
- } ,
1431
- } ,
1432
- ) . to_string( ) ,
1433
- // deglob single
1434
- request:: <requests:: ExecuteCommand >(
1435
- 200 ,
1436
- ExecuteCommandParams {
1437
- command: format!( "rls.deglobImports-{}" , :: std:: process:: id( ) ) ,
1438
- arguments: vec![
1439
- serde_json:: to_value( & requests:: DeglobResult {
1440
- location: Location {
1441
- uri: url. clone( ) ,
1442
- range: Range :: new( Position :: new( 12 , 13 ) , Position :: new( 12 , 14 ) ) ,
1443
- } ,
1444
- new_text: "{Stdout, Stdin}" . into( ) ,
1445
- } ) . unwrap( ) ,
1446
- ] ,
1447
- } ,
1448
- ) . to_string( ) ,
1449
- // request deglob for double wildcard
1450
- request:: <requests:: CodeAction >(
1451
- 1100 ,
1452
- CodeActionParams {
1453
- text_document: text_doc,
1454
- range: env. cache. mk_ls_range_from_line( 15 ) ,
1455
- context: CodeActionContext {
1456
- diagnostics: vec![ ] ,
1457
- only: None ,
1458
- } ,
1459
- } ,
1460
- ) . to_string( ) ,
1461
- // deglob two wildcards
1462
- request:: <requests:: ExecuteCommand >(
1463
- 1200 ,
1464
- ExecuteCommandParams {
1465
- command: format!( "rls.deglobImports-{}" , :: std:: process:: id( ) ) ,
1466
- arguments: vec![
1467
- serde_json:: to_value( & requests:: DeglobResult {
1468
- location: Location {
1469
- uri: url. clone( ) ,
1470
- range: Range :: new( Position :: new( 15 , 14 ) , Position :: new( 15 , 15 ) ) ,
1471
- } ,
1472
- new_text: "size_of" . into( ) ,
1473
- } ) . unwrap( ) ,
1474
- serde_json:: to_value( & requests:: DeglobResult {
1475
- location: Location {
1476
- uri: url,
1477
- range: Range :: new( Position :: new( 15 , 31 ) , Position :: new( 15 , 32 ) ) ,
1478
- } ,
1479
- new_text: "max" . into( ) ,
1480
- } ) . unwrap( ) ,
1481
- ] ,
1482
- } ,
1483
- ) . to_string( ) ,
1484
- ] ;
1485
-
1486
- let ( mut server, results, ..) = env. mock_server ( messages) ;
1487
- // Initialize and build.
1488
- assert_eq ! (
1489
- ls_server:: LsService :: handle_message( & mut server) ,
1490
- ls_server:: ServerStateChange :: Continue
1491
- ) ;
1492
- expect_message (
1493
- & mut server,
1494
- results. clone ( ) ,
1495
- ExpectedMessage :: new ( Some ( 0 ) ) . expect_contains ( "rls.deglobImports-" ) ,
1496
- ) ;
1497
-
1498
- expect_series ( & mut server, results. clone ( ) , vec ! [ "progress" ] ) ;
1499
-
1500
- assert_eq ! (
1501
- ls_server:: LsService :: handle_message( & mut server) ,
1502
- ls_server:: ServerStateChange :: Continue
1503
- ) ;
1504
- {
1505
- server. wait_for_concurrent_jobs ( ) ;
1506
- let response: Value = serde_json:: from_str ( & results. lock ( ) . unwrap ( ) . remove ( 0 ) ) . unwrap ( ) ;
1507
- assert_eq ! ( response[ "id" ] , 100 ) ;
1508
- assert_eq ! ( response[ "result" ] [ 0 ] [ "title" ] , "Deglob import" ) ;
1509
- assert_eq ! (
1510
- response[ "result" ] [ 0 ] [ "command" ] ,
1511
- & * format!( "rls.deglobImports-{}" , :: std:: process:: id( ) )
1512
- ) ;
1513
- let deglob = & response[ "result" ] [ 0 ] [ "arguments" ] [ 0 ] ;
1514
- assert ! (
1515
- deglob[ "location" ] [ "uri" ]
1516
- . as_str( )
1517
- . unwrap( )
1518
- . ends_with( "deglob/src/main.rs" )
1519
- ) ;
1520
- let deglob_loc = & deglob[ "location" ] [ "range" ] ;
1521
- assert_eq ! ( deglob_loc[ "start" ] [ "line" ] , 12 ) ;
1522
- assert_eq ! ( deglob_loc[ "start" ] [ "character" ] , 13 ) ;
1523
- assert_eq ! ( deglob_loc[ "end" ] [ "line" ] , 12 ) ;
1524
- assert_eq ! ( deglob_loc[ "end" ] [ "character" ] , 14 ) ;
1525
- let mut imports: Vec < _ > = deglob[ "new_text" ]
1526
- . as_str ( )
1527
- . unwrap ( )
1528
- . trim_matches ( '{' )
1529
- . trim_matches ( '}' )
1530
- . split ( ", " )
1531
- . collect ( ) ;
1532
- imports. sort ( ) ;
1533
- assert_eq ! ( imports, vec![ "Stdin" , "Stdout" ] ) ;
1534
- }
1535
-
1536
- assert_eq ! (
1537
- ls_server:: LsService :: handle_message( & mut server) ,
1538
- ls_server:: ServerStateChange :: Continue
1539
- ) ;
1540
- {
1541
- server. wait_for_concurrent_jobs ( ) ;
1542
- let response: Value = serde_json:: from_str ( & results. lock ( ) . unwrap ( ) . remove ( 0 ) ) . unwrap ( ) ;
1543
- assert_eq ! ( response[ "id" ] , 0x0100_0001 ) ;
1544
- assert_eq ! ( response[ "method" ] , "workspace/applyEdit" ) ;
1545
- let ( key, changes) = response[ "params" ] [ "edit" ] [ "changes" ]
1546
- . as_object ( )
1547
- . unwrap ( )
1548
- . iter ( )
1549
- . next ( )
1550
- . unwrap ( ) ;
1551
- assert ! ( key. ends_with( "deglob/src/main.rs" ) ) ;
1552
- let change = & changes[ 0 ] ;
1553
- assert_eq ! ( change[ "range" ] [ "start" ] [ "line" ] , 12 ) ;
1554
- assert_eq ! ( change[ "range" ] [ "start" ] [ "character" ] , 13 ) ;
1555
- assert_eq ! ( change[ "range" ] [ "end" ] [ "line" ] , 12 ) ;
1556
- assert_eq ! ( change[ "range" ] [ "end" ] [ "character" ] , 14 ) ;
1557
- let mut imports: Vec < _ > = change[ "newText" ]
1558
- . as_str ( )
1559
- . expect ( "newText missing" )
1560
- . trim_matches ( '{' )
1561
- . trim_matches ( '}' )
1562
- . split ( ", " )
1563
- . collect ( ) ;
1564
- imports. sort ( ) ;
1565
- assert_eq ! ( imports, vec![ "Stdin" , "Stdout" ] ) ;
1566
-
1567
- let response: Value = serde_json:: from_str ( & results. lock ( ) . unwrap ( ) . remove ( 0 ) ) . unwrap ( ) ;
1568
- assert_eq ! ( response[ "id" ] , 200 ) ;
1569
- assert ! ( response[ "result" ] . is_null( ) ) ;
1570
- }
1571
-
1572
- assert_eq ! (
1573
- ls_server:: LsService :: handle_message( & mut server) ,
1574
- ls_server:: ServerStateChange :: Continue
1575
- ) ;
1576
- expect_message (
1577
- & mut server,
1578
- results. clone ( ) ,
1579
- ExpectedMessage :: new ( Some ( 1100 ) )
1580
- . expect_contains ( r#""title":"Deglob imports""# )
1581
- . expect_contains ( r#""command":"rls.deglobImports-"# )
1582
- . expect_contains ( r#"{"location":{"range":{"end":{"character":15,"line":15},"start":{"character":14,"line":15}},"uri":"# )
1583
- . expect_contains ( r#"deglob/src/main.rs"}"# )
1584
- . expect_contains ( r#""new_text":"size_of""# )
1585
- . expect_contains ( r#"{"location":{"range":{"end":{"character":32,"line":15},"start":{"character":31,"line":15}},"uri":"# )
1586
- . expect_contains ( r#"deglob/src/main.rs"}"# )
1587
- . expect_contains ( r#""new_text":"max""# )
1588
- ) ;
1589
-
1590
- assert_eq ! (
1591
- ls_server:: LsService :: handle_message( & mut server) ,
1592
- ls_server:: ServerStateChange :: Continue
1593
- ) ;
1594
-
1595
- {
1596
- server. wait_for_concurrent_jobs ( ) ;
1597
- let response: Value = serde_json:: from_str ( & results. lock ( ) . unwrap ( ) . remove ( 0 ) ) . unwrap ( ) ;
1598
- assert_eq ! ( response[ "id" ] , 0x0100_0002 ) ;
1599
- assert_eq ! ( response[ "method" ] , "workspace/applyEdit" ) ;
1600
- let ( key, changes) = response[ "params" ] [ "edit" ] [ "changes" ]
1601
- . as_object ( )
1602
- . unwrap ( )
1603
- . iter ( )
1604
- . next ( )
1605
- . unwrap ( ) ;
1606
- assert ! ( key. ends_with( "deglob/src/main.rs" ) ) ;
1607
- let change = & changes[ 0 ] ;
1608
- assert_eq ! ( change[ "range" ] [ "start" ] [ "line" ] , 15 ) ;
1609
- assert_eq ! ( change[ "range" ] [ "start" ] [ "character" ] , 14 ) ;
1610
- assert_eq ! ( change[ "range" ] [ "end" ] [ "line" ] , 15 ) ;
1611
- assert_eq ! ( change[ "range" ] [ "end" ] [ "character" ] , 15 ) ;
1612
- assert_eq ! ( change[ "newText" ] , "size_of" ) ;
1613
- let change = & changes[ 1 ] ;
1614
- assert_eq ! ( change[ "range" ] [ "start" ] [ "line" ] , 15 ) ;
1615
- assert_eq ! ( change[ "range" ] [ "start" ] [ "character" ] , 31 ) ;
1616
- assert_eq ! ( change[ "range" ] [ "end" ] [ "line" ] , 15 ) ;
1617
- assert_eq ! ( change[ "range" ] [ "end" ] [ "character" ] , 32 ) ;
1618
- assert_eq ! ( change[ "newText" ] , "max" ) ;
1619
- }
1620
-
1621
- expect_message (
1622
- & mut server,
1623
- results,
1624
- ExpectedMessage :: new ( Some ( 1200 ) ) . expect_contains ( r#"null"# ) ,
1625
- ) ;
1626
- }
1627
-
1628
1409
#[ test]
1629
1410
fn test_all_targets ( ) {
1630
1411
let mut env = Environment :: generate_from_fixture ( "bin_lib" ) ;
0 commit comments