Changeset 48402 for trunk/tests/phpunit/tests/meta/registerMeta.php
- Timestamp:
- 07/07/2020 08:45:55 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/meta/registerMeta.php
r46586 r48402 505 505 } 506 506 507 /** 508 * @ticket 43941 509 * @dataProvider data_get_default_data 510 */ 511 public function test_get_default_value( $args, $single, $expected ) { 512 513 $object_type = 'post'; 514 $meta_key = 'registered_key1'; 515 register_meta( 516 $object_type, 517 $meta_key, 518 $args 519 ); 520 521 $object_property_name = $object_type . '_id'; 522 $object_id = self::$$object_property_name; 523 $default_value = get_metadata_default( $object_type, $meta_key, $single, $object_id ); 524 $this->assertSame( $default_value, $expected ); 525 526 // Check for default value. 527 $value = get_metadata( $object_type, $object_id, $meta_key, $single ); 528 $this->assertSame( $value, $expected ); 529 530 // Set value to check default is not being returned by mistake. 531 $meta_value = 'dibble'; 532 update_metadata( $object_type, $object_id, $meta_key, $meta_value ); 533 $value = get_metadata( $object_type, $object_id, $meta_key, true ); 534 $this->assertSame( $value, $meta_value ); 535 536 // Delete meta, make sure the default is returned. 537 delete_metadata( $object_type, $object_id, $meta_key ); 538 $value = get_metadata( $object_type, $object_id, $meta_key, $single ); 539 $this->assertSame( $value, $expected ); 540 541 // Set other meta key, to make sure other keys are not effects. 542 $meta_value = 'hibble'; 543 $meta_key = 'unregistered_key1'; 544 $value = get_metadata( $object_type, $object_id, $meta_key, true ); 545 $this->assertSame( $value, '' ); 546 update_metadata( $object_type, $object_id, $meta_key, $meta_value ); 547 $value = get_metadata( $object_type, $object_id, $meta_key, true ); 548 $this->assertSame( $value, $meta_value ); 549 550 } 551 552 /** 553 * @ticket 43941 554 * @dataProvider data_get_invalid_default_data 555 */ 556 public function test_get_invalid_default_value( $args, $single, $expected ) { 557 $this->setExpectedIncorrectUsage( 'register_meta' ); 558 $object_type = 'post'; 559 $meta_key = 'registered_key1'; 560 $register = register_meta( 561 $object_type, 562 $meta_key, 563 $args 564 ); 565 566 $this->assertFalse( $register ); 567 568 $object_property_name = $object_type . '_id'; 569 $object_id = self::$$object_property_name; 570 $default_value = get_metadata_default( $object_type, $meta_key, $single, $object_id ); 571 $this->assertSame( $default_value, $expected ); 572 } 573 507 574 public function filter_get_object_subtype_for_customtype( $subtype, $object_id ) { 508 575 if ( 1 === ( $object_id % 2 ) ) { … … 511 578 512 579 return 'even'; 580 } 581 582 public function data_get_default_data() { 583 return array( 584 'single string key with single ask ' => array( 585 array( 586 'single' => true, 587 'default' => 'wibble', 588 ), 589 true, 590 'wibble', 591 ), 592 'single string key with multiple ask' => array( 593 array( 594 'single' => true, 595 'default' => 'wibble', 596 ), 597 false, 598 array( 'wibble' ), 599 ), 600 'multiple string key with single ask' => array( 601 array( 602 'single' => false, 603 'default' => 'wibble', 604 ), 605 true, 606 'wibble', 607 ), 608 'multiple string key with multiple ask' => array( 609 array( 610 'single' => false, 611 'default' => 'wibble', 612 ), 613 false, 614 array( 'wibble' ), 615 ), 616 'single array key with multiple ask' => array( 617 array( 618 'single' => true, 619 'type' => 'array', 620 'show_in_rest' => array( 621 'schema' => array( 622 'type' => 'array', 623 'items' => array( 624 'type' => 'string', 625 ), 626 ), 627 ), 628 'default' => array( 'wibble' ), 629 ), 630 false, 631 array( array( 'wibble' ) ), 632 ), 633 'single string key with single ask for sub type' => array( 634 array( 635 'single' => true, 636 'object_subtype' => 'page', 637 'default' => 'wibble', 638 ), 639 true, 640 'wibble', 641 ), 642 'single string key with multiple ask for sub type' => array( 643 array( 644 'single' => true, 645 'object_subtype' => 'page', 646 'default' => 'wibble', 647 ), 648 false, 649 array( 'wibble' ), 650 ), 651 'single array key with multiple ask for sub type' => array( 652 array( 653 'single' => true, 654 'object_subtype' => 'page', 655 'show_in_rest' => array( 656 'schema' => array( 657 'type' => 'array', 658 'items' => array( 659 'type' => 'string', 660 ), 661 ), 662 ), 663 'default' => array( 'wibble' ), 664 ), 665 false, 666 array( array( 'wibble' ) ), 667 ), 668 669 // types 670 'single object key with single ask' => array( 671 array( 672 'single' => true, 673 'show_in_rest' => array( 674 'schema' => array( 675 'type' => 'object', 676 'properties' => array( 677 'wibble' => array( 678 'type' => 'string', 679 ), 680 ), 681 ), 682 ), 683 'type' => 'object', 684 'default' => array( 'wibble' => 'dibble' ), 685 ), 686 true, 687 array( 'wibble' => 'dibble' ), 688 ), 689 'single object key with multiple ask' => array( 690 array( 691 'single' => true, 692 'show_in_rest' => array( 693 'schema' => array( 694 'type' => 'object', 695 'properties' => array( 696 'wibble' => array( 697 'type' => 'string', 698 ), 699 ), 700 ), 701 ), 702 'type' => 'object', 703 'default' => array( 'wibble' => 'dibble' ), 704 ), 705 false, 706 array( array( 'wibble' => 'dibble' ) ), 707 ), 708 'multiple object key with single ask' => array( 709 array( 710 'show_in_rest' => array( 711 'schema' => array( 712 'type' => 'object', 713 'properties' => array( 714 'wibble' => array( 715 'type' => 'string', 716 ), 717 ), 718 ), 719 ), 720 'type' => 'object', 721 'single' => false, 722 'default' => array( 'wibble' => 'dibble' ), 723 ), 724 true, 725 array( 'wibble' => 'dibble' ), 726 ), 727 'multiple object key with multiple ask' => array( 728 array( 729 'show_in_rest' => array( 730 'schema' => array( 731 'type' => 'object', 732 'properties' => array( 733 'wibble' => array( 734 'type' => 'string', 735 ), 736 ), 737 ), 738 ), 739 'type' => 'object', 740 'single' => false, 741 'default' => array( 'wibble' => 'dibble' ), 742 ), 743 false, 744 array( array( 'wibble' => 'dibble' ) ), 745 ), 746 'single array key with multiple ask part two' => array( 747 array( 748 'show_in_rest' => array( 749 'schema' => array( 750 'type' => 'array', 751 'items' => array( 752 'type' => 'string', 753 ), 754 ), 755 ), 756 'single' => true, 757 'type' => 'array', 758 'default' => array( 'dibble' ), 759 ), 760 false, 761 array( array( 'dibble' ) ), 762 ), 763 'multiple array with multiple ask' => array( 764 array( 765 'show_in_rest' => array( 766 'schema' => array( 767 'type' => 'array', 768 'items' => array( 769 'type' => 'string', 770 ), 771 ), 772 ), 773 'single' => false, 774 'type' => 'array', 775 'default' => array( 'dibble' ), 776 ), 777 false, 778 array( array( 'dibble' ) ), 779 ), 780 'single array with single ask' => array( 781 array( 782 'show_in_rest' => array( 783 'schema' => array( 784 'type' => 'array', 785 'items' => array( 786 'type' => 'string', 787 ), 788 ), 789 ), 790 'single' => true, 791 'type' => 'array', 792 'default' => array( 'dibble' ), 793 ), 794 true, 795 array( 'dibble' ), 796 ), 797 798 'multiple array with single ask' => array( 799 array( 800 'show_in_rest' => array( 801 'schema' => array( 802 'type' => 'array', 803 'items' => array( 804 'type' => 'string', 805 ), 806 ), 807 ), 808 'single' => false, 809 'type' => 'array', 810 'default' => array( 'dibble' ), 811 ), 812 true, 813 array( 'dibble' ), 814 ), 815 816 'single boolean with single ask' => array( 817 array( 818 'single' => true, 819 'type' => 'boolean', 820 'default' => true, 821 ), 822 true, 823 true, 824 ), 825 'multiple boolean with single ask' => array( 826 array( 827 'single' => false, 828 'type' => 'boolean', 829 'default' => true, 830 ), 831 true, 832 true, 833 ), 834 'single boolean with multiple ask' => array( 835 array( 836 'single' => true, 837 'type' => 'boolean', 838 'default' => true, 839 ), 840 false, 841 array( true ), 842 ), 843 'multiple boolean with multiple ask' => array( 844 array( 845 'single' => false, 846 'type' => 'boolean', 847 'default' => true, 848 ), 849 false, 850 array( true ), 851 ), 852 853 'single integer with single ask' => array( 854 array( 855 'single' => true, 856 'type' => 'integer', 857 'default' => 123, 858 ), 859 true, 860 123, 861 ), 862 'multiple integer with single ask' => array( 863 array( 864 'single' => false, 865 'type' => 'integer', 866 'default' => 123, 867 ), 868 true, 869 123, 870 ), 871 'single integer with multiple ask' => array( 872 array( 873 'single' => true, 874 'type' => 'integer', 875 'default' => 123, 876 ), 877 false, 878 array( 123 ), 879 ), 880 'multiple integer with multiple ask' => array( 881 array( 882 'single' => false, 883 'type' => 'integer', 884 'default' => 123, 885 ), 886 false, 887 array( 123 ), 888 ), 889 'single array of objects with multiple ask' => array( 890 array( 891 'type' => 'array', 892 'single' => true, 893 'show_in_rest' => array( 894 'schema' => array( 895 'type' => 'array', 896 'items' => array( 897 'type' => 'object', 898 'properties' => array( 899 'name' => array( 900 'type' => 'string', 901 ), 902 ), 903 ), 904 ), 905 ), 906 'default' => array( 907 array( 908 'name' => 'Kirk', 909 ), 910 ), 911 ), 912 false, 913 array( 914 array( 915 array( 916 'name' => 'Kirk', 917 ), 918 ), 919 ), 920 ), 921 ); 922 } 923 924 public function data_get_invalid_default_data() { 925 return array( 926 array( 927 array( 928 'single' => true, 929 'type' => 'boolean', 930 'default' => 123, 931 ), 932 true, 933 '', 934 ), 935 array( 936 array( 937 'single' => false, 938 'type' => 'boolean', 939 'default' => 123, 940 ), 941 true, 942 '', 943 ), 944 array( 945 array( 946 'single' => true, 947 'type' => 'boolean', 948 'default' => 123, 949 ), 950 false, 951 array(), 952 ), 953 array( 954 array( 955 'single' => false, 956 'type' => 'boolean', 957 'default' => 123, 958 ), 959 false, 960 array(), 961 ), 962 963 array( 964 array( 965 'single' => true, 966 'type' => 'integer', 967 'default' => 'wibble', 968 ), 969 true, 970 '', 971 ), 972 array( 973 array( 974 'single' => false, 975 'type' => 'integer', 976 'default' => 'wibble', 977 ), 978 true, 979 '', 980 ), 981 array( 982 array( 983 'single' => true, 984 'type' => 'integer', 985 'default' => 'wibble', 986 ), 987 false, 988 array(), 989 ), 990 array( 991 array( 992 'single' => false, 993 'type' => 'integer', 994 'default' => 'wibble', 995 ), 996 false, 997 array(), 998 ), 999 array( 1000 array( 1001 'single' => false, 1002 'type' => 'integer', 1003 'default' => array( 123, 'wibble' ), 1004 ), 1005 false, 1006 array(), 1007 ), 1008 array( 1009 array( 1010 'single' => false, 1011 'type' => 'integer', 1012 'default' => array( 123, array() ), 1013 ), 1014 false, 1015 array(), 1016 ), 1017 array( 1018 array( 1019 'single' => false, 1020 'type' => 'array', 1021 'show_in_rest' => array( 1022 'schema' => array( 1023 'type' => 'array', 1024 'items' => array( 1025 'type' => 'string', 1026 ), 1027 ), 1028 ), 1029 'default' => array( array( 123, 456 ), array( 'string' ) ), 1030 ), 1031 false, 1032 array(), 1033 ), 1034 array( 1035 array( 1036 'single' => true, 1037 'type' => 'array', 1038 'show_in_rest' => array( 1039 'schema' => array( 1040 'type' => 'array', 1041 'items' => array( 1042 'type' => 'string', 1043 ), 1044 ), 1045 ), 1046 'default' => array( array( 123, 456 ), array( 'string' ) ), 1047 ), 1048 true, 1049 '', 1050 ), 1051 array( 1052 array( 1053 'show_in_rest' => array( 1054 'schema' => array( 1055 'type' => 'object', 1056 'properties' => array( 1057 'my_prop' => array( 1058 'type' => 'string', 1059 ), 1060 'my_required_prop' => array( 1061 'type' => 'string', 1062 ), 1063 ), 1064 'required' => array( 'my_required_prop' ), 1065 ), 1066 ), 1067 'type' => 'object', 1068 'single' => true, 1069 'default' => array( 'my_prop' => 'hibble' ), 1070 ), 1071 true, 1072 '', 1073 ), 1074 ); 513 1075 } 514 1076
Note: See TracChangeset
for help on using the changeset viewer.