Changeset 44404 for branches/5.0
- Timestamp:
- 01/06/2019 05:05:24 PM (6 years ago)
- Location:
- branches/5.0
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/5.0
-
branches/5.0/src/wp-includes/class.wp-scripts.php
r43898 r44404 533 533 } 534 534 535 $output = '(function( translations ){' . 536 'translations.locale_data.messages[""].domain = "' . $domain . '";' . 537 'wp.i18n.setLocaleData( translations.locale_data.messages, "' . $domain . '" );' . 538 '})(' . $json_translations . ');'; 535 $output = <<<JS 536 ( function( domain, translations ) { 537 var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; 538 localeData[""].domain = domain; 539 wp.i18n.setLocaleData( localeData, domain ); 540 } )( "{$domain}", {$json_translations} ); 541 JS; 539 542 540 543 if ( $echo ) { … … 547 550 /** 548 551 * Determines script dependencies. 549 552 * 550 553 * @since 2.1.0 551 554 * -
branches/5.0/tests/phpunit/tests/dependencies/scripts.php
r43898 r44404 5 5 */ 6 6 class Tests_Dependencies_Scripts extends WP_UnitTestCase { 7 var $old_wp_scripts; 7 protected $old_wp_scripts; 8 9 protected $wp_scripts_print_translations_output; 8 10 9 11 function setUp() { … … 14 16 $GLOBALS['wp_scripts'] = new WP_Scripts(); 15 17 $GLOBALS['wp_scripts']->default_version = get_bloginfo( 'version' ); 18 19 $this->wp_scripts_print_translations_output = <<<JS 20 <script type='text/javascript'> 21 ( function( domain, translations ) { 22 var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; 23 localeData[""].domain = domain; 24 wp.i18n.setLocaleData( localeData, domain ); 25 } )( "__DOMAIN__", __JSON_TRANSLATIONS__ ); 26 </script> 27 JS; 28 $this->wp_scripts_print_translations_output .= "\n"; 16 29 } 17 30 … … 776 789 wp_set_script_translations( 'test-example', 'default', DIR_TESTDATA . '/languages' ); 777 790 778 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 779 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 780 "translations.locale_data.messages[\"\"].domain = \"default\";" . 781 "wp.i18n.setLocaleData( translations.locale_data.messages, \"default\" );" . 782 "})(" . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n"; 791 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 792 $expected .= str_replace( 793 array( 794 '__DOMAIN__', 795 '__JSON_TRANSLATIONS__', 796 ), 797 array( 798 'default', 799 file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ), 800 ), 801 $this->wp_scripts_print_translations_output 802 ); 783 803 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n"; 784 804 … … 794 814 wp_set_script_translations( 'plugin-example', 'internationalized-plugin', DIR_TESTDATA . '/languages/plugins' ); 795 815 796 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 797 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 798 "translations.locale_data.messages[\"\"].domain = \"internationalized-plugin\";" . 799 "wp.i18n.setLocaleData( translations.locale_data.messages, \"internationalized-plugin\" );" . 800 "})(" . file_get_contents( DIR_TESTDATA . '/languages/plugins/internationalized-plugin-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ) . ");\n</script>\n"; 816 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 817 $expected .= str_replace( 818 array( 819 '__DOMAIN__', 820 '__JSON_TRANSLATIONS__', 821 ), 822 array( 823 'internationalized-plugin', 824 file_get_contents( DIR_TESTDATA . '/languages/plugins/internationalized-plugin-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ), 825 ), 826 $this->wp_scripts_print_translations_output 827 ); 801 828 $expected .= "<script type='text/javascript' src='/wp-content/plugins/my-plugin/js/script.js'></script>\n"; 802 829 … … 812 839 wp_set_script_translations( 'theme-example', 'internationalized-theme', DIR_TESTDATA . '/languages/themes' ); 813 840 814 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 815 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 816 "translations.locale_data.messages[\"\"].domain = \"internationalized-theme\";" . 817 "wp.i18n.setLocaleData( translations.locale_data.messages, \"internationalized-theme\" );" . 818 "})(" . file_get_contents( DIR_TESTDATA . '/languages/themes/internationalized-theme-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ) . ");\n</script>\n"; 841 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 842 $expected .= str_replace( 843 array( 844 '__DOMAIN__', 845 '__JSON_TRANSLATIONS__', 846 ), 847 array( 848 'internationalized-theme', 849 file_get_contents( DIR_TESTDATA . '/languages/themes/internationalized-theme-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ), 850 ), 851 $this->wp_scripts_print_translations_output 852 ); 819 853 $expected .= "<script type='text/javascript' src='/wp-content/themes/my-theme/js/script.js'></script>\n"; 820 854 … … 830 864 wp_set_script_translations( 'script-handle', 'admin', DIR_TESTDATA . '/languages/' ); 831 865 832 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 833 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 834 "translations.locale_data.messages[\"\"].domain = \"admin\";" . 835 "wp.i18n.setLocaleData( translations.locale_data.messages, \"admin\" );" . 836 "})(" . file_get_contents( DIR_TESTDATA . '/languages/admin-en_US-script-handle.json' ) . ");\n</script>\n"; 866 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 867 $expected .= str_replace( 868 array( 869 '__DOMAIN__', 870 '__JSON_TRANSLATIONS__', 871 ), 872 array( 873 'admin', 874 file_get_contents( DIR_TESTDATA . '/languages/admin-en_US-script-handle.json' ), 875 ), 876 $this->wp_scripts_print_translations_output 877 ); 837 878 $expected .= "<script type='text/javascript' src='/wp-admin/js/script.js'></script>\n"; 838 879 … … 863 904 wp_set_script_translations( 'test-example', 'admin', DIR_TESTDATA . '/languages/' ); 864 905 865 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 866 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 867 "translations.locale_data.messages[\"\"].domain = \"admin\";" . 868 "wp.i18n.setLocaleData( translations.locale_data.messages, \"admin\" );" . 869 "})({ \"locale_data\": { \"messages\": { \"\": {} } } });\n</script>\n"; 906 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 907 $expected .= str_replace( 908 array( 909 '__DOMAIN__', 910 '__JSON_TRANSLATIONS__', 911 ), 912 array( 913 'admin', 914 '{ "locale_data": { "messages": { "": {} } } }', 915 ), 916 $this->wp_scripts_print_translations_output 917 ); 870 918 $expected .= "<script type='text/javascript' src='/wp-admin/js/script.js'></script>\n"; 871 919 … … 879 927 wp_register_script( 'wp-i18n', '/wp-includes/js/dist/wp-i18n.js', array(), null ); 880 928 wp_register_script( 'test-example', '/wp-includes/js/script.js', array(), null ); 881 wp_set_script_translations( 'test-example', 'default', 929 wp_set_script_translations( 'test-example', 'default', DIR_TESTDATA . '/languages' ); 882 930 883 931 wp_enqueue_script( 'test-example' ); 884 932 885 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 886 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 887 "translations.locale_data.messages[\"\"].domain = \"default\";" . 888 "wp.i18n.setLocaleData( translations.locale_data.messages, \"default\" );" . 889 "})(" . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n"; 933 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 934 $expected .= str_replace( 935 array( 936 '__DOMAIN__', 937 '__JSON_TRANSLATIONS__', 938 ), 939 array( 940 'default', 941 file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ), 942 ), 943 $this->wp_scripts_print_translations_output 944 ); 890 945 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n"; 891 946 … … 899 954 wp_register_script( 'wp-i18n', '/wp-includes/js/dist/wp-i18n.js', array(), null ); 900 955 wp_register_script( 'test-dependency', '/wp-includes/js/script.js', array(), null ); 901 wp_set_script_translations( 'test-dependency', 'default', 956 wp_set_script_translations( 'test-dependency', 'default', DIR_TESTDATA . '/languages' ); 902 957 903 958 wp_enqueue_script( 'test-example', '/wp-includes/js/script2.js', array( 'test-dependency' ), null ); 904 959 905 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 906 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 907 "translations.locale_data.messages[\"\"].domain = \"default\";" . 908 "wp.i18n.setLocaleData( translations.locale_data.messages, \"default\" );" . 909 "})(" . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n"; 960 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 961 $expected .= str_replace( 962 array( 963 '__DOMAIN__', 964 '__JSON_TRANSLATIONS__', 965 ), 966 array( 967 'default', 968 file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ), 969 ), 970 $this->wp_scripts_print_translations_output 971 ); 910 972 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n"; 911 973 $expected .= "<script type='text/javascript' src='/wp-includes/js/script2.js'></script>\n";
Note: See TracChangeset
for help on using the changeset viewer.