github.com/goccy/go-json@v0.10.3-0.20240509105655-5e2ae3f23c1d/test/cover/cover_marshal_text_test.go (about) 1 package json_test 2 3 import ( 4 "bytes" 5 "fmt" 6 "testing" 7 8 "github.com/goccy/go-json" 9 ) 10 11 type coverMarshalText struct { 12 A int 13 } 14 15 func (c coverMarshalText) MarshalText() ([]byte, error) { 16 return []byte(`"hello"`), nil 17 } 18 19 type coverPtrMarshalText struct { 20 B int 21 } 22 23 func (c *coverPtrMarshalText) MarshalText() ([]byte, error) { 24 return []byte(`"hello"`), nil 25 } 26 27 func TestCoverMarshalText(t *testing.T) { 28 type structMarshalText struct { 29 A coverMarshalText `json:"a"` 30 } 31 type structMarshalTextOmitEmpty struct { 32 A coverMarshalText `json:"a,omitempty"` 33 } 34 type structMarshalTextString struct { 35 A coverMarshalText `json:"a,string"` 36 } 37 type structPtrMarshalText struct { 38 A coverPtrMarshalText `json:"a"` 39 } 40 type structPtrMarshalTextOmitEmpty struct { 41 A coverPtrMarshalText `json:"a,omitempty"` 42 } 43 type structPtrMarshalTextString struct { 44 A coverPtrMarshalText `json:"a,string"` 45 } 46 47 type structMarshalTextPtr struct { 48 A *coverMarshalText `json:"a"` 49 } 50 type structMarshalTextPtrOmitEmpty struct { 51 A *coverMarshalText `json:"a,omitempty"` 52 } 53 type structMarshalTextPtrString struct { 54 A *coverMarshalText `json:"a,string"` 55 } 56 type structPtrMarshalTextPtr struct { 57 A *coverPtrMarshalText `json:"a"` 58 } 59 type structPtrMarshalTextPtrOmitEmpty struct { 60 A *coverPtrMarshalText `json:"a,omitempty"` 61 } 62 type structPtrMarshalTextPtrString struct { 63 A *coverPtrMarshalText `json:"a,string"` 64 } 65 66 tests := []struct { 67 name string 68 data interface{} 69 }{ 70 // HeadMarshalTextZero 71 { 72 name: "HeadMarshalTextZero", 73 data: struct { 74 A coverMarshalText `json:"a"` 75 }{}, 76 }, 77 { 78 name: "HeadMarshalTextZeroOmitEmpty", 79 data: struct { 80 A coverMarshalText `json:"a,omitempty"` 81 }{}, 82 }, 83 { 84 name: "HeadMarshalTextZeroString", 85 data: struct { 86 A coverMarshalText `json:"a,string"` 87 }{}, 88 }, 89 { 90 name: "HeadPtrMarshalTextZero", 91 data: struct { 92 A coverPtrMarshalText `json:"a"` 93 }{}, 94 }, 95 { 96 name: "HeadPtrMarshalTextZeroOmitEmpty", 97 data: struct { 98 A coverPtrMarshalText `json:"a,omitempty"` 99 }{}, 100 }, 101 { 102 name: "HeadPtrMarshalTextZeroString", 103 data: struct { 104 A coverPtrMarshalText `json:"a,string"` 105 }{}, 106 }, 107 108 // HeadMarshalText 109 { 110 name: "HeadMarshalText", 111 data: struct { 112 A coverMarshalText `json:"a"` 113 }{A: coverMarshalText{}}, 114 }, 115 { 116 name: "HeadMarshalTextOmitEmpty", 117 data: struct { 118 A coverMarshalText `json:"a,omitempty"` 119 }{A: coverMarshalText{}}, 120 }, 121 { 122 name: "HeadMarshalTextString", 123 data: struct { 124 A coverMarshalText `json:"a,string"` 125 }{A: coverMarshalText{}}, 126 }, 127 { 128 name: "HeadPtrMarshalText", 129 data: struct { 130 A coverPtrMarshalText `json:"a"` 131 }{A: coverPtrMarshalText{}}, 132 }, 133 { 134 name: "HeadPtrMarshalTextOmitEmpty", 135 data: struct { 136 A coverPtrMarshalText `json:"a,omitempty"` 137 }{A: coverPtrMarshalText{}}, 138 }, 139 { 140 name: "HeadPtrMarshalTextString", 141 data: struct { 142 A coverPtrMarshalText `json:"a,string"` 143 }{A: coverPtrMarshalText{}}, 144 }, 145 146 // HeadMarshalTextPtr 147 { 148 name: "HeadMarshalTextPtr", 149 data: struct { 150 A *coverMarshalText `json:"a"` 151 }{A: &coverMarshalText{}}, 152 }, 153 { 154 name: "HeadMarshalTextPtrOmitEmpty", 155 data: struct { 156 A *coverMarshalText `json:"a,omitempty"` 157 }{A: &coverMarshalText{}}, 158 }, 159 { 160 name: "HeadMarshalTextPtrString", 161 data: struct { 162 A *coverMarshalText `json:"a,string"` 163 }{A: &coverMarshalText{}}, 164 }, 165 { 166 name: "HeadPtrMarshalTextPtr", 167 data: struct { 168 A *coverPtrMarshalText `json:"a"` 169 }{A: &coverPtrMarshalText{}}, 170 }, 171 { 172 name: "HeadPtrMarshalTextPtrOmitEmpty", 173 data: struct { 174 A *coverPtrMarshalText `json:"a,omitempty"` 175 }{A: &coverPtrMarshalText{}}, 176 }, 177 { 178 name: "HeadPtrMarshalTextPtrString", 179 data: struct { 180 A *coverPtrMarshalText `json:"a,string"` 181 }{A: &coverPtrMarshalText{}}, 182 }, 183 184 // HeadMarshalTextPtrNil 185 { 186 name: "HeadMarshalTextPtrNil", 187 data: struct { 188 A *coverMarshalText `json:"a"` 189 }{A: nil}, 190 }, 191 { 192 name: "HeadMarshalTextPtrNilOmitEmpty", 193 data: struct { 194 A *coverMarshalText `json:"a,omitempty"` 195 }{A: nil}, 196 }, 197 { 198 name: "HeadMarshalTextPtrNilString", 199 data: struct { 200 A *coverMarshalText `json:"a,string"` 201 }{A: nil}, 202 }, 203 { 204 name: "HeadPtrMarshalTextPtrNil", 205 data: struct { 206 A *coverPtrMarshalText `json:"a"` 207 }{A: nil}, 208 }, 209 { 210 name: "HeadPtrMarshalTextPtrNilOmitEmpty", 211 data: struct { 212 A *coverPtrMarshalText `json:"a,omitempty"` 213 }{A: nil}, 214 }, 215 { 216 name: "HeadPtrMarshalTextPtrNilString", 217 data: struct { 218 A *coverPtrMarshalText `json:"a,string"` 219 }{A: nil}, 220 }, 221 222 // PtrHeadMarshalTextZero 223 { 224 name: "PtrHeadMarshalTextZero", 225 data: &struct { 226 A coverMarshalText `json:"a"` 227 }{}, 228 }, 229 { 230 name: "PtrHeadMarshalTextZeroOmitEmpty", 231 data: &struct { 232 A coverMarshalText `json:"a,omitempty"` 233 }{}, 234 }, 235 { 236 name: "PtrHeadMarshalTextZeroString", 237 data: &struct { 238 A coverMarshalText `json:"a,string"` 239 }{}, 240 }, 241 { 242 name: "PtrHeadPtrMarshalTextZero", 243 data: &struct { 244 A coverPtrMarshalText `json:"a"` 245 }{}, 246 }, 247 { 248 name: "PtrHeadPtrMarshalTextZeroOmitEmpty", 249 data: &struct { 250 A coverPtrMarshalText `json:"a,omitempty"` 251 }{}, 252 }, 253 { 254 name: "PtrHeadPtrMarshalTextZeroString", 255 data: &struct { 256 A coverPtrMarshalText `json:"a,string"` 257 }{}, 258 }, 259 260 // PtrHeadMarshalText 261 { 262 name: "PtrHeadMarshalText", 263 data: &struct { 264 A coverMarshalText `json:"a"` 265 }{A: coverMarshalText{}}, 266 }, 267 { 268 name: "PtrHeadMarshalTextOmitEmpty", 269 data: &struct { 270 A coverMarshalText `json:"a,omitempty"` 271 }{A: coverMarshalText{}}, 272 }, 273 { 274 name: "PtrHeadMarshalTextString", 275 data: &struct { 276 A coverMarshalText `json:"a,string"` 277 }{A: coverMarshalText{}}, 278 }, 279 { 280 name: "PtrHeadPtrMarshalText", 281 data: &struct { 282 A coverPtrMarshalText `json:"a"` 283 }{A: coverPtrMarshalText{}}, 284 }, 285 { 286 name: "PtrHeadPtrMarshalTextOmitEmpty", 287 data: &struct { 288 A coverPtrMarshalText `json:"a,omitempty"` 289 }{A: coverPtrMarshalText{}}, 290 }, 291 { 292 name: "PtrHeadPtrMarshalTextString", 293 data: &struct { 294 A coverPtrMarshalText `json:"a,string"` 295 }{A: coverPtrMarshalText{}}, 296 }, 297 298 // PtrHeadMarshalTextPtr 299 { 300 name: "PtrHeadMarshalTextPtr", 301 data: &struct { 302 A *coverMarshalText `json:"a"` 303 }{A: &coverMarshalText{}}, 304 }, 305 { 306 name: "PtrHeadMarshalTextPtrOmitEmpty", 307 data: &struct { 308 A *coverMarshalText `json:"a,omitempty"` 309 }{A: &coverMarshalText{}}, 310 }, 311 { 312 name: "PtrHeadMarshalTextPtrString", 313 data: &struct { 314 A *coverMarshalText `json:"a,string"` 315 }{A: &coverMarshalText{}}, 316 }, 317 { 318 name: "PtrHeadPtrMarshalTextPtr", 319 data: &struct { 320 A *coverPtrMarshalText `json:"a"` 321 }{A: &coverPtrMarshalText{}}, 322 }, 323 { 324 name: "PtrHeadPtrMarshalTextPtrOmitEmpty", 325 data: &struct { 326 A *coverPtrMarshalText `json:"a,omitempty"` 327 }{A: &coverPtrMarshalText{}}, 328 }, 329 { 330 name: "PtrHeadPtrMarshalTextPtrString", 331 data: &struct { 332 A *coverPtrMarshalText `json:"a,string"` 333 }{A: &coverPtrMarshalText{}}, 334 }, 335 336 // PtrHeadMarshalTextPtrNil 337 { 338 name: "PtrHeadMarshalTextPtrNil", 339 data: &struct { 340 A *coverMarshalText `json:"a"` 341 }{A: nil}, 342 }, 343 { 344 name: "PtrHeadMarshalTextPtrNilOmitEmpty", 345 data: &struct { 346 A *coverMarshalText `json:"a,omitempty"` 347 }{A: nil}, 348 }, 349 { 350 name: "PtrHeadMarshalTextPtrNilString", 351 data: &struct { 352 A *coverMarshalText `json:"a,string"` 353 }{A: nil}, 354 }, 355 { 356 name: "PtrHeadPtrMarshalTextPtrNil", 357 data: &struct { 358 A *coverPtrMarshalText `json:"a"` 359 }{A: nil}, 360 }, 361 { 362 name: "PtrHeadPtrMarshalTextPtrNilOmitEmpty", 363 data: &struct { 364 A *coverPtrMarshalText `json:"a,omitempty"` 365 }{A: nil}, 366 }, 367 { 368 name: "PtrHeadPtrMarshalTextPtrNilString", 369 data: &struct { 370 A *coverPtrMarshalText `json:"a,string"` 371 }{A: nil}, 372 }, 373 374 // PtrHeadMarshalTextNil 375 { 376 name: "PtrHeadMarshalTextNil", 377 data: (*struct { 378 A *coverMarshalText `json:"a"` 379 })(nil), 380 }, 381 { 382 name: "PtrHeadMarshalTextNilOmitEmpty", 383 data: (*struct { 384 A *coverMarshalText `json:"a,omitempty"` 385 })(nil), 386 }, 387 { 388 name: "PtrHeadMarshalTextNilString", 389 data: (*struct { 390 A *coverMarshalText `json:"a,string"` 391 })(nil), 392 }, 393 { 394 name: "PtrHeadPtrMarshalTextNil", 395 data: (*struct { 396 A *coverPtrMarshalText `json:"a"` 397 })(nil), 398 }, 399 { 400 name: "PtrHeadPtrMarshalTextNilOmitEmpty", 401 data: (*struct { 402 A *coverPtrMarshalText `json:"a,omitempty"` 403 })(nil), 404 }, 405 { 406 name: "PtrHeadPtrMarshalTextNilString", 407 data: (*struct { 408 A *coverPtrMarshalText `json:"a,string"` 409 })(nil), 410 }, 411 412 // HeadMarshalTextZeroMultiFields 413 { 414 name: "HeadMarshalTextZeroMultiFields", 415 data: struct { 416 A coverMarshalText `json:"a"` 417 B coverMarshalText `json:"b"` 418 C coverMarshalText `json:"c"` 419 }{}, 420 }, 421 { 422 name: "HeadMarshalTextZeroMultiFieldsOmitEmpty", 423 data: struct { 424 A coverMarshalText `json:"a,omitempty"` 425 B coverMarshalText `json:"b,omitempty"` 426 C coverMarshalText `json:"c,omitempty"` 427 }{}, 428 }, 429 { 430 name: "HeadMarshalTextZeroMultiFields", 431 data: struct { 432 A coverMarshalText `json:"a,string"` 433 B coverMarshalText `json:"b,string"` 434 C coverMarshalText `json:"c,string"` 435 }{}, 436 }, 437 { 438 name: "HeadPtrMarshalTextZeroMultiFields", 439 data: struct { 440 A coverPtrMarshalText `json:"a"` 441 B coverPtrMarshalText `json:"b"` 442 C coverPtrMarshalText `json:"c"` 443 }{}, 444 }, 445 { 446 name: "HeadPtrMarshalTextZeroMultiFieldsOmitEmpty", 447 data: struct { 448 A coverPtrMarshalText `json:"a,omitempty"` 449 B coverPtrMarshalText `json:"b,omitempty"` 450 C coverPtrMarshalText `json:"c,omitempty"` 451 }{}, 452 }, 453 { 454 name: "HeadPtrMarshalTextZeroMultiFields", 455 data: struct { 456 A coverPtrMarshalText `json:"a,string"` 457 B coverPtrMarshalText `json:"b,string"` 458 C coverPtrMarshalText `json:"c,string"` 459 }{}, 460 }, 461 462 // HeadMarshalTextMultiFields 463 { 464 name: "HeadMarshalTextMultiFields", 465 data: struct { 466 A coverMarshalText `json:"a"` 467 B coverMarshalText `json:"b"` 468 C coverMarshalText `json:"c"` 469 }{A: coverMarshalText{}, B: coverMarshalText{}, C: coverMarshalText{}}, 470 }, 471 { 472 name: "HeadMarshalTextMultiFieldsOmitEmpty", 473 data: struct { 474 A coverMarshalText `json:"a,omitempty"` 475 B coverMarshalText `json:"b,omitempty"` 476 C coverMarshalText `json:"c,omitempty"` 477 }{A: coverMarshalText{}, B: coverMarshalText{}, C: coverMarshalText{}}, 478 }, 479 { 480 name: "HeadMarshalTextMultiFieldsString", 481 data: struct { 482 A coverMarshalText `json:"a,string"` 483 B coverMarshalText `json:"b,string"` 484 C coverMarshalText `json:"c,string"` 485 }{A: coverMarshalText{}, B: coverMarshalText{}, C: coverMarshalText{}}, 486 }, 487 { 488 name: "HeadPtrMarshalTextMultiFields", 489 data: struct { 490 A coverPtrMarshalText `json:"a"` 491 B coverPtrMarshalText `json:"b"` 492 C coverPtrMarshalText `json:"c"` 493 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}, C: coverPtrMarshalText{}}, 494 }, 495 { 496 name: "HeadPtrMarshalTextMultiFieldsOmitEmpty", 497 data: struct { 498 A coverPtrMarshalText `json:"a,omitempty"` 499 B coverPtrMarshalText `json:"b,omitempty"` 500 C coverPtrMarshalText `json:"c,omitempty"` 501 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}, C: coverPtrMarshalText{}}, 502 }, 503 { 504 name: "HeadPtrMarshalTextMultiFieldsString", 505 data: struct { 506 A coverPtrMarshalText `json:"a,string"` 507 B coverPtrMarshalText `json:"b,string"` 508 C coverPtrMarshalText `json:"c,string"` 509 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}, C: coverPtrMarshalText{}}, 510 }, 511 512 // HeadMarshalTextPtrMultiFields 513 { 514 name: "HeadMarshalTextPtrMultiFields", 515 data: struct { 516 A *coverMarshalText `json:"a"` 517 B *coverMarshalText `json:"b"` 518 C *coverMarshalText `json:"c"` 519 }{A: &coverMarshalText{}, B: &coverMarshalText{}, C: &coverMarshalText{}}, 520 }, 521 { 522 name: "HeadMarshalTextPtrMultiFieldsOmitEmpty", 523 data: struct { 524 A *coverMarshalText `json:"a,omitempty"` 525 B *coverMarshalText `json:"b,omitempty"` 526 C *coverMarshalText `json:"c,omitempty"` 527 }{A: &coverMarshalText{}, B: &coverMarshalText{}, C: &coverMarshalText{}}, 528 }, 529 { 530 name: "HeadMarshalTextPtrMultiFieldsString", 531 data: struct { 532 A *coverMarshalText `json:"a,string"` 533 B *coverMarshalText `json:"b,string"` 534 C *coverMarshalText `json:"c,string"` 535 }{A: &coverMarshalText{}, B: &coverMarshalText{}, C: &coverMarshalText{}}, 536 }, 537 { 538 name: "HeadPtrMarshalTextPtrMultiFields", 539 data: struct { 540 A *coverPtrMarshalText `json:"a"` 541 B *coverPtrMarshalText `json:"b"` 542 C *coverPtrMarshalText `json:"c"` 543 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}, C: &coverPtrMarshalText{}}, 544 }, 545 { 546 name: "HeadPtrMarshalTextPtrMultiFieldsOmitEmpty", 547 data: struct { 548 A *coverPtrMarshalText `json:"a,omitempty"` 549 B *coverPtrMarshalText `json:"b,omitempty"` 550 C *coverPtrMarshalText `json:"c,omitempty"` 551 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}, C: &coverPtrMarshalText{}}, 552 }, 553 { 554 name: "HeadPtrMarshalTextPtrMultiFieldsString", 555 data: struct { 556 A *coverPtrMarshalText `json:"a,string"` 557 B *coverPtrMarshalText `json:"b,string"` 558 C *coverPtrMarshalText `json:"c,string"` 559 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}, C: &coverPtrMarshalText{}}, 560 }, 561 562 // HeadMarshalTextPtrNilMultiFields 563 { 564 name: "HeadMarshalTextPtrNilMultiFields", 565 data: struct { 566 A *coverMarshalText `json:"a"` 567 B *coverMarshalText `json:"b"` 568 C *coverMarshalText `json:"c"` 569 }{A: nil, B: nil, C: nil}, 570 }, 571 { 572 name: "HeadMarshalTextPtrNilMultiFieldsOmitEmpty", 573 data: struct { 574 A *coverMarshalText `json:"a,omitempty"` 575 B *coverMarshalText `json:"b,omitempty"` 576 C *coverMarshalText `json:"c,omitempty"` 577 }{A: nil, B: nil, C: nil}, 578 }, 579 { 580 name: "HeadMarshalTextPtrNilMultiFieldsString", 581 data: struct { 582 A *coverMarshalText `json:"a,string"` 583 B *coverMarshalText `json:"b,string"` 584 C *coverMarshalText `json:"c,string"` 585 }{A: nil, B: nil, C: nil}, 586 }, 587 { 588 name: "HeadPtrMarshalTextPtrNilMultiFields", 589 data: struct { 590 A *coverPtrMarshalText `json:"a"` 591 B *coverPtrMarshalText `json:"b"` 592 C *coverPtrMarshalText `json:"c"` 593 }{A: nil, B: nil, C: nil}, 594 }, 595 { 596 name: "HeadPtrMarshalTextPtrNilMultiFieldsOmitEmpty", 597 data: struct { 598 A *coverPtrMarshalText `json:"a,omitempty"` 599 B *coverPtrMarshalText `json:"b,omitempty"` 600 C *coverPtrMarshalText `json:"c,omitempty"` 601 }{A: nil, B: nil, C: nil}, 602 }, 603 { 604 name: "HeadPtrMarshalTextPtrNilMultiFieldsString", 605 data: struct { 606 A *coverPtrMarshalText `json:"a,string"` 607 B *coverPtrMarshalText `json:"b,string"` 608 C *coverPtrMarshalText `json:"c,string"` 609 }{A: nil, B: nil, C: nil}, 610 }, 611 612 // PtrHeadMarshalTextZeroMultiFields 613 { 614 name: "PtrHeadMarshalTextZeroMultiFields", 615 data: &struct { 616 A coverMarshalText `json:"a"` 617 B coverMarshalText `json:"b"` 618 }{}, 619 }, 620 { 621 name: "PtrHeadMarshalTextZeroMultiFieldsOmitEmpty", 622 data: &struct { 623 A coverMarshalText `json:"a,omitempty"` 624 B coverMarshalText `json:"b,omitempty"` 625 }{}, 626 }, 627 { 628 name: "PtrHeadMarshalTextZeroMultiFieldsString", 629 data: &struct { 630 A coverMarshalText `json:"a,string"` 631 B coverMarshalText `json:"b,string"` 632 }{}, 633 }, 634 { 635 name: "PtrHeadPtrMarshalTextZeroMultiFields", 636 data: &struct { 637 A coverPtrMarshalText `json:"a"` 638 B coverPtrMarshalText `json:"b"` 639 }{}, 640 }, 641 { 642 name: "PtrHeadPtrMarshalTextZeroMultiFieldsOmitEmpty", 643 data: &struct { 644 A coverPtrMarshalText `json:"a,omitempty"` 645 B coverPtrMarshalText `json:"b,omitempty"` 646 }{}, 647 }, 648 { 649 name: "PtrHeadPtrMarshalTextZeroMultiFieldsString", 650 data: &struct { 651 A coverPtrMarshalText `json:"a,string"` 652 B coverPtrMarshalText `json:"b,string"` 653 }{}, 654 }, 655 656 // PtrHeadMarshalTextMultiFields 657 { 658 name: "PtrHeadMarshalTextMultiFields", 659 data: &struct { 660 A coverMarshalText `json:"a"` 661 B coverMarshalText `json:"b"` 662 }{A: coverMarshalText{}, B: coverMarshalText{}}, 663 }, 664 { 665 name: "PtrHeadMarshalTextMultiFieldsOmitEmpty", 666 data: &struct { 667 A coverMarshalText `json:"a,omitempty"` 668 B coverMarshalText `json:"b,omitempty"` 669 }{A: coverMarshalText{}, B: coverMarshalText{}}, 670 }, 671 { 672 name: "PtrHeadMarshalTextMultiFieldsString", 673 data: &struct { 674 A coverMarshalText `json:"a,string"` 675 B coverMarshalText `json:"b,string"` 676 }{A: coverMarshalText{}, B: coverMarshalText{}}, 677 }, 678 { 679 name: "PtrHeadPtrMarshalTextMultiFields", 680 data: &struct { 681 A coverPtrMarshalText `json:"a"` 682 B coverPtrMarshalText `json:"b"` 683 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}}, 684 }, 685 { 686 name: "PtrHeadPtrMarshalTextMultiFieldsOmitEmpty", 687 data: &struct { 688 A coverPtrMarshalText `json:"a,omitempty"` 689 B coverPtrMarshalText `json:"b,omitempty"` 690 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}}, 691 }, 692 { 693 name: "PtrHeadPtrMarshalTextMultiFieldsString", 694 data: &struct { 695 A coverPtrMarshalText `json:"a,string"` 696 B coverPtrMarshalText `json:"b,string"` 697 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}}, 698 }, 699 700 // PtrHeadMarshalTextPtrMultiFields 701 { 702 name: "PtrHeadMarshalTextPtrMultiFields", 703 data: &struct { 704 A *coverMarshalText `json:"a"` 705 B *coverMarshalText `json:"b"` 706 }{A: &coverMarshalText{}, B: &coverMarshalText{}}, 707 }, 708 { 709 name: "PtrHeadMarshalTextPtrMultiFieldsOmitEmpty", 710 data: &struct { 711 A *coverMarshalText `json:"a,omitempty"` 712 B *coverMarshalText `json:"b,omitempty"` 713 }{A: &coverMarshalText{}, B: &coverMarshalText{}}, 714 }, 715 { 716 name: "PtrHeadMarshalTextPtrMultiFieldsString", 717 data: &struct { 718 A *coverMarshalText `json:"a,string"` 719 B *coverMarshalText `json:"b,string"` 720 }{A: &coverMarshalText{}, B: &coverMarshalText{}}, 721 }, 722 { 723 name: "PtrHeadPtrMarshalTextPtrMultiFields", 724 data: &struct { 725 A *coverPtrMarshalText `json:"a"` 726 B *coverPtrMarshalText `json:"b"` 727 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}}, 728 }, 729 { 730 name: "PtrHeadPtrMarshalTextPtrMultiFieldsOmitEmpty", 731 data: &struct { 732 A *coverPtrMarshalText `json:"a,omitempty"` 733 B *coverPtrMarshalText `json:"b,omitempty"` 734 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}}, 735 }, 736 { 737 name: "PtrHeadPtrMarshalTextPtrMultiFieldsString", 738 data: &struct { 739 A *coverPtrMarshalText `json:"a,string"` 740 B *coverPtrMarshalText `json:"b,string"` 741 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}}, 742 }, 743 744 // PtrHeadMarshalTextPtrNilMultiFields 745 { 746 name: "PtrHeadMarshalTextPtrNilMultiFields", 747 data: &struct { 748 A *coverMarshalText `json:"a"` 749 B *coverMarshalText `json:"b"` 750 }{A: nil, B: nil}, 751 }, 752 { 753 name: "PtrHeadMarshalTextPtrNilMultiFieldsOmitEmpty", 754 data: &struct { 755 A *coverMarshalText `json:"a,omitempty"` 756 B *coverMarshalText `json:"b,omitempty"` 757 }{A: nil, B: nil}, 758 }, 759 { 760 name: "PtrHeadMarshalTextPtrNilMultiFieldsString", 761 data: &struct { 762 A *coverMarshalText `json:"a,string"` 763 B *coverMarshalText `json:"b,string"` 764 }{A: nil, B: nil}, 765 }, 766 { 767 name: "PtrHeadPtrMarshalTextPtrNilMultiFields", 768 data: &struct { 769 A *coverPtrMarshalText `json:"a"` 770 B *coverPtrMarshalText `json:"b"` 771 }{A: nil, B: nil}, 772 }, 773 { 774 name: "PtrHeadPtrMarshalTextPtrNilMultiFieldsOmitEmpty", 775 data: &struct { 776 A *coverPtrMarshalText `json:"a,omitempty"` 777 B *coverPtrMarshalText `json:"b,omitempty"` 778 }{A: nil, B: nil}, 779 }, 780 { 781 name: "PtrHeadPtrMarshalTextPtrNilMultiFieldsString", 782 data: &struct { 783 A *coverPtrMarshalText `json:"a,string"` 784 B *coverPtrMarshalText `json:"b,string"` 785 }{A: nil, B: nil}, 786 }, 787 788 // PtrHeadMarshalTextNilMultiFields 789 { 790 name: "PtrHeadMarshalTextNilMultiFields", 791 data: (*struct { 792 A coverMarshalText `json:"a"` 793 B coverMarshalText `json:"b"` 794 })(nil), 795 }, 796 { 797 name: "PtrHeadMarshalTextNilMultiFieldsOmitEmpty", 798 data: (*struct { 799 A coverMarshalText `json:"a,omitempty"` 800 B coverMarshalText `json:"b,omitempty"` 801 })(nil), 802 }, 803 { 804 name: "PtrHeadMarshalTextNilMultiFieldsString", 805 data: (*struct { 806 A coverMarshalText `json:"a,string"` 807 B coverMarshalText `json:"b,string"` 808 })(nil), 809 }, 810 { 811 name: "PtrHeadPtrMarshalTextNilMultiFields", 812 data: (*struct { 813 A coverPtrMarshalText `json:"a"` 814 B coverPtrMarshalText `json:"b"` 815 })(nil), 816 }, 817 { 818 name: "PtrHeadPtrMarshalTextNilMultiFieldsOmitEmpty", 819 data: (*struct { 820 A coverPtrMarshalText `json:"a,omitempty"` 821 B coverPtrMarshalText `json:"b,omitempty"` 822 })(nil), 823 }, 824 { 825 name: "PtrHeadPtrMarshalTextNilMultiFieldsString", 826 data: (*struct { 827 A coverPtrMarshalText `json:"a,string"` 828 B coverPtrMarshalText `json:"b,string"` 829 })(nil), 830 }, 831 832 // PtrHeadMarshalTextNilMultiFields 833 { 834 name: "PtrHeadMarshalTextNilMultiFields", 835 data: (*struct { 836 A *coverMarshalText `json:"a"` 837 B *coverMarshalText `json:"b"` 838 })(nil), 839 }, 840 { 841 name: "PtrHeadMarshalTextNilMultiFieldsOmitEmpty", 842 data: (*struct { 843 A *coverMarshalText `json:"a,omitempty"` 844 B *coverMarshalText `json:"b,omitempty"` 845 })(nil), 846 }, 847 { 848 name: "PtrHeadMarshalTextNilMultiFieldsString", 849 data: (*struct { 850 A *coverMarshalText `json:"a,string"` 851 B *coverMarshalText `json:"b,string"` 852 })(nil), 853 }, 854 { 855 name: "PtrHeadPtrMarshalTextNilMultiFields", 856 data: (*struct { 857 A *coverPtrMarshalText `json:"a"` 858 B *coverPtrMarshalText `json:"b"` 859 })(nil), 860 }, 861 { 862 name: "PtrHeadPtrMarshalTextNilMultiFieldsOmitEmpty", 863 data: (*struct { 864 A *coverPtrMarshalText `json:"a,omitempty"` 865 B *coverPtrMarshalText `json:"b,omitempty"` 866 })(nil), 867 }, 868 { 869 name: "PtrHeadPtrMarshalTextNilMultiFieldsString", 870 data: (*struct { 871 A *coverPtrMarshalText `json:"a,string"` 872 B *coverPtrMarshalText `json:"b,string"` 873 })(nil), 874 }, 875 876 // HeadMarshalTextZeroNotRoot 877 { 878 name: "HeadMarshalTextZeroNotRoot", 879 data: struct { 880 A struct { 881 A coverMarshalText `json:"a"` 882 } 883 }{}, 884 }, 885 { 886 name: "HeadMarshalTextZeroNotRootOmitEmpty", 887 data: struct { 888 A struct { 889 A coverMarshalText `json:"a,omitempty"` 890 } 891 }{}, 892 }, 893 { 894 name: "HeadMarshalTextZeroNotRootString", 895 data: struct { 896 A struct { 897 A coverMarshalText `json:"a,string"` 898 } 899 }{}, 900 }, 901 { 902 name: "HeadPtrMarshalTextZeroNotRoot", 903 data: struct { 904 A struct { 905 A coverPtrMarshalText `json:"a"` 906 } 907 }{}, 908 }, 909 { 910 name: "HeadPtrMarshalTextZeroNotRootOmitEmpty", 911 data: struct { 912 A struct { 913 A coverPtrMarshalText `json:"a,omitempty"` 914 } 915 }{}, 916 }, 917 { 918 name: "HeadPtrMarshalTextZeroNotRootString", 919 data: struct { 920 A struct { 921 A coverPtrMarshalText `json:"a,string"` 922 } 923 }{}, 924 }, 925 926 // HeadMarshalTextNotRoot 927 { 928 name: "HeadMarshalTextNotRoot", 929 data: struct { 930 A struct { 931 A coverMarshalText `json:"a"` 932 } 933 }{A: struct { 934 A coverMarshalText `json:"a"` 935 }{A: coverMarshalText{}}}, 936 }, 937 { 938 name: "HeadMarshalTextNotRootOmitEmpty", 939 data: struct { 940 A struct { 941 A coverMarshalText `json:"a,omitempty"` 942 } 943 }{A: struct { 944 A coverMarshalText `json:"a,omitempty"` 945 }{A: coverMarshalText{}}}, 946 }, 947 { 948 name: "HeadMarshalTextNotRootString", 949 data: struct { 950 A struct { 951 A coverMarshalText `json:"a,string"` 952 } 953 }{A: struct { 954 A coverMarshalText `json:"a,string"` 955 }{A: coverMarshalText{}}}, 956 }, 957 { 958 name: "HeadMarshalTextNotRoot", 959 data: struct { 960 A struct { 961 A coverPtrMarshalText `json:"a"` 962 } 963 }{A: struct { 964 A coverPtrMarshalText `json:"a"` 965 }{A: coverPtrMarshalText{}}}, 966 }, 967 { 968 name: "HeadMarshalTextNotRootOmitEmpty", 969 data: struct { 970 A struct { 971 A coverPtrMarshalText `json:"a,omitempty"` 972 } 973 }{A: struct { 974 A coverPtrMarshalText `json:"a,omitempty"` 975 }{A: coverPtrMarshalText{}}}, 976 }, 977 { 978 name: "HeadMarshalTextNotRootString", 979 data: struct { 980 A struct { 981 A coverPtrMarshalText `json:"a,string"` 982 } 983 }{A: struct { 984 A coverPtrMarshalText `json:"a,string"` 985 }{A: coverPtrMarshalText{}}}, 986 }, 987 988 // HeadMarshalTextPtrNotRoot 989 { 990 name: "HeadMarshalTextPtrNotRoot", 991 data: struct { 992 A struct { 993 A *coverMarshalText `json:"a"` 994 } 995 }{A: struct { 996 A *coverMarshalText `json:"a"` 997 }{&coverMarshalText{}}}, 998 }, 999 { 1000 name: "HeadMarshalTextPtrNotRootOmitEmpty", 1001 data: struct { 1002 A struct { 1003 A *coverMarshalText `json:"a,omitempty"` 1004 } 1005 }{A: struct { 1006 A *coverMarshalText `json:"a,omitempty"` 1007 }{&coverMarshalText{}}}, 1008 }, 1009 { 1010 name: "HeadMarshalTextPtrNotRootString", 1011 data: struct { 1012 A struct { 1013 A *coverMarshalText `json:"a,string"` 1014 } 1015 }{A: struct { 1016 A *coverMarshalText `json:"a,string"` 1017 }{&coverMarshalText{}}}, 1018 }, 1019 { 1020 name: "HeadPtrMarshalTextPtrNotRoot", 1021 data: struct { 1022 A struct { 1023 A *coverPtrMarshalText `json:"a"` 1024 } 1025 }{A: struct { 1026 A *coverPtrMarshalText `json:"a"` 1027 }{&coverPtrMarshalText{}}}, 1028 }, 1029 { 1030 name: "HeadPtrMarshalTextPtrNotRootOmitEmpty", 1031 data: struct { 1032 A struct { 1033 A *coverPtrMarshalText `json:"a,omitempty"` 1034 } 1035 }{A: struct { 1036 A *coverPtrMarshalText `json:"a,omitempty"` 1037 }{&coverPtrMarshalText{}}}, 1038 }, 1039 { 1040 name: "HeadPtrMarshalTextPtrNotRootString", 1041 data: struct { 1042 A struct { 1043 A *coverPtrMarshalText `json:"a,string"` 1044 } 1045 }{A: struct { 1046 A *coverPtrMarshalText `json:"a,string"` 1047 }{&coverPtrMarshalText{}}}, 1048 }, 1049 1050 // HeadMarshalTextPtrNilNotRoot 1051 { 1052 name: "HeadMarshalTextPtrNilNotRoot", 1053 data: struct { 1054 A struct { 1055 A *coverMarshalText `json:"a"` 1056 } 1057 }{}, 1058 }, 1059 { 1060 name: "HeadMarshalTextPtrNilNotRootOmitEmpty", 1061 data: struct { 1062 A struct { 1063 A *coverMarshalText `json:"a,omitempty"` 1064 } 1065 }{}, 1066 }, 1067 { 1068 name: "HeadMarshalTextPtrNilNotRootString", 1069 data: struct { 1070 A struct { 1071 A *coverMarshalText `json:"a,string"` 1072 } 1073 }{}, 1074 }, 1075 { 1076 name: "HeadPtrMarshalTextPtrNilNotRoot", 1077 data: struct { 1078 A struct { 1079 A *coverPtrMarshalText `json:"a"` 1080 } 1081 }{}, 1082 }, 1083 { 1084 name: "HeadPtrMarshalTextPtrNilNotRootOmitEmpty", 1085 data: struct { 1086 A struct { 1087 A *coverPtrMarshalText `json:"a,omitempty"` 1088 } 1089 }{}, 1090 }, 1091 { 1092 name: "HeadPtrMarshalTextPtrNilNotRootString", 1093 data: struct { 1094 A struct { 1095 A *coverPtrMarshalText `json:"a,string"` 1096 } 1097 }{}, 1098 }, 1099 1100 // PtrHeadMarshalTextZeroNotRoot 1101 { 1102 name: "PtrHeadMarshalTextZeroNotRoot", 1103 data: struct { 1104 A *struct { 1105 A coverMarshalText `json:"a"` 1106 } 1107 }{A: new(struct { 1108 A coverMarshalText `json:"a"` 1109 })}, 1110 }, 1111 { 1112 name: "PtrHeadMarshalTextZeroNotRootOmitEmpty", 1113 data: struct { 1114 A *struct { 1115 A coverMarshalText `json:"a,omitempty"` 1116 } 1117 }{A: new(struct { 1118 A coverMarshalText `json:"a,omitempty"` 1119 })}, 1120 }, 1121 { 1122 name: "PtrHeadMarshalTextZeroNotRootString", 1123 data: struct { 1124 A *struct { 1125 A coverMarshalText `json:"a,string"` 1126 } 1127 }{A: new(struct { 1128 A coverMarshalText `json:"a,string"` 1129 })}, 1130 }, 1131 { 1132 name: "PtrHeadPtrMarshalTextZeroNotRoot", 1133 data: struct { 1134 A *struct { 1135 A coverPtrMarshalText `json:"a"` 1136 } 1137 }{A: new(struct { 1138 A coverPtrMarshalText `json:"a"` 1139 })}, 1140 }, 1141 { 1142 name: "PtrHeadPtrMarshalTextZeroNotRootOmitEmpty", 1143 data: struct { 1144 A *struct { 1145 A coverPtrMarshalText `json:"a,omitempty"` 1146 } 1147 }{A: new(struct { 1148 A coverPtrMarshalText `json:"a,omitempty"` 1149 })}, 1150 }, 1151 { 1152 name: "PtrHeadPtrMarshalTextZeroNotRootString", 1153 data: struct { 1154 A *struct { 1155 A coverPtrMarshalText `json:"a,string"` 1156 } 1157 }{A: new(struct { 1158 A coverPtrMarshalText `json:"a,string"` 1159 })}, 1160 }, 1161 1162 // PtrHeadMarshalTextNotRoot 1163 { 1164 name: "PtrHeadMarshalTextNotRoot", 1165 data: struct { 1166 A *struct { 1167 A coverMarshalText `json:"a"` 1168 } 1169 }{A: &(struct { 1170 A coverMarshalText `json:"a"` 1171 }{A: coverMarshalText{}})}, 1172 }, 1173 { 1174 name: "PtrHeadMarshalTextNotRootOmitEmpty", 1175 data: struct { 1176 A *struct { 1177 A coverMarshalText `json:"a,omitempty"` 1178 } 1179 }{A: &(struct { 1180 A coverMarshalText `json:"a,omitempty"` 1181 }{A: coverMarshalText{}})}, 1182 }, 1183 { 1184 name: "PtrHeadMarshalTextNotRootString", 1185 data: struct { 1186 A *struct { 1187 A coverMarshalText `json:"a,string"` 1188 } 1189 }{A: &(struct { 1190 A coverMarshalText `json:"a,string"` 1191 }{A: coverMarshalText{}})}, 1192 }, 1193 { 1194 name: "PtrHeadPtrMarshalTextNotRoot", 1195 data: struct { 1196 A *struct { 1197 A coverPtrMarshalText `json:"a"` 1198 } 1199 }{A: &(struct { 1200 A coverPtrMarshalText `json:"a"` 1201 }{A: coverPtrMarshalText{}})}, 1202 }, 1203 { 1204 name: "PtrHeadPtrMarshalTextNotRootOmitEmpty", 1205 data: struct { 1206 A *struct { 1207 A coverPtrMarshalText `json:"a,omitempty"` 1208 } 1209 }{A: &(struct { 1210 A coverPtrMarshalText `json:"a,omitempty"` 1211 }{A: coverPtrMarshalText{}})}, 1212 }, 1213 { 1214 name: "PtrHeadPtrMarshalTextNotRootString", 1215 data: struct { 1216 A *struct { 1217 A coverPtrMarshalText `json:"a,string"` 1218 } 1219 }{A: &(struct { 1220 A coverPtrMarshalText `json:"a,string"` 1221 }{A: coverPtrMarshalText{}})}, 1222 }, 1223 1224 // PtrHeadMarshalTextPtrNotRoot 1225 { 1226 name: "PtrHeadMarshalTextPtrNotRoot", 1227 data: struct { 1228 A *struct { 1229 A *coverMarshalText `json:"a"` 1230 } 1231 }{A: &(struct { 1232 A *coverMarshalText `json:"a"` 1233 }{A: &coverMarshalText{}})}, 1234 }, 1235 { 1236 name: "PtrHeadMarshalTextPtrNotRootOmitEmpty", 1237 data: struct { 1238 A *struct { 1239 A *coverMarshalText `json:"a,omitempty"` 1240 } 1241 }{A: &(struct { 1242 A *coverMarshalText `json:"a,omitempty"` 1243 }{A: &coverMarshalText{}})}, 1244 }, 1245 { 1246 name: "PtrHeadMarshalTextPtrNotRootString", 1247 data: struct { 1248 A *struct { 1249 A *coverMarshalText `json:"a,string"` 1250 } 1251 }{A: &(struct { 1252 A *coverMarshalText `json:"a,string"` 1253 }{A: &coverMarshalText{}})}, 1254 }, 1255 { 1256 name: "PtrHeadPtrMarshalTextPtrNotRoot", 1257 data: struct { 1258 A *struct { 1259 A *coverPtrMarshalText `json:"a"` 1260 } 1261 }{A: &(struct { 1262 A *coverPtrMarshalText `json:"a"` 1263 }{A: &coverPtrMarshalText{}})}, 1264 }, 1265 { 1266 name: "PtrHeadPtrMarshalTextPtrNotRootOmitEmpty", 1267 data: struct { 1268 A *struct { 1269 A *coverPtrMarshalText `json:"a,omitempty"` 1270 } 1271 }{A: &(struct { 1272 A *coverPtrMarshalText `json:"a,omitempty"` 1273 }{A: &coverPtrMarshalText{}})}, 1274 }, 1275 { 1276 name: "PtrHeadPtrMarshalTextPtrNotRootString", 1277 data: struct { 1278 A *struct { 1279 A *coverPtrMarshalText `json:"a,string"` 1280 } 1281 }{A: &(struct { 1282 A *coverPtrMarshalText `json:"a,string"` 1283 }{A: &coverPtrMarshalText{}})}, 1284 }, 1285 1286 // PtrHeadMarshalTextPtrNilNotRoot 1287 { 1288 name: "PtrHeadMarshalTextPtrNilNotRoot", 1289 data: struct { 1290 A *struct { 1291 A *coverMarshalText `json:"a"` 1292 } 1293 }{A: &(struct { 1294 A *coverMarshalText `json:"a"` 1295 }{A: nil})}, 1296 }, 1297 { 1298 name: "PtrHeadMarshalTextPtrNilNotRootOmitEmpty", 1299 data: struct { 1300 A *struct { 1301 A *coverMarshalText `json:"a,omitempty"` 1302 } 1303 }{A: &(struct { 1304 A *coverMarshalText `json:"a,omitempty"` 1305 }{A: nil})}, 1306 }, 1307 { 1308 name: "PtrHeadMarshalTextPtrNilNotRootString", 1309 data: struct { 1310 A *struct { 1311 A *coverMarshalText `json:"a,string"` 1312 } 1313 }{A: &(struct { 1314 A *coverMarshalText `json:"a,string"` 1315 }{A: nil})}, 1316 }, 1317 { 1318 name: "PtrHeadPtrMarshalTextPtrNilNotRoot", 1319 data: struct { 1320 A *struct { 1321 A *coverPtrMarshalText `json:"a"` 1322 } 1323 }{A: &(struct { 1324 A *coverPtrMarshalText `json:"a"` 1325 }{A: nil})}, 1326 }, 1327 { 1328 name: "PtrHeadPtrMarshalTextPtrNilNotRootOmitEmpty", 1329 data: struct { 1330 A *struct { 1331 A *coverPtrMarshalText `json:"a,omitempty"` 1332 } 1333 }{A: &(struct { 1334 A *coverPtrMarshalText `json:"a,omitempty"` 1335 }{A: nil})}, 1336 }, 1337 { 1338 name: "PtrHeadPtrMarshalTextPtrNilNotRootString", 1339 data: struct { 1340 A *struct { 1341 A *coverPtrMarshalText `json:"a,string"` 1342 } 1343 }{A: &(struct { 1344 A *coverPtrMarshalText `json:"a,string"` 1345 }{A: nil})}, 1346 }, 1347 1348 // PtrHeadMarshalTextNilNotRoot 1349 { 1350 name: "PtrHeadMarshalTextNilNotRoot", 1351 data: struct { 1352 A *struct { 1353 A *coverMarshalText `json:"a"` 1354 } 1355 }{A: nil}, 1356 }, 1357 { 1358 name: "PtrHeadMarshalTextNilNotRootOmitEmpty", 1359 data: struct { 1360 A *struct { 1361 A *coverMarshalText `json:"a,omitempty"` 1362 } `json:",omitempty"` 1363 }{A: nil}, 1364 }, 1365 { 1366 name: "PtrHeadMarshalTextNilNotRootString", 1367 data: struct { 1368 A *struct { 1369 A *coverMarshalText `json:"a,string"` 1370 } `json:",string"` 1371 }{A: nil}, 1372 }, 1373 { 1374 name: "PtrHeadPtrMarshalTextNilNotRoot", 1375 data: struct { 1376 A *struct { 1377 A *coverPtrMarshalText `json:"a"` 1378 } 1379 }{A: nil}, 1380 }, 1381 { 1382 name: "PtrHeadPtrMarshalTextNilNotRootOmitEmpty", 1383 data: struct { 1384 A *struct { 1385 A *coverPtrMarshalText `json:"a,omitempty"` 1386 } `json:",omitempty"` 1387 }{A: nil}, 1388 }, 1389 { 1390 name: "PtrHeadPtrMarshalTextNilNotRootString", 1391 data: struct { 1392 A *struct { 1393 A *coverPtrMarshalText `json:"a,string"` 1394 } `json:",string"` 1395 }{A: nil}, 1396 }, 1397 1398 // HeadMarshalTextZeroMultiFieldsNotRoot 1399 { 1400 name: "HeadMarshalTextZeroMultiFieldsNotRoot", 1401 data: struct { 1402 A struct { 1403 A coverMarshalText `json:"a"` 1404 } 1405 B struct { 1406 B coverMarshalText `json:"b"` 1407 } 1408 }{}, 1409 }, 1410 { 1411 name: "HeadMarshalTextZeroMultiFieldsNotRootOmitEmpty", 1412 data: struct { 1413 A struct { 1414 A coverMarshalText `json:"a,omitempty"` 1415 } 1416 B struct { 1417 B coverMarshalText `json:"b,omitempty"` 1418 } 1419 }{}, 1420 }, 1421 { 1422 name: "HeadMarshalTextZeroMultiFieldsNotRootString", 1423 data: struct { 1424 A struct { 1425 A coverMarshalText `json:"a,string"` 1426 } 1427 B struct { 1428 B coverMarshalText `json:"b,string"` 1429 } 1430 }{}, 1431 }, 1432 { 1433 name: "HeadPtrMarshalTextZeroMultiFieldsNotRoot", 1434 data: struct { 1435 A struct { 1436 A coverPtrMarshalText `json:"a"` 1437 } 1438 B struct { 1439 B coverPtrMarshalText `json:"b"` 1440 } 1441 }{}, 1442 }, 1443 { 1444 name: "HeadPtrMarshalTextZeroMultiFieldsNotRootOmitEmpty", 1445 data: struct { 1446 A struct { 1447 A coverPtrMarshalText `json:"a,omitempty"` 1448 } 1449 B struct { 1450 B coverPtrMarshalText `json:"b,omitempty"` 1451 } 1452 }{}, 1453 }, 1454 { 1455 name: "HeadPtrMarshalTextZeroMultiFieldsNotRootString", 1456 data: struct { 1457 A struct { 1458 A coverPtrMarshalText `json:"a,string"` 1459 } 1460 B struct { 1461 B coverPtrMarshalText `json:"b,string"` 1462 } 1463 }{}, 1464 }, 1465 1466 // HeadMarshalTextMultiFieldsNotRoot 1467 { 1468 name: "HeadMarshalTextMultiFieldsNotRoot", 1469 data: struct { 1470 A struct { 1471 A coverMarshalText `json:"a"` 1472 } 1473 B struct { 1474 B coverMarshalText `json:"b"` 1475 } 1476 }{A: struct { 1477 A coverMarshalText `json:"a"` 1478 }{A: coverMarshalText{}}, B: struct { 1479 B coverMarshalText `json:"b"` 1480 }{B: coverMarshalText{}}}, 1481 }, 1482 { 1483 name: "HeadMarshalTextMultiFieldsNotRootOmitEmpty", 1484 data: struct { 1485 A struct { 1486 A coverMarshalText `json:"a,omitempty"` 1487 } 1488 B struct { 1489 B coverMarshalText `json:"b,omitempty"` 1490 } 1491 }{A: struct { 1492 A coverMarshalText `json:"a,omitempty"` 1493 }{A: coverMarshalText{}}, B: struct { 1494 B coverMarshalText `json:"b,omitempty"` 1495 }{B: coverMarshalText{}}}, 1496 }, 1497 { 1498 name: "HeadMarshalTextMultiFieldsNotRootString", 1499 data: struct { 1500 A struct { 1501 A coverMarshalText `json:"a,string"` 1502 } 1503 B struct { 1504 B coverMarshalText `json:"b,string"` 1505 } 1506 }{A: struct { 1507 A coverMarshalText `json:"a,string"` 1508 }{A: coverMarshalText{}}, B: struct { 1509 B coverMarshalText `json:"b,string"` 1510 }{B: coverMarshalText{}}}, 1511 }, 1512 { 1513 name: "HeadPtrMarshalTextMultiFieldsNotRoot", 1514 data: struct { 1515 A struct { 1516 A coverPtrMarshalText `json:"a"` 1517 } 1518 B struct { 1519 B coverPtrMarshalText `json:"b"` 1520 } 1521 }{A: struct { 1522 A coverPtrMarshalText `json:"a"` 1523 }{A: coverPtrMarshalText{}}, B: struct { 1524 B coverPtrMarshalText `json:"b"` 1525 }{B: coverPtrMarshalText{}}}, 1526 }, 1527 { 1528 name: "HeadPtrMarshalTextMultiFieldsNotRootOmitEmpty", 1529 data: struct { 1530 A struct { 1531 A coverPtrMarshalText `json:"a,omitempty"` 1532 } 1533 B struct { 1534 B coverPtrMarshalText `json:"b,omitempty"` 1535 } 1536 }{A: struct { 1537 A coverPtrMarshalText `json:"a,omitempty"` 1538 }{A: coverPtrMarshalText{}}, B: struct { 1539 B coverPtrMarshalText `json:"b,omitempty"` 1540 }{B: coverPtrMarshalText{}}}, 1541 }, 1542 { 1543 name: "HeadPtrMarshalTextMultiFieldsNotRootString", 1544 data: struct { 1545 A struct { 1546 A coverPtrMarshalText `json:"a,string"` 1547 } 1548 B struct { 1549 B coverPtrMarshalText `json:"b,string"` 1550 } 1551 }{A: struct { 1552 A coverPtrMarshalText `json:"a,string"` 1553 }{A: coverPtrMarshalText{}}, B: struct { 1554 B coverPtrMarshalText `json:"b,string"` 1555 }{B: coverPtrMarshalText{}}}, 1556 }, 1557 1558 // HeadMarshalTextPtrMultiFieldsNotRoot 1559 { 1560 name: "HeadMarshalTextPtrMultiFieldsNotRoot", 1561 data: struct { 1562 A struct { 1563 A *coverMarshalText `json:"a"` 1564 } 1565 B struct { 1566 B *coverMarshalText `json:"b"` 1567 } 1568 }{A: struct { 1569 A *coverMarshalText `json:"a"` 1570 }{A: &coverMarshalText{}}, B: struct { 1571 B *coverMarshalText `json:"b"` 1572 }{B: &coverMarshalText{}}}, 1573 }, 1574 { 1575 name: "HeadMarshalTextPtrMultiFieldsNotRootOmitEmpty", 1576 data: struct { 1577 A struct { 1578 A *coverMarshalText `json:"a,omitempty"` 1579 } 1580 B struct { 1581 B *coverMarshalText `json:"b,omitempty"` 1582 } 1583 }{A: struct { 1584 A *coverMarshalText `json:"a,omitempty"` 1585 }{A: &coverMarshalText{}}, B: struct { 1586 B *coverMarshalText `json:"b,omitempty"` 1587 }{B: &coverMarshalText{}}}, 1588 }, 1589 { 1590 name: "HeadMarshalTextPtrMultiFieldsNotRootString", 1591 data: struct { 1592 A struct { 1593 A *coverMarshalText `json:"a,string"` 1594 } 1595 B struct { 1596 B *coverMarshalText `json:"b,string"` 1597 } 1598 }{A: struct { 1599 A *coverMarshalText `json:"a,string"` 1600 }{A: &coverMarshalText{}}, B: struct { 1601 B *coverMarshalText `json:"b,string"` 1602 }{B: &coverMarshalText{}}}, 1603 }, 1604 { 1605 name: "HeadPtrMarshalTextPtrMultiFieldsNotRoot", 1606 data: struct { 1607 A struct { 1608 A *coverPtrMarshalText `json:"a"` 1609 } 1610 B struct { 1611 B *coverPtrMarshalText `json:"b"` 1612 } 1613 }{A: struct { 1614 A *coverPtrMarshalText `json:"a"` 1615 }{A: &coverPtrMarshalText{}}, B: struct { 1616 B *coverPtrMarshalText `json:"b"` 1617 }{B: &coverPtrMarshalText{}}}, 1618 }, 1619 { 1620 name: "HeadPtrMarshalTextPtrMultiFieldsNotRootOmitEmpty", 1621 data: struct { 1622 A struct { 1623 A *coverPtrMarshalText `json:"a,omitempty"` 1624 } 1625 B struct { 1626 B *coverPtrMarshalText `json:"b,omitempty"` 1627 } 1628 }{A: struct { 1629 A *coverPtrMarshalText `json:"a,omitempty"` 1630 }{A: &coverPtrMarshalText{}}, B: struct { 1631 B *coverPtrMarshalText `json:"b,omitempty"` 1632 }{B: &coverPtrMarshalText{}}}, 1633 }, 1634 { 1635 name: "HeadPtrMarshalTextPtrMultiFieldsNotRootString", 1636 data: struct { 1637 A struct { 1638 A *coverPtrMarshalText `json:"a,string"` 1639 } 1640 B struct { 1641 B *coverPtrMarshalText `json:"b,string"` 1642 } 1643 }{A: struct { 1644 A *coverPtrMarshalText `json:"a,string"` 1645 }{A: &coverPtrMarshalText{}}, B: struct { 1646 B *coverPtrMarshalText `json:"b,string"` 1647 }{B: &coverPtrMarshalText{}}}, 1648 }, 1649 1650 // HeadMarshalTextPtrNilMultiFieldsNotRoot 1651 { 1652 name: "HeadMarshalTextPtrNilMultiFieldsNotRoot", 1653 data: struct { 1654 A struct { 1655 A *coverMarshalText `json:"a"` 1656 } 1657 B struct { 1658 B *coverMarshalText `json:"b"` 1659 } 1660 }{A: struct { 1661 A *coverMarshalText `json:"a"` 1662 }{A: nil}, B: struct { 1663 B *coverMarshalText `json:"b"` 1664 }{B: nil}}, 1665 }, 1666 { 1667 name: "HeadMarshalTextPtrNilMultiFieldsNotRootOmitEmpty", 1668 data: struct { 1669 A struct { 1670 A *coverMarshalText `json:"a,omitempty"` 1671 } 1672 B struct { 1673 B *coverMarshalText `json:"b,omitempty"` 1674 } 1675 }{A: struct { 1676 A *coverMarshalText `json:"a,omitempty"` 1677 }{A: nil}, B: struct { 1678 B *coverMarshalText `json:"b,omitempty"` 1679 }{B: nil}}, 1680 }, 1681 { 1682 name: "HeadMarshalTextPtrNilMultiFieldsNotRootString", 1683 data: struct { 1684 A struct { 1685 A *coverMarshalText `json:"a,string"` 1686 } 1687 B struct { 1688 B *coverMarshalText `json:"b,string"` 1689 } 1690 }{A: struct { 1691 A *coverMarshalText `json:"a,string"` 1692 }{A: nil}, B: struct { 1693 B *coverMarshalText `json:"b,string"` 1694 }{B: nil}}, 1695 }, 1696 { 1697 name: "HeadPtrMarshalTextPtrNilMultiFieldsNotRoot", 1698 data: struct { 1699 A struct { 1700 A *coverPtrMarshalText `json:"a"` 1701 } 1702 B struct { 1703 B *coverPtrMarshalText `json:"b"` 1704 } 1705 }{A: struct { 1706 A *coverPtrMarshalText `json:"a"` 1707 }{A: nil}, B: struct { 1708 B *coverPtrMarshalText `json:"b"` 1709 }{B: nil}}, 1710 }, 1711 { 1712 name: "HeadPtrMarshalTextPtrNilMultiFieldsNotRootOmitEmpty", 1713 data: struct { 1714 A struct { 1715 A *coverPtrMarshalText `json:"a,omitempty"` 1716 } 1717 B struct { 1718 B *coverPtrMarshalText `json:"b,omitempty"` 1719 } 1720 }{A: struct { 1721 A *coverPtrMarshalText `json:"a,omitempty"` 1722 }{A: nil}, B: struct { 1723 B *coverPtrMarshalText `json:"b,omitempty"` 1724 }{B: nil}}, 1725 }, 1726 { 1727 name: "HeadPtrMarshalTextPtrNilMultiFieldsNotRootString", 1728 data: struct { 1729 A struct { 1730 A *coverPtrMarshalText `json:"a,string"` 1731 } 1732 B struct { 1733 B *coverPtrMarshalText `json:"b,string"` 1734 } 1735 }{A: struct { 1736 A *coverPtrMarshalText `json:"a,string"` 1737 }{A: nil}, B: struct { 1738 B *coverPtrMarshalText `json:"b,string"` 1739 }{B: nil}}, 1740 }, 1741 1742 // PtrHeadMarshalTextZeroMultiFieldsNotRoot 1743 { 1744 name: "PtrHeadMarshalTextZeroMultiFieldsNotRoot", 1745 data: &struct { 1746 A struct { 1747 A coverMarshalText `json:"a"` 1748 } 1749 B struct { 1750 B coverMarshalText `json:"b"` 1751 } 1752 }{}, 1753 }, 1754 { 1755 name: "PtrHeadMarshalTextZeroMultiFieldsNotRootOmitEmpty", 1756 data: &struct { 1757 A struct { 1758 A coverMarshalText `json:"a,omitempty"` 1759 } 1760 B struct { 1761 B coverMarshalText `json:"b,omitempty"` 1762 } 1763 }{}, 1764 }, 1765 { 1766 name: "PtrHeadMarshalTextZeroMultiFieldsNotRootString", 1767 data: &struct { 1768 A struct { 1769 A coverMarshalText `json:"a,string"` 1770 } 1771 B struct { 1772 B coverMarshalText `json:"b,string"` 1773 } 1774 }{}, 1775 }, 1776 { 1777 name: "PtrHeadPtrMarshalTextZeroMultiFieldsNotRoot", 1778 data: &struct { 1779 A struct { 1780 A coverPtrMarshalText `json:"a"` 1781 } 1782 B struct { 1783 B coverPtrMarshalText `json:"b"` 1784 } 1785 }{}, 1786 }, 1787 { 1788 name: "PtrHeadPtrMarshalTextZeroMultiFieldsNotRootOmitEmpty", 1789 data: &struct { 1790 A struct { 1791 A coverPtrMarshalText `json:"a,omitempty"` 1792 } 1793 B struct { 1794 B coverPtrMarshalText `json:"b,omitempty"` 1795 } 1796 }{}, 1797 }, 1798 { 1799 name: "PtrHeadPtrMarshalTextZeroMultiFieldsNotRootString", 1800 data: &struct { 1801 A struct { 1802 A coverPtrMarshalText `json:"a,string"` 1803 } 1804 B struct { 1805 B coverPtrMarshalText `json:"b,string"` 1806 } 1807 }{}, 1808 }, 1809 1810 // PtrHeadMarshalTextMultiFieldsNotRoot 1811 { 1812 name: "PtrHeadMarshalTextMultiFieldsNotRoot", 1813 data: &struct { 1814 A struct { 1815 A coverMarshalText `json:"a"` 1816 } 1817 B struct { 1818 B coverMarshalText `json:"b"` 1819 } 1820 }{A: struct { 1821 A coverMarshalText `json:"a"` 1822 }{A: coverMarshalText{}}, B: struct { 1823 B coverMarshalText `json:"b"` 1824 }{B: coverMarshalText{}}}, 1825 }, 1826 { 1827 name: "PtrHeadMarshalTextMultiFieldsNotRootOmitEmpty", 1828 data: &struct { 1829 A struct { 1830 A coverMarshalText `json:"a,omitempty"` 1831 } 1832 B struct { 1833 B coverMarshalText `json:"b,omitempty"` 1834 } 1835 }{A: struct { 1836 A coverMarshalText `json:"a,omitempty"` 1837 }{A: coverMarshalText{}}, B: struct { 1838 B coverMarshalText `json:"b,omitempty"` 1839 }{B: coverMarshalText{}}}, 1840 }, 1841 { 1842 name: "PtrHeadMarshalTextMultiFieldsNotRootString", 1843 data: &struct { 1844 A struct { 1845 A coverMarshalText `json:"a,string"` 1846 } 1847 B struct { 1848 B coverMarshalText `json:"b,string"` 1849 } 1850 }{A: struct { 1851 A coverMarshalText `json:"a,string"` 1852 }{A: coverMarshalText{}}, B: struct { 1853 B coverMarshalText `json:"b,string"` 1854 }{B: coverMarshalText{}}}, 1855 }, 1856 { 1857 name: "PtrHeadPtrMarshalTextMultiFieldsNotRoot", 1858 data: &struct { 1859 A struct { 1860 A coverPtrMarshalText `json:"a"` 1861 } 1862 B struct { 1863 B coverPtrMarshalText `json:"b"` 1864 } 1865 }{A: struct { 1866 A coverPtrMarshalText `json:"a"` 1867 }{A: coverPtrMarshalText{}}, B: struct { 1868 B coverPtrMarshalText `json:"b"` 1869 }{B: coverPtrMarshalText{}}}, 1870 }, 1871 { 1872 name: "PtrHeadPtrMarshalTextMultiFieldsNotRootOmitEmpty", 1873 data: &struct { 1874 A struct { 1875 A coverPtrMarshalText `json:"a,omitempty"` 1876 } 1877 B struct { 1878 B coverPtrMarshalText `json:"b,omitempty"` 1879 } 1880 }{A: struct { 1881 A coverPtrMarshalText `json:"a,omitempty"` 1882 }{A: coverPtrMarshalText{}}, B: struct { 1883 B coverPtrMarshalText `json:"b,omitempty"` 1884 }{B: coverPtrMarshalText{}}}, 1885 }, 1886 { 1887 name: "PtrHeadPtrMarshalTextMultiFieldsNotRootString", 1888 data: &struct { 1889 A struct { 1890 A coverPtrMarshalText `json:"a,string"` 1891 } 1892 B struct { 1893 B coverPtrMarshalText `json:"b,string"` 1894 } 1895 }{A: struct { 1896 A coverPtrMarshalText `json:"a,string"` 1897 }{A: coverPtrMarshalText{}}, B: struct { 1898 B coverPtrMarshalText `json:"b,string"` 1899 }{B: coverPtrMarshalText{}}}, 1900 }, 1901 1902 // PtrHeadMarshalTextPtrMultiFieldsNotRoot 1903 { 1904 name: "PtrHeadMarshalTextPtrMultiFieldsNotRoot", 1905 data: &struct { 1906 A *struct { 1907 A *coverMarshalText `json:"a"` 1908 } 1909 B *struct { 1910 B *coverMarshalText `json:"b"` 1911 } 1912 }{A: &(struct { 1913 A *coverMarshalText `json:"a"` 1914 }{A: &coverMarshalText{}}), B: &(struct { 1915 B *coverMarshalText `json:"b"` 1916 }{B: &coverMarshalText{}})}, 1917 }, 1918 { 1919 name: "PtrHeadMarshalTextPtrMultiFieldsNotRootOmitEmpty", 1920 data: &struct { 1921 A *struct { 1922 A *coverMarshalText `json:"a,omitempty"` 1923 } 1924 B *struct { 1925 B *coverMarshalText `json:"b,omitempty"` 1926 } 1927 }{A: &(struct { 1928 A *coverMarshalText `json:"a,omitempty"` 1929 }{A: &coverMarshalText{}}), B: &(struct { 1930 B *coverMarshalText `json:"b,omitempty"` 1931 }{B: &coverMarshalText{}})}, 1932 }, 1933 { 1934 name: "PtrHeadMarshalTextPtrMultiFieldsNotRootString", 1935 data: &struct { 1936 A *struct { 1937 A *coverMarshalText `json:"a,string"` 1938 } 1939 B *struct { 1940 B *coverMarshalText `json:"b,string"` 1941 } 1942 }{A: &(struct { 1943 A *coverMarshalText `json:"a,string"` 1944 }{A: &coverMarshalText{}}), B: &(struct { 1945 B *coverMarshalText `json:"b,string"` 1946 }{B: &coverMarshalText{}})}, 1947 }, 1948 { 1949 name: "PtrHeadPtrMarshalTextPtrMultiFieldsNotRoot", 1950 data: &struct { 1951 A *struct { 1952 A *coverPtrMarshalText `json:"a"` 1953 } 1954 B *struct { 1955 B *coverPtrMarshalText `json:"b"` 1956 } 1957 }{A: &(struct { 1958 A *coverPtrMarshalText `json:"a"` 1959 }{A: &coverPtrMarshalText{}}), B: &(struct { 1960 B *coverPtrMarshalText `json:"b"` 1961 }{B: &coverPtrMarshalText{}})}, 1962 }, 1963 { 1964 name: "PtrHeadPtrMarshalTextPtrMultiFieldsNotRootOmitEmpty", 1965 data: &struct { 1966 A *struct { 1967 A *coverPtrMarshalText `json:"a,omitempty"` 1968 } 1969 B *struct { 1970 B *coverPtrMarshalText `json:"b,omitempty"` 1971 } 1972 }{A: &(struct { 1973 A *coverPtrMarshalText `json:"a,omitempty"` 1974 }{A: &coverPtrMarshalText{}}), B: &(struct { 1975 B *coverPtrMarshalText `json:"b,omitempty"` 1976 }{B: &coverPtrMarshalText{}})}, 1977 }, 1978 { 1979 name: "PtrHeadPtrMarshalTextPtrMultiFieldsNotRootString", 1980 data: &struct { 1981 A *struct { 1982 A *coverPtrMarshalText `json:"a,string"` 1983 } 1984 B *struct { 1985 B *coverPtrMarshalText `json:"b,string"` 1986 } 1987 }{A: &(struct { 1988 A *coverPtrMarshalText `json:"a,string"` 1989 }{A: &coverPtrMarshalText{}}), B: &(struct { 1990 B *coverPtrMarshalText `json:"b,string"` 1991 }{B: &coverPtrMarshalText{}})}, 1992 }, 1993 1994 // PtrHeadMarshalTextPtrNilMultiFieldsNotRoot 1995 { 1996 name: "PtrHeadMarshalTextPtrNilMultiFieldsNotRoot", 1997 data: &struct { 1998 A *struct { 1999 A *coverMarshalText `json:"a"` 2000 } 2001 B *struct { 2002 B *coverMarshalText `json:"b"` 2003 } 2004 }{A: nil, B: nil}, 2005 }, 2006 { 2007 name: "PtrHeadMarshalTextPtrNilMultiFieldsNotRootOmitEmpty", 2008 data: &struct { 2009 A *struct { 2010 A *coverMarshalText `json:"a,omitempty"` 2011 } `json:",omitempty"` 2012 B *struct { 2013 B *coverMarshalText `json:"b,omitempty"` 2014 } `json:",omitempty"` 2015 }{A: nil, B: nil}, 2016 }, 2017 { 2018 name: "PtrHeadMarshalTextPtrNilMultiFieldsNotRootString", 2019 data: &struct { 2020 A *struct { 2021 A *coverMarshalText `json:"a,string"` 2022 } `json:",string"` 2023 B *struct { 2024 B *coverMarshalText `json:"b,string"` 2025 } `json:",string"` 2026 }{A: nil, B: nil}, 2027 }, 2028 { 2029 name: "PtrHeadPtrMarshalTextPtrNilMultiFieldsNotRoot", 2030 data: &struct { 2031 A *struct { 2032 A *coverPtrMarshalText `json:"a"` 2033 } 2034 B *struct { 2035 B *coverPtrMarshalText `json:"b"` 2036 } 2037 }{A: nil, B: nil}, 2038 }, 2039 { 2040 name: "PtrHeadPtrMarshalTextPtrNilMultiFieldsNotRootOmitEmpty", 2041 data: &struct { 2042 A *struct { 2043 A *coverPtrMarshalText `json:"a,omitempty"` 2044 } `json:",omitempty"` 2045 B *struct { 2046 B *coverPtrMarshalText `json:"b,omitempty"` 2047 } `json:",omitempty"` 2048 }{A: nil, B: nil}, 2049 }, 2050 { 2051 name: "PtrHeadPtrMarshalTextPtrNilMultiFieldsNotRootString", 2052 data: &struct { 2053 A *struct { 2054 A *coverPtrMarshalText `json:"a,string"` 2055 } `json:",string"` 2056 B *struct { 2057 B *coverPtrMarshalText `json:"b,string"` 2058 } `json:",string"` 2059 }{A: nil, B: nil}, 2060 }, 2061 2062 // PtrHeadMarshalTextNilMultiFieldsNotRoot 2063 { 2064 name: "PtrHeadMarshalTextNilMultiFieldsNotRoot", 2065 data: (*struct { 2066 A *struct { 2067 A *coverMarshalText `json:"a"` 2068 } 2069 B *struct { 2070 B *coverMarshalText `json:"b"` 2071 } 2072 })(nil), 2073 }, 2074 { 2075 name: "PtrHeadMarshalTextNilMultiFieldsNotRootOmitEmpty", 2076 data: (*struct { 2077 A *struct { 2078 A *coverMarshalText `json:"a,omitempty"` 2079 } 2080 B *struct { 2081 B *coverMarshalText `json:"b,omitempty"` 2082 } 2083 })(nil), 2084 }, 2085 { 2086 name: "PtrHeadMarshalTextNilMultiFieldsNotRootString", 2087 data: (*struct { 2088 A *struct { 2089 A *coverMarshalText `json:"a,string"` 2090 } 2091 B *struct { 2092 B *coverMarshalText `json:"b,string"` 2093 } 2094 })(nil), 2095 }, 2096 { 2097 name: "PtrHeadPtrMarshalTextNilMultiFieldsNotRoot", 2098 data: (*struct { 2099 A *struct { 2100 A *coverPtrMarshalText `json:"a"` 2101 } 2102 B *struct { 2103 B *coverPtrMarshalText `json:"b"` 2104 } 2105 })(nil), 2106 }, 2107 { 2108 name: "PtrHeadPtrMarshalTextNilMultiFieldsNotRootOmitEmpty", 2109 data: (*struct { 2110 A *struct { 2111 A *coverPtrMarshalText `json:"a,omitempty"` 2112 } 2113 B *struct { 2114 B *coverPtrMarshalText `json:"b,omitempty"` 2115 } 2116 })(nil), 2117 }, 2118 { 2119 name: "PtrHeadPtrMarshalTextNilMultiFieldsNotRootString", 2120 data: (*struct { 2121 A *struct { 2122 A *coverPtrMarshalText `json:"a,string"` 2123 } 2124 B *struct { 2125 B *coverPtrMarshalText `json:"b,string"` 2126 } 2127 })(nil), 2128 }, 2129 2130 // PtrHeadMarshalTextDoubleMultiFieldsNotRoot 2131 { 2132 name: "PtrHeadMarshalTextDoubleMultiFieldsNotRoot", 2133 data: &struct { 2134 A *struct { 2135 A coverMarshalText `json:"a"` 2136 B coverMarshalText `json:"b"` 2137 } 2138 B *struct { 2139 A coverMarshalText `json:"a"` 2140 B coverMarshalText `json:"b"` 2141 } 2142 }{A: &(struct { 2143 A coverMarshalText `json:"a"` 2144 B coverMarshalText `json:"b"` 2145 }{A: coverMarshalText{}, B: coverMarshalText{}}), B: &(struct { 2146 A coverMarshalText `json:"a"` 2147 B coverMarshalText `json:"b"` 2148 }{A: coverMarshalText{}, B: coverMarshalText{}})}, 2149 }, 2150 { 2151 name: "PtrHeadMarshalTextDoubleMultiFieldsNotRootOmitEmpty", 2152 data: &struct { 2153 A *struct { 2154 A coverMarshalText `json:"a,omitempty"` 2155 B coverMarshalText `json:"b,omitempty"` 2156 } 2157 B *struct { 2158 A coverMarshalText `json:"a,omitempty"` 2159 B coverMarshalText `json:"b,omitempty"` 2160 } 2161 }{A: &(struct { 2162 A coverMarshalText `json:"a,omitempty"` 2163 B coverMarshalText `json:"b,omitempty"` 2164 }{A: coverMarshalText{}, B: coverMarshalText{}}), B: &(struct { 2165 A coverMarshalText `json:"a,omitempty"` 2166 B coverMarshalText `json:"b,omitempty"` 2167 }{A: coverMarshalText{}, B: coverMarshalText{}})}, 2168 }, 2169 { 2170 name: "PtrHeadMarshalTextDoubleMultiFieldsNotRootString", 2171 data: &struct { 2172 A *struct { 2173 A coverMarshalText `json:"a,string"` 2174 B coverMarshalText `json:"b,string"` 2175 } 2176 B *struct { 2177 A coverMarshalText `json:"a,string"` 2178 B coverMarshalText `json:"b,string"` 2179 } 2180 }{A: &(struct { 2181 A coverMarshalText `json:"a,string"` 2182 B coverMarshalText `json:"b,string"` 2183 }{A: coverMarshalText{}, B: coverMarshalText{}}), B: &(struct { 2184 A coverMarshalText `json:"a,string"` 2185 B coverMarshalText `json:"b,string"` 2186 }{A: coverMarshalText{}, B: coverMarshalText{}})}, 2187 }, 2188 { 2189 name: "PtrHeadPtrMarshalTextDoubleMultiFieldsNotRoot", 2190 data: &struct { 2191 A *struct { 2192 A coverPtrMarshalText `json:"a"` 2193 B coverPtrMarshalText `json:"b"` 2194 } 2195 B *struct { 2196 A coverPtrMarshalText `json:"a"` 2197 B coverPtrMarshalText `json:"b"` 2198 } 2199 }{A: &(struct { 2200 A coverPtrMarshalText `json:"a"` 2201 B coverPtrMarshalText `json:"b"` 2202 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}}), B: &(struct { 2203 A coverPtrMarshalText `json:"a"` 2204 B coverPtrMarshalText `json:"b"` 2205 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}})}, 2206 }, 2207 { 2208 name: "PtrHeadPtrMarshalTextDoubleMultiFieldsNotRootOmitEmpty", 2209 data: &struct { 2210 A *struct { 2211 A coverPtrMarshalText `json:"a,omitempty"` 2212 B coverPtrMarshalText `json:"b,omitempty"` 2213 } 2214 B *struct { 2215 A coverPtrMarshalText `json:"a,omitempty"` 2216 B coverPtrMarshalText `json:"b,omitempty"` 2217 } 2218 }{A: &(struct { 2219 A coverPtrMarshalText `json:"a,omitempty"` 2220 B coverPtrMarshalText `json:"b,omitempty"` 2221 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}}), B: &(struct { 2222 A coverPtrMarshalText `json:"a,omitempty"` 2223 B coverPtrMarshalText `json:"b,omitempty"` 2224 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}})}, 2225 }, 2226 { 2227 name: "PtrHeadPtrMarshalTextDoubleMultiFieldsNotRootString", 2228 data: &struct { 2229 A *struct { 2230 A coverPtrMarshalText `json:"a,string"` 2231 B coverPtrMarshalText `json:"b,string"` 2232 } 2233 B *struct { 2234 A coverPtrMarshalText `json:"a,string"` 2235 B coverPtrMarshalText `json:"b,string"` 2236 } 2237 }{A: &(struct { 2238 A coverPtrMarshalText `json:"a,string"` 2239 B coverPtrMarshalText `json:"b,string"` 2240 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}}), B: &(struct { 2241 A coverPtrMarshalText `json:"a,string"` 2242 B coverPtrMarshalText `json:"b,string"` 2243 }{A: coverPtrMarshalText{}, B: coverPtrMarshalText{}})}, 2244 }, 2245 2246 // PtrHeadMarshalTextNilDoubleMultiFieldsNotRoot 2247 { 2248 name: "PtrHeadMarshalTextNilDoubleMultiFieldsNotRoot", 2249 data: &struct { 2250 A *struct { 2251 A coverMarshalText `json:"a"` 2252 B coverMarshalText `json:"b"` 2253 } 2254 B *struct { 2255 A coverMarshalText `json:"a"` 2256 B coverMarshalText `json:"b"` 2257 } 2258 }{A: nil, B: nil}, 2259 }, 2260 { 2261 name: "PtrHeadMarshalTextNilDoubleMultiFieldsNotRootOmitEmpty", 2262 data: &struct { 2263 A *struct { 2264 A coverMarshalText `json:"a,omitempty"` 2265 B coverMarshalText `json:"b,omitempty"` 2266 } `json:",omitempty"` 2267 B *struct { 2268 A coverMarshalText `json:"a,omitempty"` 2269 B coverMarshalText `json:"b,omitempty"` 2270 } `json:",omitempty"` 2271 }{A: nil, B: nil}, 2272 }, 2273 { 2274 name: "PtrHeadMarshalTextNilDoubleMultiFieldsNotRootString", 2275 data: &struct { 2276 A *struct { 2277 A coverMarshalText `json:"a,string"` 2278 B coverMarshalText `json:"b,string"` 2279 } 2280 B *struct { 2281 A coverMarshalText `json:"a,string"` 2282 B coverMarshalText `json:"b,string"` 2283 } 2284 }{A: nil, B: nil}, 2285 }, 2286 { 2287 name: "PtrHeadPtrMarshalTextNilDoubleMultiFieldsNotRoot", 2288 data: &struct { 2289 A *struct { 2290 A coverPtrMarshalText `json:"a"` 2291 B coverPtrMarshalText `json:"b"` 2292 } 2293 B *struct { 2294 A coverPtrMarshalText `json:"a"` 2295 B coverPtrMarshalText `json:"b"` 2296 } 2297 }{A: nil, B: nil}, 2298 }, 2299 { 2300 name: "PtrHeadPtrMarshalTextNilDoubleMultiFieldsNotRootOmitEmpty", 2301 data: &struct { 2302 A *struct { 2303 A coverPtrMarshalText `json:"a,omitempty"` 2304 B coverPtrMarshalText `json:"b,omitempty"` 2305 } `json:",omitempty"` 2306 B *struct { 2307 A coverPtrMarshalText `json:"a,omitempty"` 2308 B coverPtrMarshalText `json:"b,omitempty"` 2309 } `json:",omitempty"` 2310 }{A: nil, B: nil}, 2311 }, 2312 { 2313 name: "PtrHeadPtrMarshalTextNilDoubleMultiFieldsNotRootString", 2314 data: &struct { 2315 A *struct { 2316 A coverPtrMarshalText `json:"a,string"` 2317 B coverPtrMarshalText `json:"b,string"` 2318 } 2319 B *struct { 2320 A coverPtrMarshalText `json:"a,string"` 2321 B coverPtrMarshalText `json:"b,string"` 2322 } 2323 }{A: nil, B: nil}, 2324 }, 2325 2326 // PtrHeadMarshalTextNilDoubleMultiFieldsNotRoot 2327 { 2328 name: "PtrHeadMarshalTextNilDoubleMultiFieldsNotRoot", 2329 data: (*struct { 2330 A *struct { 2331 A coverMarshalText `json:"a"` 2332 B coverMarshalText `json:"b"` 2333 } 2334 B *struct { 2335 A coverMarshalText `json:"a"` 2336 B coverMarshalText `json:"b"` 2337 } 2338 })(nil), 2339 }, 2340 { 2341 name: "PtrHeadMarshalTextNilDoubleMultiFieldsNotRootOmitEmpty", 2342 data: (*struct { 2343 A *struct { 2344 A coverMarshalText `json:"a,omitempty"` 2345 B coverMarshalText `json:"b,omitempty"` 2346 } 2347 B *struct { 2348 A coverMarshalText `json:"a,omitempty"` 2349 B coverMarshalText `json:"b,omitempty"` 2350 } 2351 })(nil), 2352 }, 2353 { 2354 name: "PtrHeadMarshalTextNilDoubleMultiFieldsNotRootString", 2355 data: (*struct { 2356 A *struct { 2357 A coverMarshalText `json:"a,string"` 2358 B coverMarshalText `json:"b,string"` 2359 } 2360 B *struct { 2361 A coverMarshalText `json:"a,string"` 2362 B coverMarshalText `json:"b,string"` 2363 } 2364 })(nil), 2365 }, 2366 { 2367 name: "PtrHeadPtrMarshalTextNilDoubleMultiFieldsNotRoot", 2368 data: (*struct { 2369 A *struct { 2370 A coverPtrMarshalText `json:"a"` 2371 B coverPtrMarshalText `json:"b"` 2372 } 2373 B *struct { 2374 A coverPtrMarshalText `json:"a"` 2375 B coverPtrMarshalText `json:"b"` 2376 } 2377 })(nil), 2378 }, 2379 { 2380 name: "PtrHeadPtrMarshalTextNilDoubleMultiFieldsNotRootOmitEmpty", 2381 data: (*struct { 2382 A *struct { 2383 A coverPtrMarshalText `json:"a,omitempty"` 2384 B coverPtrMarshalText `json:"b,omitempty"` 2385 } 2386 B *struct { 2387 A coverPtrMarshalText `json:"a,omitempty"` 2388 B coverPtrMarshalText `json:"b,omitempty"` 2389 } 2390 })(nil), 2391 }, 2392 { 2393 name: "PtrHeadPtrMarshalTextNilDoubleMultiFieldsNotRootString", 2394 data: (*struct { 2395 A *struct { 2396 A coverPtrMarshalText `json:"a,string"` 2397 B coverPtrMarshalText `json:"b,string"` 2398 } 2399 B *struct { 2400 A coverPtrMarshalText `json:"a,string"` 2401 B coverPtrMarshalText `json:"b,string"` 2402 } 2403 })(nil), 2404 }, 2405 2406 // PtrHeadMarshalTextPtrDoubleMultiFieldsNotRoot 2407 { 2408 name: "PtrHeadMarshalTextPtrDoubleMultiFieldsNotRoot", 2409 data: &struct { 2410 A *struct { 2411 A *coverMarshalText `json:"a"` 2412 B *coverMarshalText `json:"b"` 2413 } 2414 B *struct { 2415 A *coverMarshalText `json:"a"` 2416 B *coverMarshalText `json:"b"` 2417 } 2418 }{A: &(struct { 2419 A *coverMarshalText `json:"a"` 2420 B *coverMarshalText `json:"b"` 2421 }{A: &coverMarshalText{}, B: &coverMarshalText{}}), B: &(struct { 2422 A *coverMarshalText `json:"a"` 2423 B *coverMarshalText `json:"b"` 2424 }{A: nil, B: nil})}, 2425 }, 2426 { 2427 name: "PtrHeadMarshalTextPtrDoubleMultiFieldsNotRootOmitEmpty", 2428 data: &struct { 2429 A *struct { 2430 A *coverMarshalText `json:"a,omitempty"` 2431 B *coverMarshalText `json:"b,omitempty"` 2432 } 2433 B *struct { 2434 A *coverMarshalText `json:"a,omitempty"` 2435 B *coverMarshalText `json:"b,omitempty"` 2436 } 2437 }{A: &(struct { 2438 A *coverMarshalText `json:"a,omitempty"` 2439 B *coverMarshalText `json:"b,omitempty"` 2440 }{A: &coverMarshalText{}, B: &coverMarshalText{}}), B: &(struct { 2441 A *coverMarshalText `json:"a,omitempty"` 2442 B *coverMarshalText `json:"b,omitempty"` 2443 }{A: nil, B: nil})}, 2444 }, 2445 { 2446 name: "PtrHeadMarshalTextPtrDoubleMultiFieldsNotRootString", 2447 data: &struct { 2448 A *struct { 2449 A *coverMarshalText `json:"a,string"` 2450 B *coverMarshalText `json:"b,string"` 2451 } 2452 B *struct { 2453 A *coverMarshalText `json:"a,string"` 2454 B *coverMarshalText `json:"b,string"` 2455 } 2456 }{A: &(struct { 2457 A *coverMarshalText `json:"a,string"` 2458 B *coverMarshalText `json:"b,string"` 2459 }{A: &coverMarshalText{}, B: &coverMarshalText{}}), B: &(struct { 2460 A *coverMarshalText `json:"a,string"` 2461 B *coverMarshalText `json:"b,string"` 2462 }{A: nil, B: nil})}, 2463 }, 2464 { 2465 name: "PtrHeadPtrMarshalTextPtrDoubleMultiFieldsNotRoot", 2466 data: &struct { 2467 A *struct { 2468 A *coverPtrMarshalText `json:"a"` 2469 B *coverPtrMarshalText `json:"b"` 2470 } 2471 B *struct { 2472 A *coverPtrMarshalText `json:"a"` 2473 B *coverPtrMarshalText `json:"b"` 2474 } 2475 }{A: &(struct { 2476 A *coverPtrMarshalText `json:"a"` 2477 B *coverPtrMarshalText `json:"b"` 2478 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}}), B: &(struct { 2479 A *coverPtrMarshalText `json:"a"` 2480 B *coverPtrMarshalText `json:"b"` 2481 }{A: nil, B: nil})}, 2482 }, 2483 { 2484 name: "PtrHeadPtrMarshalTextPtrDoubleMultiFieldsNotRootOmitEmpty", 2485 data: &struct { 2486 A *struct { 2487 A *coverPtrMarshalText `json:"a,omitempty"` 2488 B *coverPtrMarshalText `json:"b,omitempty"` 2489 } 2490 B *struct { 2491 A *coverPtrMarshalText `json:"a,omitempty"` 2492 B *coverPtrMarshalText `json:"b,omitempty"` 2493 } 2494 }{A: &(struct { 2495 A *coverPtrMarshalText `json:"a,omitempty"` 2496 B *coverPtrMarshalText `json:"b,omitempty"` 2497 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}}), B: &(struct { 2498 A *coverPtrMarshalText `json:"a,omitempty"` 2499 B *coverPtrMarshalText `json:"b,omitempty"` 2500 }{A: nil, B: nil})}, 2501 }, 2502 { 2503 name: "PtrHeadPtrMarshalTextPtrDoubleMultiFieldsNotRootString", 2504 data: &struct { 2505 A *struct { 2506 A *coverPtrMarshalText `json:"a,string"` 2507 B *coverPtrMarshalText `json:"b,string"` 2508 } 2509 B *struct { 2510 A *coverPtrMarshalText `json:"a,string"` 2511 B *coverPtrMarshalText `json:"b,string"` 2512 } 2513 }{A: &(struct { 2514 A *coverPtrMarshalText `json:"a,string"` 2515 B *coverPtrMarshalText `json:"b,string"` 2516 }{A: &coverPtrMarshalText{}, B: &coverPtrMarshalText{}}), B: &(struct { 2517 A *coverPtrMarshalText `json:"a,string"` 2518 B *coverPtrMarshalText `json:"b,string"` 2519 }{A: nil, B: nil})}, 2520 }, 2521 2522 // PtrHeadMarshalTextPtrNilDoubleMultiFieldsNotRoot 2523 { 2524 name: "PtrHeadMarshalTextPtrNilDoubleMultiFieldsNotRoot", 2525 data: &struct { 2526 A *struct { 2527 A *coverMarshalText `json:"a"` 2528 B *coverMarshalText `json:"b"` 2529 } 2530 B *struct { 2531 A *coverMarshalText `json:"a"` 2532 B *coverMarshalText `json:"b"` 2533 } 2534 }{A: nil, B: nil}, 2535 }, 2536 { 2537 name: "PtrHeadMarshalTextPtrNilDoubleMultiFieldsNotRootOmitEmpty", 2538 data: &struct { 2539 A *struct { 2540 A *coverMarshalText `json:"a,omitempty"` 2541 B *coverMarshalText `json:"b,omitempty"` 2542 } `json:",omitempty"` 2543 B *struct { 2544 A *coverMarshalText `json:"a,omitempty"` 2545 B *coverMarshalText `json:"b,omitempty"` 2546 } `json:",omitempty"` 2547 }{A: nil, B: nil}, 2548 }, 2549 { 2550 name: "PtrHeadMarshalTextPtrNilDoubleMultiFieldsNotRootString", 2551 data: &struct { 2552 A *struct { 2553 A *coverMarshalText `json:"a,string"` 2554 B *coverMarshalText `json:"b,string"` 2555 } 2556 B *struct { 2557 A *coverMarshalText `json:"a,string"` 2558 B *coverMarshalText `json:"b,string"` 2559 } 2560 }{A: nil, B: nil}, 2561 }, 2562 { 2563 name: "PtrHeadPtrMarshalTextPtrNilDoubleMultiFieldsNotRoot", 2564 data: &struct { 2565 A *struct { 2566 A *coverPtrMarshalText `json:"a"` 2567 B *coverPtrMarshalText `json:"b"` 2568 } 2569 B *struct { 2570 A *coverPtrMarshalText `json:"a"` 2571 B *coverPtrMarshalText `json:"b"` 2572 } 2573 }{A: nil, B: nil}, 2574 }, 2575 { 2576 name: "PtrHeadPtrMarshalTextPtrNilDoubleMultiFieldsNotRootOmitEmpty", 2577 data: &struct { 2578 A *struct { 2579 A *coverPtrMarshalText `json:"a,omitempty"` 2580 B *coverPtrMarshalText `json:"b,omitempty"` 2581 } `json:",omitempty"` 2582 B *struct { 2583 A *coverPtrMarshalText `json:"a,omitempty"` 2584 B *coverPtrMarshalText `json:"b,omitempty"` 2585 } `json:",omitempty"` 2586 }{A: nil, B: nil}, 2587 }, 2588 { 2589 name: "PtrHeadPtrMarshalTextPtrNilDoubleMultiFieldsNotRootString", 2590 data: &struct { 2591 A *struct { 2592 A *coverPtrMarshalText `json:"a,string"` 2593 B *coverPtrMarshalText `json:"b,string"` 2594 } 2595 B *struct { 2596 A *coverPtrMarshalText `json:"a,string"` 2597 B *coverPtrMarshalText `json:"b,string"` 2598 } 2599 }{A: nil, B: nil}, 2600 }, 2601 2602 // PtrHeadMarshalTextPtrNilDoubleMultiFieldsNotRoot 2603 { 2604 name: "PtrHeadMarshalTextPtrNilDoubleMultiFieldsNotRoot", 2605 data: (*struct { 2606 A *struct { 2607 A *coverMarshalText `json:"a"` 2608 B *coverMarshalText `json:"b"` 2609 } 2610 B *struct { 2611 A *coverMarshalText `json:"a"` 2612 B *coverMarshalText `json:"b"` 2613 } 2614 })(nil), 2615 }, 2616 { 2617 name: "PtrHeadMarshalTextPtrNilDoubleMultiFieldsNotRootOmitEmpty", 2618 data: (*struct { 2619 A *struct { 2620 A *coverMarshalText `json:"a,omitempty"` 2621 B *coverMarshalText `json:"b,omitempty"` 2622 } 2623 B *struct { 2624 A *coverMarshalText `json:"a,omitempty"` 2625 B *coverMarshalText `json:"b,omitempty"` 2626 } 2627 })(nil), 2628 }, 2629 { 2630 name: "PtrHeadMarshalTextPtrNilDoubleMultiFieldsNotRootString", 2631 data: (*struct { 2632 A *struct { 2633 A *coverMarshalText `json:"a,string"` 2634 B *coverMarshalText `json:"b,string"` 2635 } 2636 B *struct { 2637 A *coverMarshalText `json:"a,string"` 2638 B *coverMarshalText `json:"b,string"` 2639 } 2640 })(nil), 2641 }, 2642 { 2643 name: "PtrHeadPtrMarshalTextPtrNilDoubleMultiFieldsNotRoot", 2644 data: (*struct { 2645 A *struct { 2646 A *coverPtrMarshalText `json:"a"` 2647 B *coverPtrMarshalText `json:"b"` 2648 } 2649 B *struct { 2650 A *coverPtrMarshalText `json:"a"` 2651 B *coverPtrMarshalText `json:"b"` 2652 } 2653 })(nil), 2654 }, 2655 { 2656 name: "PtrHeadPtrMarshalTextPtrNilDoubleMultiFieldsNotRootOmitEmpty", 2657 data: (*struct { 2658 A *struct { 2659 A *coverPtrMarshalText `json:"a,omitempty"` 2660 B *coverPtrMarshalText `json:"b,omitempty"` 2661 } 2662 B *struct { 2663 A *coverPtrMarshalText `json:"a,omitempty"` 2664 B *coverPtrMarshalText `json:"b,omitempty"` 2665 } 2666 })(nil), 2667 }, 2668 { 2669 name: "PtrHeadPtrMarshalTextPtrNilDoubleMultiFieldsNotRootString", 2670 data: (*struct { 2671 A *struct { 2672 A *coverPtrMarshalText `json:"a,string"` 2673 B *coverPtrMarshalText `json:"b,string"` 2674 } 2675 B *struct { 2676 A *coverPtrMarshalText `json:"a,string"` 2677 B *coverPtrMarshalText `json:"b,string"` 2678 } 2679 })(nil), 2680 }, 2681 2682 // AnonymousHeadMarshalText 2683 { 2684 name: "AnonymousHeadMarshalText", 2685 data: struct { 2686 structMarshalText 2687 B coverMarshalText `json:"b"` 2688 }{ 2689 structMarshalText: structMarshalText{A: coverMarshalText{}}, 2690 B: coverMarshalText{}, 2691 }, 2692 }, 2693 { 2694 name: "AnonymousHeadMarshalTextOmitEmpty", 2695 data: struct { 2696 structMarshalTextOmitEmpty 2697 B coverMarshalText `json:"b,omitempty"` 2698 }{ 2699 structMarshalTextOmitEmpty: structMarshalTextOmitEmpty{A: coverMarshalText{}}, 2700 B: coverMarshalText{}, 2701 }, 2702 }, 2703 { 2704 name: "AnonymousHeadMarshalTextString", 2705 data: struct { 2706 structMarshalTextString 2707 B coverMarshalText `json:"b,string"` 2708 }{ 2709 structMarshalTextString: structMarshalTextString{A: coverMarshalText{}}, 2710 B: coverMarshalText{}, 2711 }, 2712 }, 2713 { 2714 name: "AnonymousHeadPtrMarshalText", 2715 data: struct { 2716 structPtrMarshalText 2717 B coverPtrMarshalText `json:"b"` 2718 }{ 2719 structPtrMarshalText: structPtrMarshalText{A: coverPtrMarshalText{}}, 2720 B: coverPtrMarshalText{}, 2721 }, 2722 }, 2723 { 2724 name: "AnonymousHeadPtrMarshalTextOmitEmpty", 2725 data: struct { 2726 structPtrMarshalTextOmitEmpty 2727 B coverPtrMarshalText `json:"b,omitempty"` 2728 }{ 2729 structPtrMarshalTextOmitEmpty: structPtrMarshalTextOmitEmpty{A: coverPtrMarshalText{}}, 2730 B: coverPtrMarshalText{}, 2731 }, 2732 }, 2733 { 2734 name: "AnonymousHeadPtrMarshalTextString", 2735 data: struct { 2736 structPtrMarshalTextString 2737 B coverPtrMarshalText `json:"b,string"` 2738 }{ 2739 structPtrMarshalTextString: structPtrMarshalTextString{A: coverPtrMarshalText{}}, 2740 B: coverPtrMarshalText{}, 2741 }, 2742 }, 2743 2744 // PtrAnonymousHeadMarshalText 2745 { 2746 name: "PtrAnonymousHeadMarshalText", 2747 data: struct { 2748 *structMarshalText 2749 B coverMarshalText `json:"b"` 2750 }{ 2751 structMarshalText: &structMarshalText{A: coverMarshalText{}}, 2752 B: coverMarshalText{}, 2753 }, 2754 }, 2755 { 2756 name: "PtrAnonymousHeadMarshalTextOmitEmpty", 2757 data: struct { 2758 *structMarshalTextOmitEmpty 2759 B coverMarshalText `json:"b,omitempty"` 2760 }{ 2761 structMarshalTextOmitEmpty: &structMarshalTextOmitEmpty{A: coverMarshalText{}}, 2762 B: coverMarshalText{}, 2763 }, 2764 }, 2765 { 2766 name: "PtrAnonymousHeadMarshalTextString", 2767 data: struct { 2768 *structMarshalTextString 2769 B coverMarshalText `json:"b,string"` 2770 }{ 2771 structMarshalTextString: &structMarshalTextString{A: coverMarshalText{}}, 2772 B: coverMarshalText{}, 2773 }, 2774 }, 2775 { 2776 name: "PtrAnonymousHeadPtrMarshalText", 2777 data: struct { 2778 *structPtrMarshalText 2779 B coverPtrMarshalText `json:"b"` 2780 }{ 2781 structPtrMarshalText: &structPtrMarshalText{A: coverPtrMarshalText{}}, 2782 B: coverPtrMarshalText{}, 2783 }, 2784 }, 2785 { 2786 name: "PtrAnonymousHeadPtrMarshalTextOmitEmpty", 2787 data: struct { 2788 *structPtrMarshalTextOmitEmpty 2789 B coverPtrMarshalText `json:"b,omitempty"` 2790 }{ 2791 structPtrMarshalTextOmitEmpty: &structPtrMarshalTextOmitEmpty{A: coverPtrMarshalText{}}, 2792 B: coverPtrMarshalText{}, 2793 }, 2794 }, 2795 { 2796 name: "PtrAnonymousHeadPtrMarshalTextString", 2797 data: struct { 2798 *structPtrMarshalTextString 2799 B coverPtrMarshalText `json:"b,string"` 2800 }{ 2801 structPtrMarshalTextString: &structPtrMarshalTextString{A: coverPtrMarshalText{}}, 2802 B: coverPtrMarshalText{}, 2803 }, 2804 }, 2805 2806 // PtrAnonymousHeadMarshalTextNil 2807 { 2808 name: "PtrAnonymousHeadMarshalTextNil", 2809 data: struct { 2810 *structMarshalText 2811 B coverMarshalText `json:"b"` 2812 }{ 2813 structMarshalText: &structMarshalText{A: coverMarshalText{}}, 2814 B: coverMarshalText{}, 2815 }, 2816 }, 2817 { 2818 name: "PtrAnonymousHeadMarshalTextNilOmitEmpty", 2819 data: struct { 2820 *structMarshalTextOmitEmpty 2821 B coverMarshalText `json:"b,omitempty"` 2822 }{ 2823 structMarshalTextOmitEmpty: &structMarshalTextOmitEmpty{A: coverMarshalText{}}, 2824 B: coverMarshalText{}, 2825 }, 2826 }, 2827 { 2828 name: "PtrAnonymousHeadMarshalTextNilString", 2829 data: struct { 2830 *structMarshalTextString 2831 B coverMarshalText `json:"b,string"` 2832 }{ 2833 structMarshalTextString: &structMarshalTextString{A: coverMarshalText{}}, 2834 B: coverMarshalText{}, 2835 }, 2836 }, 2837 { 2838 name: "PtrAnonymousHeadPtrMarshalTextNil", 2839 data: struct { 2840 *structPtrMarshalText 2841 B coverPtrMarshalText `json:"b"` 2842 }{ 2843 structPtrMarshalText: &structPtrMarshalText{A: coverPtrMarshalText{}}, 2844 B: coverPtrMarshalText{}, 2845 }, 2846 }, 2847 { 2848 name: "PtrAnonymousHeadPtrMarshalTextNilOmitEmpty", 2849 data: struct { 2850 *structPtrMarshalTextOmitEmpty 2851 B coverPtrMarshalText `json:"b,omitempty"` 2852 }{ 2853 structPtrMarshalTextOmitEmpty: &structPtrMarshalTextOmitEmpty{A: coverPtrMarshalText{}}, 2854 B: coverPtrMarshalText{}, 2855 }, 2856 }, 2857 { 2858 name: "PtrAnonymousHeadPtrMarshalTextNilString", 2859 data: struct { 2860 *structPtrMarshalTextString 2861 B coverPtrMarshalText `json:"b,string"` 2862 }{ 2863 structPtrMarshalTextString: &structPtrMarshalTextString{A: coverPtrMarshalText{}}, 2864 B: coverPtrMarshalText{}, 2865 }, 2866 }, 2867 2868 // NilPtrAnonymousHeadMarshalText 2869 { 2870 name: "NilPtrAnonymousHeadMarshalText", 2871 data: struct { 2872 *structMarshalText 2873 B coverMarshalText `json:"b"` 2874 }{ 2875 structMarshalText: nil, 2876 B: coverMarshalText{}, 2877 }, 2878 }, 2879 { 2880 name: "NilPtrAnonymousHeadMarshalTextOmitEmpty", 2881 data: struct { 2882 *structMarshalTextOmitEmpty 2883 B coverMarshalText `json:"b,omitempty"` 2884 }{ 2885 structMarshalTextOmitEmpty: nil, 2886 B: coverMarshalText{}, 2887 }, 2888 }, 2889 { 2890 name: "NilPtrAnonymousHeadMarshalTextString", 2891 data: struct { 2892 *structMarshalTextString 2893 B coverMarshalText `json:"b,string"` 2894 }{ 2895 structMarshalTextString: nil, 2896 B: coverMarshalText{}, 2897 }, 2898 }, 2899 { 2900 name: "NilPtrAnonymousHeadPtrMarshalText", 2901 data: struct { 2902 *structPtrMarshalText 2903 B coverPtrMarshalText `json:"b"` 2904 }{ 2905 structPtrMarshalText: nil, 2906 B: coverPtrMarshalText{}, 2907 }, 2908 }, 2909 { 2910 name: "NilPtrAnonymousHeadPtrMarshalTextOmitEmpty", 2911 data: struct { 2912 *structPtrMarshalTextOmitEmpty 2913 B coverPtrMarshalText `json:"b,omitempty"` 2914 }{ 2915 structPtrMarshalTextOmitEmpty: nil, 2916 B: coverPtrMarshalText{}, 2917 }, 2918 }, 2919 { 2920 name: "NilPtrAnonymousHeadPtrMarshalTextString", 2921 data: struct { 2922 *structPtrMarshalTextString 2923 B coverPtrMarshalText `json:"b,string"` 2924 }{ 2925 structPtrMarshalTextString: nil, 2926 B: coverPtrMarshalText{}, 2927 }, 2928 }, 2929 2930 // AnonymousHeadMarshalTextPtr 2931 { 2932 name: "AnonymousHeadMarshalTextPtr", 2933 data: struct { 2934 structMarshalTextPtr 2935 B *coverMarshalText `json:"b"` 2936 }{ 2937 structMarshalTextPtr: structMarshalTextPtr{A: &coverMarshalText{}}, 2938 B: nil, 2939 }, 2940 }, 2941 { 2942 name: "AnonymousHeadMarshalTextPtrOmitEmpty", 2943 data: struct { 2944 structMarshalTextPtrOmitEmpty 2945 B *coverMarshalText `json:"b,omitempty"` 2946 }{ 2947 structMarshalTextPtrOmitEmpty: structMarshalTextPtrOmitEmpty{A: &coverMarshalText{}}, 2948 B: nil, 2949 }, 2950 }, 2951 { 2952 name: "AnonymousHeadMarshalTextPtrString", 2953 data: struct { 2954 structMarshalTextPtrString 2955 B *coverMarshalText `json:"b,string"` 2956 }{ 2957 structMarshalTextPtrString: structMarshalTextPtrString{A: &coverMarshalText{}}, 2958 B: nil, 2959 }, 2960 }, 2961 { 2962 name: "AnonymousHeadPtrMarshalTextPtr", 2963 data: struct { 2964 structPtrMarshalTextPtr 2965 B *coverPtrMarshalText `json:"b"` 2966 }{ 2967 structPtrMarshalTextPtr: structPtrMarshalTextPtr{A: &coverPtrMarshalText{}}, 2968 B: nil, 2969 }, 2970 }, 2971 { 2972 name: "AnonymousHeadPtrMarshalTextPtrOmitEmpty", 2973 data: struct { 2974 structPtrMarshalTextPtrOmitEmpty 2975 B *coverPtrMarshalText `json:"b,omitempty"` 2976 }{ 2977 structPtrMarshalTextPtrOmitEmpty: structPtrMarshalTextPtrOmitEmpty{A: &coverPtrMarshalText{}}, 2978 B: nil, 2979 }, 2980 }, 2981 { 2982 name: "AnonymousHeadPtrMarshalTextPtrString", 2983 data: struct { 2984 structPtrMarshalTextPtrString 2985 B *coverPtrMarshalText `json:"b,string"` 2986 }{ 2987 structPtrMarshalTextPtrString: structPtrMarshalTextPtrString{A: &coverPtrMarshalText{}}, 2988 B: nil, 2989 }, 2990 }, 2991 2992 // AnonymousHeadMarshalTextPtrNil 2993 { 2994 name: "AnonymousHeadMarshalTextPtrNil", 2995 data: struct { 2996 structMarshalTextPtr 2997 B *coverMarshalText `json:"b"` 2998 }{ 2999 structMarshalTextPtr: structMarshalTextPtr{A: nil}, 3000 B: &coverMarshalText{}, 3001 }, 3002 }, 3003 { 3004 name: "AnonymousHeadMarshalTextPtrNilOmitEmpty", 3005 data: struct { 3006 structMarshalTextPtrOmitEmpty 3007 B *coverMarshalText `json:"b,omitempty"` 3008 }{ 3009 structMarshalTextPtrOmitEmpty: structMarshalTextPtrOmitEmpty{A: nil}, 3010 B: &coverMarshalText{}, 3011 }, 3012 }, 3013 { 3014 name: "AnonymousHeadMarshalTextPtrNilString", 3015 data: struct { 3016 structMarshalTextPtrString 3017 B *coverMarshalText `json:"b,string"` 3018 }{ 3019 structMarshalTextPtrString: structMarshalTextPtrString{A: nil}, 3020 B: &coverMarshalText{}, 3021 }, 3022 }, 3023 { 3024 name: "AnonymousHeadPtrMarshalTextPtrNil", 3025 data: struct { 3026 structPtrMarshalTextPtr 3027 B *coverPtrMarshalText `json:"b"` 3028 }{ 3029 structPtrMarshalTextPtr: structPtrMarshalTextPtr{A: nil}, 3030 B: &coverPtrMarshalText{}, 3031 }, 3032 }, 3033 { 3034 name: "AnonymousHeadPtrMarshalTextPtrNilOmitEmpty", 3035 data: struct { 3036 structPtrMarshalTextPtrOmitEmpty 3037 B *coverPtrMarshalText `json:"b,omitempty"` 3038 }{ 3039 structPtrMarshalTextPtrOmitEmpty: structPtrMarshalTextPtrOmitEmpty{A: nil}, 3040 B: &coverPtrMarshalText{}, 3041 }, 3042 }, 3043 { 3044 name: "AnonymousHeadPtrMarshalTextPtrNilString", 3045 data: struct { 3046 structPtrMarshalTextPtrString 3047 B *coverPtrMarshalText `json:"b,string"` 3048 }{ 3049 structPtrMarshalTextPtrString: structPtrMarshalTextPtrString{A: nil}, 3050 B: &coverPtrMarshalText{}, 3051 }, 3052 }, 3053 3054 // PtrAnonymousHeadMarshalTextPtr 3055 { 3056 name: "PtrAnonymousHeadMarshalTextPtr", 3057 data: struct { 3058 *structMarshalTextPtr 3059 B *coverMarshalText `json:"b"` 3060 }{ 3061 structMarshalTextPtr: &structMarshalTextPtr{A: &coverMarshalText{}}, 3062 B: nil, 3063 }, 3064 }, 3065 { 3066 name: "PtrAnonymousHeadMarshalTextPtrOmitEmpty", 3067 data: struct { 3068 *structMarshalTextPtrOmitEmpty 3069 B *coverMarshalText `json:"b,omitempty"` 3070 }{ 3071 structMarshalTextPtrOmitEmpty: &structMarshalTextPtrOmitEmpty{A: &coverMarshalText{}}, 3072 B: nil, 3073 }, 3074 }, 3075 { 3076 name: "PtrAnonymousHeadMarshalTextPtrString", 3077 data: struct { 3078 *structMarshalTextPtrString 3079 B *coverMarshalText `json:"b,string"` 3080 }{ 3081 structMarshalTextPtrString: &structMarshalTextPtrString{A: &coverMarshalText{}}, 3082 B: nil, 3083 }, 3084 }, 3085 { 3086 name: "PtrAnonymousHeadPtrMarshalTextPtr", 3087 data: struct { 3088 *structPtrMarshalTextPtr 3089 B *coverPtrMarshalText `json:"b"` 3090 }{ 3091 structPtrMarshalTextPtr: &structPtrMarshalTextPtr{A: &coverPtrMarshalText{}}, 3092 B: nil, 3093 }, 3094 }, 3095 { 3096 name: "PtrAnonymousHeadPtrMarshalTextPtrOmitEmpty", 3097 data: struct { 3098 *structPtrMarshalTextPtrOmitEmpty 3099 B *coverPtrMarshalText `json:"b,omitempty"` 3100 }{ 3101 structPtrMarshalTextPtrOmitEmpty: &structPtrMarshalTextPtrOmitEmpty{A: &coverPtrMarshalText{}}, 3102 B: nil, 3103 }, 3104 }, 3105 { 3106 name: "PtrAnonymousHeadPtrMarshalTextPtrString", 3107 data: struct { 3108 *structPtrMarshalTextPtrString 3109 B *coverPtrMarshalText `json:"b,string"` 3110 }{ 3111 structPtrMarshalTextPtrString: &structPtrMarshalTextPtrString{A: &coverPtrMarshalText{}}, 3112 B: nil, 3113 }, 3114 }, 3115 3116 // NilPtrAnonymousHeadMarshalTextPtr 3117 { 3118 name: "NilPtrAnonymousHeadMarshalTextPtr", 3119 data: struct { 3120 *structMarshalTextPtr 3121 B *coverMarshalText `json:"b"` 3122 }{ 3123 structMarshalTextPtr: nil, 3124 B: &coverMarshalText{}, 3125 }, 3126 }, 3127 { 3128 name: "NilPtrAnonymousHeadMarshalTextPtrOmitEmpty", 3129 data: struct { 3130 *structMarshalTextPtrOmitEmpty 3131 B *coverMarshalText `json:"b,omitempty"` 3132 }{ 3133 structMarshalTextPtrOmitEmpty: nil, 3134 B: &coverMarshalText{}, 3135 }, 3136 }, 3137 { 3138 name: "NilPtrAnonymousHeadMarshalTextPtrString", 3139 data: struct { 3140 *structMarshalTextPtrString 3141 B *coverMarshalText `json:"b,string"` 3142 }{ 3143 structMarshalTextPtrString: nil, 3144 B: &coverMarshalText{}, 3145 }, 3146 }, 3147 { 3148 name: "NilPtrAnonymousHeadPtrMarshalTextPtr", 3149 data: struct { 3150 *structPtrMarshalTextPtr 3151 B *coverPtrMarshalText `json:"b"` 3152 }{ 3153 structPtrMarshalTextPtr: nil, 3154 B: &coverPtrMarshalText{}, 3155 }, 3156 }, 3157 { 3158 name: "NilPtrAnonymousHeadPtrMarshalTextPtrOmitEmpty", 3159 data: struct { 3160 *structPtrMarshalTextPtrOmitEmpty 3161 B *coverPtrMarshalText `json:"b,omitempty"` 3162 }{ 3163 structPtrMarshalTextPtrOmitEmpty: nil, 3164 B: &coverPtrMarshalText{}, 3165 }, 3166 }, 3167 { 3168 name: "NilPtrAnonymousHeadPtrMarshalTextPtrString", 3169 data: struct { 3170 *structPtrMarshalTextPtrString 3171 B *coverPtrMarshalText `json:"b,string"` 3172 }{ 3173 structPtrMarshalTextPtrString: nil, 3174 B: &coverPtrMarshalText{}, 3175 }, 3176 }, 3177 3178 // AnonymousHeadMarshalTextOnly 3179 { 3180 name: "AnonymousHeadMarshalTextOnly", 3181 data: struct { 3182 structMarshalText 3183 }{ 3184 structMarshalText: structMarshalText{A: coverMarshalText{}}, 3185 }, 3186 }, 3187 { 3188 name: "AnonymousHeadMarshalTextOnlyOmitEmpty", 3189 data: struct { 3190 structMarshalTextOmitEmpty 3191 }{ 3192 structMarshalTextOmitEmpty: structMarshalTextOmitEmpty{A: coverMarshalText{}}, 3193 }, 3194 }, 3195 { 3196 name: "AnonymousHeadMarshalTextOnlyString", 3197 data: struct { 3198 structMarshalTextString 3199 }{ 3200 structMarshalTextString: structMarshalTextString{A: coverMarshalText{}}, 3201 }, 3202 }, 3203 { 3204 name: "AnonymousHeadPtrMarshalTextOnly", 3205 data: struct { 3206 structPtrMarshalText 3207 }{ 3208 structPtrMarshalText: structPtrMarshalText{A: coverPtrMarshalText{}}, 3209 }, 3210 }, 3211 { 3212 name: "AnonymousHeadPtrMarshalTextOnlyOmitEmpty", 3213 data: struct { 3214 structPtrMarshalTextOmitEmpty 3215 }{ 3216 structPtrMarshalTextOmitEmpty: structPtrMarshalTextOmitEmpty{A: coverPtrMarshalText{}}, 3217 }, 3218 }, 3219 { 3220 name: "AnonymousHeadPtrMarshalTextOnlyString", 3221 data: struct { 3222 structPtrMarshalTextString 3223 }{ 3224 structPtrMarshalTextString: structPtrMarshalTextString{A: coverPtrMarshalText{}}, 3225 }, 3226 }, 3227 3228 // PtrAnonymousHeadMarshalTextOnly 3229 { 3230 name: "PtrAnonymousHeadMarshalTextOnly", 3231 data: struct { 3232 *structMarshalText 3233 }{ 3234 structMarshalText: &structMarshalText{A: coverMarshalText{}}, 3235 }, 3236 }, 3237 { 3238 name: "PtrAnonymousHeadMarshalTextOnlyOmitEmpty", 3239 data: struct { 3240 *structMarshalTextOmitEmpty 3241 }{ 3242 structMarshalTextOmitEmpty: &structMarshalTextOmitEmpty{A: coverMarshalText{}}, 3243 }, 3244 }, 3245 { 3246 name: "PtrAnonymousHeadMarshalTextOnlyString", 3247 data: struct { 3248 *structMarshalTextString 3249 }{ 3250 structMarshalTextString: &structMarshalTextString{A: coverMarshalText{}}, 3251 }, 3252 }, 3253 { 3254 name: "PtrAnonymousHeadPtrMarshalTextOnly", 3255 data: struct { 3256 *structPtrMarshalText 3257 }{ 3258 structPtrMarshalText: &structPtrMarshalText{A: coverPtrMarshalText{}}, 3259 }, 3260 }, 3261 { 3262 name: "PtrAnonymousHeadPtrMarshalTextOnlyOmitEmpty", 3263 data: struct { 3264 *structPtrMarshalTextOmitEmpty 3265 }{ 3266 structPtrMarshalTextOmitEmpty: &structPtrMarshalTextOmitEmpty{A: coverPtrMarshalText{}}, 3267 }, 3268 }, 3269 { 3270 name: "PtrAnonymousHeadPtrMarshalTextOnlyString", 3271 data: struct { 3272 *structPtrMarshalTextString 3273 }{ 3274 structPtrMarshalTextString: &structPtrMarshalTextString{A: coverPtrMarshalText{}}, 3275 }, 3276 }, 3277 3278 // NilPtrAnonymousHeadMarshalTextOnly 3279 { 3280 name: "NilPtrAnonymousHeadMarshalTextOnly", 3281 data: struct { 3282 *structMarshalText 3283 }{ 3284 structMarshalText: nil, 3285 }, 3286 }, 3287 { 3288 name: "NilPtrAnonymousHeadMarshalTextOnlyOmitEmpty", 3289 data: struct { 3290 *structMarshalTextOmitEmpty 3291 }{ 3292 structMarshalTextOmitEmpty: nil, 3293 }, 3294 }, 3295 { 3296 name: "NilPtrAnonymousHeadMarshalTextOnlyString", 3297 data: struct { 3298 *structMarshalTextString 3299 }{ 3300 structMarshalTextString: nil, 3301 }, 3302 }, 3303 { 3304 name: "NilPtrAnonymousHeadPtrMarshalTextOnly", 3305 data: struct { 3306 *structPtrMarshalText 3307 }{ 3308 structPtrMarshalText: nil, 3309 }, 3310 }, 3311 { 3312 name: "NilPtrAnonymousHeadPtrMarshalTextOnlyOmitEmpty", 3313 data: struct { 3314 *structPtrMarshalTextOmitEmpty 3315 }{ 3316 structPtrMarshalTextOmitEmpty: nil, 3317 }, 3318 }, 3319 { 3320 name: "NilPtrAnonymousHeadPtrMarshalTextOnlyString", 3321 data: struct { 3322 *structPtrMarshalTextString 3323 }{ 3324 structPtrMarshalTextString: nil, 3325 }, 3326 }, 3327 3328 // AnonymousHeadMarshalTextPtrOnly 3329 { 3330 name: "AnonymousHeadMarshalTextPtrOnly", 3331 data: struct { 3332 structMarshalTextPtr 3333 }{ 3334 structMarshalTextPtr: structMarshalTextPtr{A: &coverMarshalText{}}, 3335 }, 3336 }, 3337 { 3338 name: "AnonymousHeadMarshalTextPtrOnlyOmitEmpty", 3339 data: struct { 3340 structMarshalTextPtrOmitEmpty 3341 }{ 3342 structMarshalTextPtrOmitEmpty: structMarshalTextPtrOmitEmpty{A: &coverMarshalText{}}, 3343 }, 3344 }, 3345 { 3346 name: "AnonymousHeadMarshalTextPtrOnlyString", 3347 data: struct { 3348 structMarshalTextPtrString 3349 }{ 3350 structMarshalTextPtrString: structMarshalTextPtrString{A: &coverMarshalText{}}, 3351 }, 3352 }, 3353 { 3354 name: "AnonymousHeadPtrMarshalTextPtrOnly", 3355 data: struct { 3356 structPtrMarshalTextPtr 3357 }{ 3358 structPtrMarshalTextPtr: structPtrMarshalTextPtr{A: &coverPtrMarshalText{}}, 3359 }, 3360 }, 3361 { 3362 name: "AnonymousHeadPtrMarshalTextPtrOnlyOmitEmpty", 3363 data: struct { 3364 structPtrMarshalTextPtrOmitEmpty 3365 }{ 3366 structPtrMarshalTextPtrOmitEmpty: structPtrMarshalTextPtrOmitEmpty{A: &coverPtrMarshalText{}}, 3367 }, 3368 }, 3369 { 3370 name: "AnonymousHeadPtrMarshalTextPtrOnlyString", 3371 data: struct { 3372 structPtrMarshalTextPtrString 3373 }{ 3374 structPtrMarshalTextPtrString: structPtrMarshalTextPtrString{A: &coverPtrMarshalText{}}, 3375 }, 3376 }, 3377 3378 // AnonymousHeadMarshalTextPtrNilOnly 3379 { 3380 name: "AnonymousHeadMarshalTextPtrNilOnly", 3381 data: struct { 3382 structMarshalTextPtr 3383 }{ 3384 structMarshalTextPtr: structMarshalTextPtr{A: nil}, 3385 }, 3386 }, 3387 { 3388 name: "AnonymousHeadMarshalTextPtrNilOnlyOmitEmpty", 3389 data: struct { 3390 structMarshalTextPtrOmitEmpty 3391 }{ 3392 structMarshalTextPtrOmitEmpty: structMarshalTextPtrOmitEmpty{A: nil}, 3393 }, 3394 }, 3395 { 3396 name: "AnonymousHeadMarshalTextPtrNilOnlyString", 3397 data: struct { 3398 structMarshalTextPtrString 3399 }{ 3400 structMarshalTextPtrString: structMarshalTextPtrString{A: nil}, 3401 }, 3402 }, 3403 { 3404 name: "AnonymousHeadPtrMarshalTextPtrNilOnly", 3405 data: struct { 3406 structPtrMarshalTextPtr 3407 }{ 3408 structPtrMarshalTextPtr: structPtrMarshalTextPtr{A: nil}, 3409 }, 3410 }, 3411 { 3412 name: "AnonymousHeadPtrMarshalTextPtrNilOnlyOmitEmpty", 3413 data: struct { 3414 structPtrMarshalTextPtrOmitEmpty 3415 }{ 3416 structPtrMarshalTextPtrOmitEmpty: structPtrMarshalTextPtrOmitEmpty{A: nil}, 3417 }, 3418 }, 3419 { 3420 name: "AnonymousHeadPtrMarshalTextPtrNilOnlyString", 3421 data: struct { 3422 structPtrMarshalTextPtrString 3423 }{ 3424 structPtrMarshalTextPtrString: structPtrMarshalTextPtrString{A: nil}, 3425 }, 3426 }, 3427 3428 // PtrAnonymousHeadMarshalTextPtrOnly 3429 { 3430 name: "PtrAnonymousHeadMarshalTextPtrOnly", 3431 data: struct { 3432 *structMarshalTextPtr 3433 }{ 3434 structMarshalTextPtr: &structMarshalTextPtr{A: &coverMarshalText{}}, 3435 }, 3436 }, 3437 { 3438 name: "PtrAnonymousHeadMarshalTextPtrOnlyOmitEmpty", 3439 data: struct { 3440 *structMarshalTextPtrOmitEmpty 3441 }{ 3442 structMarshalTextPtrOmitEmpty: &structMarshalTextPtrOmitEmpty{A: &coverMarshalText{}}, 3443 }, 3444 }, 3445 { 3446 name: "PtrAnonymousHeadMarshalTextPtrOnlyString", 3447 data: struct { 3448 *structMarshalTextPtrString 3449 }{ 3450 structMarshalTextPtrString: &structMarshalTextPtrString{A: &coverMarshalText{}}, 3451 }, 3452 }, 3453 { 3454 name: "PtrAnonymousHeadPtrMarshalTextPtrOnly", 3455 data: struct { 3456 *structPtrMarshalTextPtr 3457 }{ 3458 structPtrMarshalTextPtr: &structPtrMarshalTextPtr{A: &coverPtrMarshalText{}}, 3459 }, 3460 }, 3461 { 3462 name: "PtrAnonymousHeadPtrMarshalTextPtrOnlyOmitEmpty", 3463 data: struct { 3464 *structPtrMarshalTextPtrOmitEmpty 3465 }{ 3466 structPtrMarshalTextPtrOmitEmpty: &structPtrMarshalTextPtrOmitEmpty{A: &coverPtrMarshalText{}}, 3467 }, 3468 }, 3469 { 3470 name: "PtrAnonymousHeadPtrMarshalTextPtrOnlyString", 3471 data: struct { 3472 *structPtrMarshalTextPtrString 3473 }{ 3474 structPtrMarshalTextPtrString: &structPtrMarshalTextPtrString{A: &coverPtrMarshalText{}}, 3475 }, 3476 }, 3477 3478 // NilPtrAnonymousHeadMarshalTextPtrOnly 3479 { 3480 name: "NilPtrAnonymousHeadMarshalTextPtrOnly", 3481 data: struct { 3482 *structMarshalTextPtr 3483 }{ 3484 structMarshalTextPtr: nil, 3485 }, 3486 }, 3487 { 3488 name: "NilPtrAnonymousHeadMarshalTextPtrOnlyOmitEmpty", 3489 data: struct { 3490 *structMarshalTextPtrOmitEmpty 3491 }{ 3492 structMarshalTextPtrOmitEmpty: nil, 3493 }, 3494 }, 3495 { 3496 name: "NilPtrAnonymousHeadMarshalTextPtrOnlyString", 3497 data: struct { 3498 *structMarshalTextPtrString 3499 }{ 3500 structMarshalTextPtrString: nil, 3501 }, 3502 }, 3503 { 3504 name: "NilPtrAnonymousHeadPtrMarshalTextPtrOnly", 3505 data: struct { 3506 *structPtrMarshalTextPtr 3507 }{ 3508 structPtrMarshalTextPtr: nil, 3509 }, 3510 }, 3511 { 3512 name: "NilPtrAnonymousHeadPtrMarshalTextPtrOnlyOmitEmpty", 3513 data: struct { 3514 *structPtrMarshalTextPtrOmitEmpty 3515 }{ 3516 structPtrMarshalTextPtrOmitEmpty: nil, 3517 }, 3518 }, 3519 { 3520 name: "NilPtrAnonymousHeadPtrMarshalTextPtrOnlyString", 3521 data: struct { 3522 *structPtrMarshalTextPtrString 3523 }{ 3524 structPtrMarshalTextPtrString: nil, 3525 }, 3526 }, 3527 } 3528 for _, test := range tests { 3529 for _, indent := range []bool{true, false} { 3530 for _, htmlEscape := range []bool{true, false} { 3531 t.Run(fmt.Sprintf("%s_indent_%t_escape_%t", test.name, indent, htmlEscape), func(t *testing.T) { 3532 var buf bytes.Buffer 3533 enc := json.NewEncoder(&buf) 3534 enc.SetEscapeHTML(htmlEscape) 3535 if indent { 3536 enc.SetIndent("", " ") 3537 } 3538 if err := enc.Encode(test.data); err != nil { 3539 t.Fatalf("%s(htmlEscape:%v,indent:%v): %+v: %s", test.name, htmlEscape, indent, test.data, err) 3540 } 3541 stdresult := encodeByEncodingJSON(test.data, indent, htmlEscape) 3542 if buf.String() != stdresult { 3543 t.Errorf("%s(htmlEscape:%v,indent:%v): doesn't compatible with encoding/json. expected %q but got %q", test.name, htmlEscape, indent, stdresult, buf.String()) 3544 } 3545 }) 3546 } 3547 } 3548 } 3549 }