@@ -368,7 +368,7 @@ QUnit.module( "ajax", {
368
368
} ;
369
369
} ) ;
370
370
371
- ajaxTest ( "jQuery.ajax() - URL fragment component preservation" , 4 , function ( assert ) {
371
+ ajaxTest ( "jQuery.ajax() - URL fragment component preservation" , 5 , function ( assert ) {
372
372
return [
373
373
{
374
374
url : baseURL + "name.html#foo" ,
@@ -400,6 +400,25 @@ QUnit.module( "ajax", {
400
400
} ,
401
401
error : true
402
402
} ,
403
+ {
404
+ url : baseURL + "name.html?abc#foo" ,
405
+ data : [
406
+ {
407
+ name : "test" ,
408
+ value : 123
409
+ } ,
410
+ {
411
+ name : "devo" ,
412
+ value : "hat"
413
+ }
414
+ ] ,
415
+ beforeSend : function ( xhr , settings ) {
416
+ assert . equal ( settings . url , baseURL + "name.html?abc&test=123&devo=hat#foo" ,
417
+ "hash preserved for request with query component and array data." ) ;
418
+ return false ;
419
+ } ,
420
+ error : true
421
+ } ,
403
422
{
404
423
url : baseURL + "name.html?abc#brownies" ,
405
424
data : {
@@ -1356,43 +1375,92 @@ QUnit.module( "ajax", {
1356
1375
] ;
1357
1376
} ) ;
1358
1377
1359
- ajaxTest ( "jQuery.ajax() - JSON by content-type" , 5 , function ( assert ) {
1360
- return {
1361
- url : baseURL + "mock.php?action=json" ,
1362
- data : {
1363
- "header" : "json" ,
1364
- "array" : "1"
1378
+ ajaxTest ( "jQuery.ajax() - JSON by content-type" , 10 , function ( assert ) {
1379
+ return [
1380
+ {
1381
+ url : baseURL + "mock.php?action=json" ,
1382
+ data : {
1383
+ "header" : "json" ,
1384
+ "array" : "1"
1385
+ } ,
1386
+ success : function ( json ) {
1387
+ assert . ok ( json . length >= 2 , "Check length" ) ;
1388
+ assert . strictEqual ( json [ 0 ] [ "name" ] , "John" , "Check JSON: first, name" ) ;
1389
+ assert . strictEqual ( json [ 0 ] [ "age" ] , 21 , "Check JSON: first, age" ) ;
1390
+ assert . strictEqual ( json [ 1 ] [ "name" ] , "Peter" , "Check JSON: second, name" ) ;
1391
+ assert . strictEqual ( json [ 1 ] [ "age" ] , 25 , "Check JSON: second, age" ) ;
1392
+ }
1365
1393
} ,
1366
- success : function ( json ) {
1367
- assert . ok ( json . length >= 2 , "Check length" ) ;
1368
- assert . strictEqual ( json [ 0 ] [ "name" ] , "John" , "Check JSON: first, name" ) ;
1369
- assert . strictEqual ( json [ 0 ] [ "age" ] , 21 , "Check JSON: first, age" ) ;
1370
- assert . strictEqual ( json [ 1 ] [ "name" ] , "Peter" , "Check JSON: second, name" ) ;
1371
- assert . strictEqual ( json [ 1 ] [ "age" ] , 25 , "Check JSON: second, age" ) ;
1394
+ {
1395
+ url : baseURL + "mock.php?action=json" ,
1396
+ data : [
1397
+ {
1398
+ name : "header" ,
1399
+ value : "json"
1400
+ } ,
1401
+ {
1402
+ name : "array" ,
1403
+ value : "1"
1404
+ }
1405
+ ] ,
1406
+ success : function ( json ) {
1407
+ assert . ok ( json . length >= 2 , "Check length" ) ;
1408
+ assert . strictEqual ( json [ 0 ] [ "name" ] , "John" , "Check JSON: first, name" ) ;
1409
+ assert . strictEqual ( json [ 0 ] [ "age" ] , 21 , "Check JSON: first, age" ) ;
1410
+ assert . strictEqual ( json [ 1 ] [ "name" ] , "Peter" , "Check JSON: second, name" ) ;
1411
+ assert . strictEqual ( json [ 1 ] [ "age" ] , 25 , "Check JSON: second, age" ) ;
1412
+ }
1372
1413
}
1373
- } ;
1414
+ ] ;
1374
1415
} ) ;
1375
1416
1376
- ajaxTest ( "jQuery.ajax() - JSON by content-type disabled with options" , 6 , function ( assert ) {
1377
- return {
1378
- url : url ( "mock.php?action=json" ) ,
1379
- data : {
1380
- "header" : "json" ,
1381
- "array" : "1"
1382
- } ,
1383
- contents : {
1384
- "json" : false
1417
+ ajaxTest ( "jQuery.ajax() - JSON by content-type disabled with options" , 12 , function ( assert ) {
1418
+ return [
1419
+ {
1420
+ url : url ( "mock.php?action=json" ) ,
1421
+ data : {
1422
+ "header" : "json" ,
1423
+ "array" : "1"
1424
+ } ,
1425
+ contents : {
1426
+ "json" : false
1427
+ } ,
1428
+ success : function ( text ) {
1429
+ assert . strictEqual ( typeof text , "string" , "json wasn't auto-determined" ) ;
1430
+ var json = JSON . parse ( text ) ;
1431
+ assert . ok ( json . length >= 2 , "Check length" ) ;
1432
+ assert . strictEqual ( json [ 0 ] [ "name" ] , "John" , "Check JSON: first, name" ) ;
1433
+ assert . strictEqual ( json [ 0 ] [ "age" ] , 21 , "Check JSON: first, age" ) ;
1434
+ assert . strictEqual ( json [ 1 ] [ "name" ] , "Peter" , "Check JSON: second, name" ) ;
1435
+ assert . strictEqual ( json [ 1 ] [ "age" ] , 25 , "Check JSON: second, age" ) ;
1436
+ }
1385
1437
} ,
1386
- success : function ( text ) {
1387
- assert . strictEqual ( typeof text , "string" , "json wasn't auto-determined" ) ;
1388
- var json = JSON . parse ( text ) ;
1389
- assert . ok ( json . length >= 2 , "Check length" ) ;
1390
- assert . strictEqual ( json [ 0 ] [ "name" ] , "John" , "Check JSON: first, name" ) ;
1391
- assert . strictEqual ( json [ 0 ] [ "age" ] , 21 , "Check JSON: first, age" ) ;
1392
- assert . strictEqual ( json [ 1 ] [ "name" ] , "Peter" , "Check JSON: second, name" ) ;
1393
- assert . strictEqual ( json [ 1 ] [ "age" ] , 25 , "Check JSON: second, age" ) ;
1438
+ {
1439
+ url : url ( "mock.php?action=json" ) ,
1440
+ data : [
1441
+ {
1442
+ name : "header" ,
1443
+ value : "json"
1444
+ } ,
1445
+ {
1446
+ name : "array" ,
1447
+ value : "1"
1448
+ }
1449
+ ] ,
1450
+ contents : {
1451
+ "json" : false
1452
+ } ,
1453
+ success : function ( text ) {
1454
+ assert . strictEqual ( typeof text , "string" , "json wasn't auto-determined" ) ;
1455
+ var json = JSON . parse ( text ) ;
1456
+ assert . ok ( json . length >= 2 , "Check length" ) ;
1457
+ assert . strictEqual ( json [ 0 ] [ "name" ] , "John" , "Check JSON: first, name" ) ;
1458
+ assert . strictEqual ( json [ 0 ] [ "age" ] , 21 , "Check JSON: first, age" ) ;
1459
+ assert . strictEqual ( json [ 1 ] [ "name" ] , "Peter" , "Check JSON: second, name" ) ;
1460
+ assert . strictEqual ( json [ 1 ] [ "age" ] , 25 , "Check JSON: second, age" ) ;
1461
+ }
1394
1462
}
1395
- } ;
1463
+ ] ;
1396
1464
} ) ;
1397
1465
1398
1466
ajaxTest ( "jQuery.ajax() - simple get" , 1 , function ( assert ) {
@@ -1440,18 +1508,36 @@ QUnit.module( "ajax", {
1440
1508
} ;
1441
1509
} ) ;
1442
1510
1443
- ajaxTest ( "jQuery.ajax() - data - text/plain (gh-2658)" , 1 , function ( assert ) {
1444
- return {
1445
- url : "bogus.html" ,
1446
- data : { devo : "A Beautiful World" } ,
1447
- type : "post" ,
1448
- contentType : "text/plain" ,
1449
- beforeSend : function ( _ , s ) {
1450
- assert . strictEqual ( s . data , "devo=A%20Beautiful%20World" , "data is %20-encoded" ) ;
1451
- return false ;
1511
+ ajaxTest ( "jQuery.ajax() - data - text/plain (gh-2658)" , 2 , function ( assert ) {
1512
+ return [
1513
+ {
1514
+ url : "bogus.html" ,
1515
+ data : { devo : "A Beautiful World" } ,
1516
+ type : "post" ,
1517
+ contentType : "text/plain" ,
1518
+ beforeSend : function ( _ , s ) {
1519
+ assert . strictEqual ( s . data , "devo=A%20Beautiful%20World" , "data is %20-encoded" ) ;
1520
+ return false ;
1521
+ } ,
1522
+ error : true
1452
1523
} ,
1453
- error : true
1454
- } ;
1524
+ {
1525
+ url : "bogus.html" ,
1526
+ data : [
1527
+ {
1528
+ name : "devo" ,
1529
+ value : "A Beautiful World"
1530
+ }
1531
+ ] ,
1532
+ type : "post" ,
1533
+ contentType : "text/plain" ,
1534
+ beforeSend : function ( _ , s ) {
1535
+ assert . strictEqual ( s . data , "devo=A%20Beautiful%20World" , "data is %20-encoded" ) ;
1536
+ return false ;
1537
+ } ,
1538
+ error : true
1539
+ }
1540
+ ] ;
1455
1541
} ) ;
1456
1542
1457
1543
ajaxTest ( "jQuery.ajax() - don't escape %20 with contentType override (gh-4119)" , 1 , function ( assert ) {
@@ -1500,34 +1586,82 @@ QUnit.module( "ajax", {
1500
1586
} ;
1501
1587
} ) ;
1502
1588
1503
- ajaxTest ( "jQuery.ajax() - data - no processing POST" , 1 , function ( assert ) {
1504
- return {
1505
- url : "bogus.html" ,
1506
- data : { devo : "A Beautiful World" } ,
1507
- type : "post" ,
1508
- contentType : "x-special-sauce" ,
1509
- processData : false ,
1510
- beforeSend : function ( _ , s ) {
1511
- assert . deepEqual ( s . data , { devo : "A Beautiful World" } , "data is not processed" ) ;
1512
- return false ;
1589
+ ajaxTest ( "jQuery.ajax() - data - no processing POST" , 2 , function ( assert ) {
1590
+ return [
1591
+ {
1592
+ url : "bogus.html" ,
1593
+ data : { devo : "A Beautiful World" } ,
1594
+ type : "post" ,
1595
+ contentType : "x-special-sauce" ,
1596
+ processData : false ,
1597
+ beforeSend : function ( _ , s ) {
1598
+ assert . deepEqual ( s . data , { devo : "A Beautiful World" } , "data is not processed" ) ;
1599
+ return false ;
1600
+ } ,
1601
+ error : true
1513
1602
} ,
1514
- error : true
1515
- } ;
1603
+ {
1604
+ url : "bogus.html" ,
1605
+ data : [
1606
+ {
1607
+ name : "devo" ,
1608
+ value : "A Beautiful World"
1609
+ }
1610
+ ] ,
1611
+ type : "post" ,
1612
+ contentType : "x-special-sauce" ,
1613
+ processData : false ,
1614
+ beforeSend : function ( _ , s ) {
1615
+ assert . deepEqual ( s . data , [
1616
+ {
1617
+ name : "devo" ,
1618
+ value : "A Beautiful World"
1619
+ }
1620
+ ] , "data is not processed" ) ;
1621
+ return false ;
1622
+ } ,
1623
+ error : true
1624
+ }
1625
+ ] ;
1516
1626
} ) ;
1517
1627
1518
- ajaxTest ( "jQuery.ajax() - data - no processing GET" , 1 , function ( assert ) {
1519
- return {
1520
- url : "bogus.html" ,
1521
- data : { devo : "A Beautiful World" } ,
1522
- type : "get" ,
1523
- contentType : "x-something-else" ,
1524
- processData : false ,
1525
- beforeSend : function ( _ , s ) {
1526
- assert . deepEqual ( s . data , { devo : "A Beautiful World" } , "data is not processed" ) ;
1527
- return false ;
1628
+ ajaxTest ( "jQuery.ajax() - data - no processing GET" , 2 , function ( assert ) {
1629
+ return [
1630
+ {
1631
+ url : "bogus.html" ,
1632
+ data : { devo : "A Beautiful World" } ,
1633
+ type : "get" ,
1634
+ contentType : "x-something-else" ,
1635
+ processData : false ,
1636
+ beforeSend : function ( _ , s ) {
1637
+ assert . deepEqual ( s . data , { devo : "A Beautiful World" } , "data is not processed" ) ;
1638
+ return false ;
1639
+ } ,
1640
+ error : true
1528
1641
} ,
1529
- error : true
1530
- } ;
1642
+ {
1643
+ url : "bogus.html" ,
1644
+ data : [
1645
+ {
1646
+ name : "devo" ,
1647
+ value : "A Beautiful World"
1648
+ }
1649
+ ] ,
1650
+ type : "get" ,
1651
+ contentType : "x-something-else" ,
1652
+ processData : false ,
1653
+ beforeSend : function ( _ , s ) {
1654
+ assert . deepEqual ( s . data , [
1655
+ {
1656
+ name : "devo" ,
1657
+ value : "A Beautiful World"
1658
+ }
1659
+ ] , "data is not processed" ) ;
1660
+ return false ;
1661
+ } ,
1662
+ error : true
1663
+ }
1664
+ ] ;
1531
1665
} ) ;
1532
1666
1533
1667
ajaxTest ( "jQuery.ajax() - data - process string with GET" , 2 , function ( assert ) {
0 commit comments