Changeset 44403
- Timestamp:
- 01/06/2019 04:22:46 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class.wp-scripts.php
r44395 r44403 547 547 } 548 548 549 $output = '(function( translations ){' . 550 'translations.locale_data.messages[""].domain = "' . $domain . '";' . 551 'wp.i18n.setLocaleData( translations.locale_data.messages, "' . $domain . '" );' . 552 '})(' . $json_translations . ');'; 549 $output = <<<JS 550 ( function( domain, translations ) { 551 var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; 552 localeData[""].domain = domain; 553 wp.i18n.setLocaleData( localeData, domain ); 554 } )( "{$domain}", {$json_translations} ); 555 JS; 553 556 554 557 if ( $echo ) { -
trunk/tests/phpunit/tests/dependencies/scripts.php
r44239 r44403 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 … … 782 795 wp_set_script_translations( 'test-example', 'default', DIR_TESTDATA . '/languages' ); 783 796 784 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 785 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 786 'translations.locale_data.messages[""].domain = "default";' . 787 'wp.i18n.setLocaleData( translations.locale_data.messages, "default" );' . 788 '})(' . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n"; 797 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 798 $expected .= str_replace( 799 array( 800 '__DOMAIN__', 801 '__JSON_TRANSLATIONS__', 802 ), 803 array( 804 'default', 805 file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ), 806 ), 807 $this->wp_scripts_print_translations_output 808 ); 789 809 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n"; 790 810 … … 800 820 wp_set_script_translations( 'plugin-example', 'internationalized-plugin', DIR_TESTDATA . '/languages/plugins' ); 801 821 802 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 803 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 804 'translations.locale_data.messages[""].domain = "internationalized-plugin";' . 805 'wp.i18n.setLocaleData( translations.locale_data.messages, "internationalized-plugin" );' . 806 '})(' . file_get_contents( DIR_TESTDATA . '/languages/plugins/internationalized-plugin-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ) . ");\n</script>\n"; 822 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 823 $expected .= str_replace( 824 array( 825 '__DOMAIN__', 826 '__JSON_TRANSLATIONS__', 827 ), 828 array( 829 'internationalized-plugin', 830 file_get_contents( DIR_TESTDATA . '/languages/plugins/internationalized-plugin-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ), 831 ), 832 $this->wp_scripts_print_translations_output 833 ); 807 834 $expected .= "<script type='text/javascript' src='/wp-content/plugins/my-plugin/js/script.js'></script>\n"; 808 835 … … 818 845 wp_set_script_translations( 'theme-example', 'internationalized-theme', DIR_TESTDATA . '/languages/themes' ); 819 846 820 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 821 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 822 'translations.locale_data.messages[""].domain = "internationalized-theme";' . 823 'wp.i18n.setLocaleData( translations.locale_data.messages, "internationalized-theme" );' . 824 '})(' . file_get_contents( DIR_TESTDATA . '/languages/themes/internationalized-theme-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ) . ");\n</script>\n"; 847 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 848 $expected .= str_replace( 849 array( 850 '__DOMAIN__', 851 '__JSON_TRANSLATIONS__', 852 ), 853 array( 854 'internationalized-theme', 855 file_get_contents( DIR_TESTDATA . '/languages/themes/internationalized-theme-en_US-2f86cb96a0233e7cb3b6f03ad573be0b.json' ), 856 ), 857 $this->wp_scripts_print_translations_output 858 ); 825 859 $expected .= "<script type='text/javascript' src='/wp-content/themes/my-theme/js/script.js'></script>\n"; 826 860 … … 836 870 wp_set_script_translations( 'script-handle', 'admin', DIR_TESTDATA . '/languages/' ); 837 871 838 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 839 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 840 'translations.locale_data.messages[""].domain = "admin";' . 841 'wp.i18n.setLocaleData( translations.locale_data.messages, "admin" );' . 842 '})(' . file_get_contents( DIR_TESTDATA . '/languages/admin-en_US-script-handle.json' ) . ");\n</script>\n"; 872 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 873 $expected .= str_replace( 874 array( 875 '__DOMAIN__', 876 '__JSON_TRANSLATIONS__', 877 ), 878 array( 879 'admin', 880 file_get_contents( DIR_TESTDATA . '/languages/admin-en_US-script-handle.json' ), 881 ), 882 $this->wp_scripts_print_translations_output 883 ); 843 884 $expected .= "<script type='text/javascript' src='/wp-admin/js/script.js'></script>\n"; 844 885 … … 869 910 wp_set_script_translations( 'test-example', 'admin', DIR_TESTDATA . '/languages/' ); 870 911 871 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 872 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 873 'translations.locale_data.messages[""].domain = "admin";' . 874 'wp.i18n.setLocaleData( translations.locale_data.messages, "admin" );' . 875 "})({ \"locale_data\": { \"messages\": { \"\": {} } } });\n</script>\n"; 912 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 913 $expected .= str_replace( 914 array( 915 '__DOMAIN__', 916 '__JSON_TRANSLATIONS__', 917 ), 918 array( 919 'admin', 920 '{ "locale_data": { "messages": { "": {} } } }', 921 ), 922 $this->wp_scripts_print_translations_output 923 ); 876 924 $expected .= "<script type='text/javascript' src='/wp-admin/js/script.js'></script>\n"; 877 925 … … 889 937 wp_enqueue_script( 'test-example' ); 890 938 891 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 892 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 893 'translations.locale_data.messages[""].domain = "default";' . 894 'wp.i18n.setLocaleData( translations.locale_data.messages, "default" );' . 895 '})(' . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n"; 939 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 940 $expected .= str_replace( 941 array( 942 '__DOMAIN__', 943 '__JSON_TRANSLATIONS__', 944 ), 945 array( 946 'default', 947 file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ), 948 ), 949 $this->wp_scripts_print_translations_output 950 ); 896 951 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n"; 897 952 … … 909 964 wp_enqueue_script( 'test-example', '/wp-includes/js/script2.js', array( 'test-dependency' ), null ); 910 965 911 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>"; 912 $expected .= "\n<script type='text/javascript'>\n(function( translations ){" . 913 'translations.locale_data.messages[""].domain = "default";' . 914 'wp.i18n.setLocaleData( translations.locale_data.messages, "default" );' . 915 '})(' . file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ) . ");\n</script>\n"; 966 $expected = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js'></script>\n"; 967 $expected .= str_replace( 968 array( 969 '__DOMAIN__', 970 '__JSON_TRANSLATIONS__', 971 ), 972 array( 973 'default', 974 file_get_contents( DIR_TESTDATA . '/languages/en_US-813e104eb47e13dd4cc5af844c618754.json' ), 975 ), 976 $this->wp_scripts_print_translations_output 977 ); 916 978 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js'></script>\n"; 917 979 $expected .= "<script type='text/javascript' src='/wp-includes/js/script2.js'></script>\n";
Note: See TracChangeset
for help on using the changeset viewer.