变更集56687
时间戳: 2023年9月25日下午09:03:19 ( 12个月 (之前) 位置: 大旅行箱 文件夹: -
17已编辑
-
作曲家.json (已修改) ( 1个差异 ) -
src/wp-includes/class-wp-customize-manager.php (已修改) ( 8个差异 ) -
src/wp-includes/class-wp-customize-nav-menus.php (已修改) ( 1个差异 ) -
src/wp-includes/class-wp-customize-widgets.php (已修改) ( 1个差异 ) -
src/wp-includes/class-wp-scripts.php (已修改) ( 7个差异 ) -
src/wp-includes/comment-template.php (已修改) ( 1个差异 ) -
src/wp-includes/customize/class-wp-customize-selective-refresh.php (已修改) ( 1个差异 ) -
src/wp-includes/functions.php (已修改) ( 2个差异 ) -
src/wp-includes/script-loader.php (已修改) ( 3个差异 ) -
src/wp-includes/theme-templates.php (已修改) ( 2个差异 ) -
src/wp包含/theme.php (已修改) ( 2个差异 ) -
src/wp-includes/widgets/class-wp-widget-archives.php (已修改) ( 3个差异 ) -
src/wp-includes/widgets/class-wp-widget-categories.php (已修改) ( 2个差异 ) -
src/wp-login.php (已修改) ( 7个差异 ) -
tests/phpunit/tests/customize/manager.php (已修改) ( 1个差异 ) -
tests/phpunit/tests/dependencies/scripts.php (已修改) ( 56个差异 ) -
tests/phpunit/tests/dependencients/wpInlineScriptTag.php (已修改) ( 1个差异 )
图例:
未修改 补充 远离的
-
主干/作曲家.json 56421兰特 56687兰特 12 12 “要求”:{ 13 13 “php”:“>=7.0” 14 }, 15 “建议”:{ 16 “ext-dom”:“*” 14 17 }, 15 18 “require-dev”:{ -
trunk/src/wp-includes/class-wp-customize-manager.php 56549兰特 56687兰特 465 465 “错误”=>$ajax_message, 466 466 ); 467 $消息。= 对象获取清理(); 468 对象开始(); 467 469 ?> 468 470 <脚本> … … 473 475 </script> 474 476 <? php(电话) 475 $消息= 对象获取清理( ); 477 $消息= wp_get_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean()) ); 476 478 } 477 479 … … 2084 2086 回报; 2085 2087 } 2088 对象开始(); 2086 2089 ?> 2087 2090 <脚本> … … 2107 2110 </script> 2108 2111 <? php(电话) 2112 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 2109 2113 } 2110 2114 … … 2202 2206 } 2203 2207 2208 对象开始(); 2204 2209 ?> 2205 <脚本 type=“text/javascript” > 2210 <脚本 > 2206 2211 var_wpCustomizeSettings=<? php-echo wp_json_encode($settings);?>; 2207 2212 _wpCustomizeSettings.values={}; … … 2226 2231 </script> 2227 2232 <? php(电话) 2233 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 2228 2234 } 2229 2235 … … 4977 4983 } 4978 4984 4985 对象开始(); 4979 4986 ?> 4980 <脚本 type=“text/javascript” > 4987 <脚本 > 4981 4988 var_wpCustomizeSettings=<? php-echo wp_json_encode($settings);?>; 4982 4989 _wpCustomizeSettings.initialClientTimestamp=_.now(); … … 5013 5020 </script> 5014 5021 <? php(电话) 5022 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 5015 5023 } 5016 5024 -
trunk/src/wp-includes/class-wp-customize-nav-menus.php 55990兰特 56687兰特 1560 1560 “navMenuInstanceArgs”=>$this->preview_nav_menu_instance_args, 1561 1561 ); 1562 printf('<script>var_wpCustomizePreviewNavMenusExports=%s;</script>',wp_json_encode($exports ) ); 1562 wp_print_inline_script_tag(sprintf('var_wpCustomizePreviewNavMenusExports=%s;',wp_json_encode($exports) ) ); 1563 1563 } 1564 1564 -
trunk/src/wp-includes/class-wp-customize-widgets.php 56559兰特 56687兰特 1311 1311 取消设置($registered_widget['callback']);// 可能不是JSON可序列化的。 1312 1312 } 1313 1314 ?> 1315 <script type=“text/javascript”> 1316 var_wpWidgetCustomizerPreviewSettings=<? php-echo wp_json_encode($settings);?>; 1317 </script> 1318 <? php(电话) 1313 wp_print_inline_script_tag(打印行脚本标记)( 1314 sprintf('var_wpWidgetCustomizerPreviewSettings=%s;',wp_json_encode($settings)) 1315 ); 1319 1316 } 1320 1317 -
trunk/src/wp-includes/class-wp-scripts.php r56273型 56687兰特 124 124 125 125 /** 126 *包含脚本标记的类型属性的字符串。 127 * 128 *如果活动主题未声明HTML5支持“script”, 129 *然后初始化为“type='text/javascript'”。 130 * 131 *@自5.3.0起 132 *@var字符串 133 */ 134 私有$type_attr=“”; 135 136 /** 137 126 *保存给定脚本句柄的从属项映射(作为句柄)。 138 127 *用于优化递归依赖关系树检查。 … … 168 157 */ 169 158 公共函数init(){ 170 如果( 171 函数存在('is_admin')&&! is_admin() 172 && 173 function_exists('current_theme_supports')&&! current_theme_supports('html5','script') 174 ) { 175 $this->type_attr=“type='text/javascript'”; 176 } 177 178 159 /** 179 160 *在初始化WP_Scripts实例时激发。 … … 246 227 } 247 228 248 printf(“<script%s id='%s-js-extra'>\n”,$this->type_attr,esc_attr($handle)); 249 250 //HTML 5不需要CDATA。 251 if($this->typeatr){ 252 echo“/*<![CDATA[*/\n”; 253 } 254 255 echo“$output\n”; 256 257 if($this->typeatr){ 258 echo“/*]]>*/\n”; 259 } 260 261 echo“</script>\n”; 229 wp_print_inline_script_tag($output,数组('id'=>“{$handle}-js-extra”)); 262 230 263 231 返回true; … … 336 304 $translations=$this->print_translations($handle,false); 337 305 if($翻译){ 338 $个翻译= sprintf(“<script%s id='%s-js-translations'>\n%s\n</script>\n”,$this->type_attr,esc_attr($handle),$translations ); 306 $个翻译= wp_get_inline_script_tag($translations,数组('id'=>“{$handle}-js-translations”) ); 339 307 } 340 308 … … 404 372 405 373 /**此筛选器记录在wp-includs/class-wp-scripts.php中*/ 406 $src=esc_url (apply_filters('script_loader_src',$src,$handle)); 374 $src=esc_url _未加工的 (apply_filters('script_loader_src',$src,$handle)); 407 375 408 376 if(!$src){ … … 410 378 } 411 379 380 $attr=数组( 381 'src'=>$src, 382 'id'=>“{$handle}-js”, 383 ); 384 if($strategy){ 385 $attr[$strategy]=true; 386 } 387 if($intended_strategy){ 388 $attr['data-wp-strategy']=$intended_strategy; 389 } 412 390 $tag=$个翻译$ 之前的条件$ before_script; 413 $标签= 冲刺( 414 “<script%s src='%s'id='%s-js'%s%s></script>\n”, 415 $this->type_attr, 416 $src,//值在上面转义。 417 esc_attr($handle), 418 美元战略? “{$strategy}”:“”, 419 $intended_strategy? “data-wp-strategy='{$intended_strategy}'”:“” 420 ); 391 $标签= wp_get_script_tag($attr); 421 392 $标签=$ 后脚本$ cond_after; 422 393 … … 721 692 722 693 if($display){ 723 printf(“<script%s id='%s-js-translations'>\n%s\n</script>\n”,$this->type_attr,esc_attr($handle),$output ); 694 wp_print_inline_script_tag($output,数组('id'=>“{$handle}-js-translations”) ); 724 695 } 725 696 -
trunk/src/wp-includes/comment-template.php 56635兰特 56687兰特 1367 1367 if(current_user_can('unfiltered_html')){ 1368 1368 wp_nonce_field('unscreed-html-comment_'.$post_id,'_wp_unscreed-html_comment_disabled',false); 1369 echo“<script>(function(){if(window===window.parent){document.getElementById('_wp_unfiltered_html_comment_disabled').name='_wp_unfitered_html _comment';}})();</script>\n” ; 1369 wp_print_inline_script_tag(“(function(){if(window===window.parent){document.getElementById('_wp_unfiltered_html_comment_disabled').name='_wp_unfixed_html_coment';}})();”) ; 1370 1370 } 1371 1371 } -
trunk/src/wp-includes/customize/class-wp-customize-selective-refresh.php 55161兰特 56687兰特 194 194 195 195 //将数据导出到JS。 196 printf('<script>var_customizePartialRefreshExports=%s;</script>',wp_json_encode($exports ) ); 196 wp_print_inline_script_tag(sprintf('var_customizePartialRefreshExports=%s;',wp_json_encode($exports) ) ); 197 197 } 198 198 -
trunk/src/wp-includes/functions.php 56662兰特 56687兰特 7656 7656 $name=“wp-preview-”。 (int)$post->ID; 7657 7657 7658 对象开始(); 7658 7659 ?> 7659 7660 <脚本> … … 7671 7672 </script> 7672 7673 <? php(电话) 7674 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 7673 7675 } 7674 7676 -
trunk/src/wp-includes/script-loader.php 56646兰特 56687兰特 2788 2788 函数wp_get_script_tag($attributes){ 2789 2789 if(!isset($attributes['type'])&&! is_admin()&&! current_theme_supports(“html5”,“script”){ 2790 $attributes['type']='text/javascript'; 2790 //出于传统原因,将type属性保留为第一个属性(在核心中一直是这样)。 2791 $attributes=数组_合并( 2792 数组(“type”=>“text/javascript”), 2793 $个属性 2794 ); 2791 2795 } 2792 2796 /** … … 2831 2835 */ 2832 2836 函数wp_get_inline_script_tag($javascript,$attributes=array()){ 2833 if(!isset($attributes['type'])&&! is_admin()&&! current_theme_supports(“html5”,“script”){ 2834 $attributes['type']='text/javascript'; 2835 } 2837 $is_html5=current_theme_supports('html5','script')|| is_admin(); 2838 if(!isset($attributes['type'])&&$ 是html5){ 2839 //出于传统原因,将type属性保留为第一个属性(在核心中一直是这样)。 2840 $attributes=数组_合并( 2841 数组(“type”=>“text/javascript”), 2842 $个属性 2843 ); 2844 } 2845 2846 //如果不是HTML5,请确保标记与XHTML兼容。 2847 如果(!$is_html5){ 2848 $javascript=str_replace(']]>',']]]><![CDATA[>',$javascript);//退出任何现有的CDATA部分。 2849 $javascript=sprintf(“/*<![CDATA[*/\n%s\n/*]]>*/”,$javascript); 2850 } 2851 2852 $javascript=“\n”。 trim($javascript,“\n\r”)。 “\n”; 2853 2836 2854 /** 2837 2855 *筛选要添加到脚本标记的属性。 … … 2845 2863 */ 2846 2864 $attributes=应用过滤器('wp_inline_script_attributes',$attritributes,$javascript); 2847 2848 $javascript=“\n”。 trim($javascript,“\n\r”)。 “\n”; 2849 2865 2850 2866 return sprintf(“<script%s>%s</script>\n”,wp_sanitize_script_attributes($attributes),$javascript); -
trunk/src/wp-includes/theme-templates.php 56682兰特 56687兰特 161 161 162 162 /** 163 * 打印 跳过链接脚本。 163 * 排队 skip-link脚本。 164 164 */ 165 对象开始(); 165 166 ?> 166 167 <脚本> … … 205 206 </script> 206 207 <? php(电话) 208 $skip_link_script=str_replace(数组('<script>','</script>'),'',ob_get_clean()); 209 $script_handle='wp-block-template-skip-link'; 210 wp_register_script($script_handle,false); 211 wp_add_inline_script($script_handle,$skip_link_script); 212 wp_enqueue_script($script_handle); 207 213 } 208 214 -
trunk/src/wp-includes/theme.php 56686兰特 56687兰特 3784 3784 $home_origin=解析url(home_url()); 3785 3785 $cross_domain=(strtollower($admin_origin['host'])!== strtolower($home_origin['host']); 3786 $type_attr=当前主题支持('html5','script')?'':' type=“text/javascript”' ; 3786 对象开始() ; 3787 3787 ?> 3788 <脚本 <? php echo$type_attr;?> > 3788 <脚本 > 3789 3789 (函数(){ 3790 3790 var请求,b=document.body,c='className',cs='customize-support',rcs=new RegExp('(^|\\s+)(no-)?'+ cs+“(\\s+|$)”); … … 3802 3802 </script> 3803 3803 <? php(电话) 3804 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 3804 3805 } 3805 3806 -
trunk/src/wp-includes/widgets/class-wp-widget-archives.php 54062兰特 56687卢比 101 101 断裂; 102 102 } 103 104 $type_attr=当前主题支持('html5','script')?'':' type=“text/javascript”'; 105 103 ?> 106 104 … … 110 108 </选择> 111 109 112 <脚本<? php echo$type_attr;?> > 113 /* <! [CDATA[*/ 110 <? php对象启动()? > 111 <脚本> 114 112 (函数(){ 115 113 var dropdown=文档.getElementById(“<?php echo esc_js($dropdown_id);?>”); … … 121 119 dropdown.onchange=onSelectChange; 122 120 })(); 123 /* ]]> */ 124 121 </script> 125 122 <? php(电话) 123 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 126 124 }其他{ 127 125 $format=current_theme_supports('html5','navigation-widgets')?' html5':'xhtml'; -
trunk/src/wp-includes/widgets/class-wp-widget-categories.php 56547兰特 56687卢比 93 93 echo“</form>”; 94 94 95 $type_attr=当前主题支持('html5','script')?'':' type=“text/javascript”' ; 95 对象开始() ; 96 96 ?> 97 97 98 <脚本<? php-echo$type_attr;?>> 99 /* <! [CDATA[*/ 98 <脚本> 100 99 (函数(){ 101 100 var dropdown=文档.getElementById(“<?php echo esc_js($dropdown_id);?>”); … … 107 106 dropdown.onchange=onCatChange; 108 107 })(); 109 /* ]]> */ 110 108 </script> 111 109 112 110 <? php(电话) 111 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 113 112 }其他{ 114 113 $format=current_theme_supports('html5','navigation widgets')?' html5':'xhtml'; -
主干/src/wp-login.php 56654兰特 56687兰特 102 102 */ 103 103 if('loggedout'===$wp_error->get_error_code()){ 104 对象开始(); 104 105 ?> 105 106 <script>if(窗口中的“sessionStorage”){try{for(sessionStorage中的var key){if(key.indexOf(“wp-autosave-”)!=-1){sessionStorage.removeItem(key)}}}捕获(e){}}</ 脚本> 106 107 <? php(电话) 108 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 107 109 } 108 110 … … 194 196 </头> 195 197 <body class=“login no js<?php echo esc_attr(内爆('',$classes));?>”> 196 <script type=“text/javascript”> 197 document.body.className=文档.body.className.replace('no-js','js'); 198 </script> 198 <? php(电话) 199 wp_print_inline_script_tag(“document.body.className=文档.body.className.replace('no-js','js');”); 200 ?> 201 199 202 <? php(电话) 200 203 /** … … 415 418 416 419 if(!空($input_id)){ 420 对象开始(); 417 421 ?> 418 <脚本 type=“text/javascript” > 422 <脚本 > 419 423 尝试{document.getElementById('<?php-echo$input_id;?>').focus();}catch(e){} 420 424 if(wpOnload类型===“函数”)wpOn加载(); 421 425 </script> 422 426 <? php(电话) 427 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 423 428 } 424 429 … … 442 447 */ 443 448 函数wp_shake_js(){ 444 ?> 445 <script type=“text/javascript”> 446 document.querySelector('form').classList.add('shake'); 447 </script> 448 <? php(电话) 449 wp_print_inline_script_tag(“document.querySelector('form').classList.add('shake');”); 449 450 } 450 451 … … 1358 1359 1359 1360 if($customize_login){ 1361 对象开始(); 1360 1362 ?> 1361 <脚本 type=“text/javascript” >setTimeout(function(){new-wp.customize.Messenger({url:'<?php-echo-wp_customize_url();?>',通道:'login'}).send('login')},1000)</ 脚本> 1363 <脚本 >setTimeout(function(){new-wp.customize.Messenger({url:'<?php-echo-wp_customize_url();?>',通道:'login'}).send('login')},1000)</ 脚本> 1362 1364 <? php(电话) 1365 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 1363 1366 } 1364 1367 … … 1606 1609 $login_script.= “if(wpOnload的类型===‘函数’){wpOn加载()}”; 1607 1610 1608 ?> 1609 <script type=“text/javascript”> 1610 <? php echo$login_script;?> 1611 </script> 1612 <? php(电话) 1611 wp_print_inline_script_tag($login_script); 1613 1612 1614 1613 if($interim_login){ 1614 对象开始(); 1615 1615 ?> 1616 <脚本 type=“text/javascript” > 1616 <脚本 > 1617 1617 (函数(){ 1618 1618 尝试{ … … 1628 1628 </script> 1629 1629 <? php(电话) 1630 wp_print_inline_script_tag(str_replace(数组('<script>','</script>'),'',ob_get_clean())); 1630 1631 } 1631 1632 -
trunk/tests/phpunit/tests/customize/manager.php 56547兰特 56687卢比 3137 3137 $manager->remove_frameles_preview_messenger_channel(); 3138 3138 $output=ob_get_clean(); 3139 $this->assertStringContainsString('<script > ',$output); 3139 $this->assertStringContainsString('<script ',$output); 3140 3140 } 3141 3141 -
trunk/tests/phpunit/tests/dependencies/scripts.php 56559兰特 56687兰特 43 43 $this->wp_scripts_print_translations_output=<<JS 44 44 <script type='text/javascript'id='__HANDLE__-js-translations'> 45 /* <! [数据]*/ 45 46 (功能(域、翻译){ 46 47 var localeData=translations.locale_data[domain]| | translations.locale_data.messages; … … 48 49 wp.i18n.setLocaleData(本地数据,域); 49 50 })(“__DOMAIN__”,__JSON_TRANSLATIONS__); 51 /* ]]> */ 50 52 </script> 51 53 JS; … … 78 80 应为$。= “<script type='text/javascript'src=' http://example.com 'id='empty-deps-null-version-js'></script>\n“; 79 81 80 $this->断言 相同 (需要$,get_echo('wp_print_scripts')); 82 $this->断言 相等标记 (需要$,get_echo('wp_print_scripts')); 81 83 82 84 //没有要打印的脚本。 … … 119 121 $expected=“<script type='text/javascript'src=' http://example.org/ms-isa-1js 'id='ms-isa-1-js'data-wp-strategy='{$strategy}'></script>\n“; 120 122 应为$。= wp_get_inline脚本标记( 121 “console.log(“在一个之后”);\n” , 123 '控制台.log(“一个之后”);' , 122 124 阵列( 123 125 “id”=>“ms-isa-1-js-after”, 124 126 ) 125 127 ); 126 $this->断言 相同 ($expected,$output,'附加到延迟主脚本的“after”位置的内联脚本无法打印/执行'); 128 $this->断言 等于标记 ($expected,$output,'附加到延迟主脚本的“after”位置的内联脚本无法打印/执行。'); 127 129 } 128 130 … … 147 149 $expected=“<script type='text/javascript'src=' http://example.org/ms-insa-3.js 'id='ms-insa-3-js'></script>\n“; 148 150 应为$。= wp_get_inline脚本标记( 149 “console.log(“在一个之后”);\n” , 151 '控制台.log(“一个之后”);' , 150 152 阵列( 151 153 'id'=>'ms-insa-3-js-after'之后, … … 153 155 ); 154 156 155 $this->断言 相同 ($expected,$output,'附加到阻塞主脚本的“after”位置的内联脚本无法打印/执行'); 157 $this->断言 等于标记 ($expected,$output,'附加到阻塞主脚本的“after”位置的内联脚本无法打印/执行'); 156 158 } 157 159 … … 181 183 182 184 $预期值=wp_get_inline_script_tag( 183 “console.log(\”before first\“);\n” , 185 '控制台.log(“before first”);' , 184 186 阵列( 185 187 “id”=>“ds-i1-1-js-before”, … … 190 192 应为$。= “<script type='text/javascript'src=' http://example.org/ds-i1-3.js 'id='ds-i13-js'$strategy数据wp strategy='{$strategy}'></script>\n“; 191 193 应为$。= wp_get_inline脚本标记( 192 “console.log(\”before last“);\n” , 194 'console.log(“before last”);' , 193 195 阵列( 194 196 “id”=>“ms-i1-1-js-before”, … … 198 200 应为$。= “<script type='text/javascript'src=' http://example.org/ms-i1-1.js 'id='ms-i1-1-js'{$strategy}data-wp-strategy='{$stratigy}'></script>\n“; 199 201 200 $this->断言 相同 ($expected,$output,'附加到延迟主脚本的“before”位置的内联脚本无法打印/执行'); 202 $this->断言 等于标记 ($expected,$output,'附加到延迟主脚本的“before”位置的内联脚本无法打印/执行'); 201 203 } 202 204 … … 216 218 $output=get_echo('wp_print_scripts'); 217 219 $expected=“<script type='text/javascript'src='/main-script-a1.js'id='main-script-a1-js'异步数据wp策略='async'></script>\n”; 218 $this->断言 相同 ($expected,$output,“使用异步加载策略排队的脚本在打印时无法将异步属性应用于脚本句柄”); 220 $this->断言 等于标记 ($expected,$output,“使用异步加载策略排队的脚本在打印时无法将异步属性应用于脚本句柄”); 219 221 } 220 222 … … 236 238 wp_enqueue_script('dependency-script-a2','/dependency-script-a2.js',array(),null); 237 239 wp_enqueue_script('main-script-a2','/main-script-a2.js',数组('dependency-script-a2'),null,压缩('strategy')); 238 $output=get_echo('wp_print_scripts'); 239 $expected=“<script type='text/javascript'src='/main-script-a2.js'id='main-script-a2-js'{$strategy}data-wp-strategy='{$stratigy}'></script>”; 240 $this->assertStringContainsString($expected,$output,‘阻塞依赖项的依赖项可以自由使用任何策略’); 240 $output=get_echo('wp_print_scripts'); 241 $预期=“<script id='dependency-script-a2-js'src='/dependency-script-a2.js'></script>\n”; 242 应为$。= “<script type='text/javascript'src='/main-script-a2.js'id='main-script-a2-js'{$strategy}data-wp-strategy='{$stratigy}'></script>”; 243 $this->assertEqualMarkup($expected,$output,‘阻塞依赖项的依赖项可以自由使用任何策略’); 241 244 } 242 245 … … 258 261 wp_enqueue_script('dependent-script-a3','/dependent-script-a3.js',数组('main-script-a3'),null); 259 262 $output=get_echo('wp_print_scripts'); 260 应为$= “<script type='text/javascript'src='/main-script-a3.js'id='main-script-a3-js'data-wp-strategy='{$strategy}'></script>” ; 263 应为$= str_replace(“'”,“”,“<script type='text/javascript'src='/main-script-a3.js'id='main-script-a3-js'data-wp-strategy='{$strategy}'></script>”) ; 261 264 $this->assertStringContainsString($expected,$output,'阻塞依赖项必须强制延迟的依赖项成为阻塞项。'); 262 265 } … … 276 279 */ 277 280 公共函数test_delayed_dependent_with_blocking_dependency_not_enqueued($strategy){ 281 $this->add_html5_script_theme_support(); 278 282 wp_enqueue_script('main-script-a4','/main-script-a4.js',array(),null,compact('strategy')); 279 283 //此依赖项已注册但未排队,因此不应将其纳入合格的加载策略。 280 284 wp_register_script('dependent-script-a4','/dependent-script-a4.js',数组('main-script-a4]),null); 281 285 $output=get_echo('wp_print_scripts'); 282 应为$= “<script type='text/javascript'src='/main-script-a4.js'id='main-script-a4-js'{$strategy}data-wp-strategy='{$stratigy}'></script>” ; 286 应为$= str_replace(“'”,“”,“<script src='/main-script-a4.js'id='main-script-a4-js'{$strategy}data-wp-strategy='{$stratigy}'></script>”) ; 283 287 $this->assertStringContainsString($expected,$output,'只有排队的依赖项才应该影响合格的策略'); 284 288 } … … 965 969 */ 966 970 公共函数test_loading_strategy_with_defer_having_no_dependents_nor_dependencies(){ 971 $this->add_html5_script_theme_support(); 967 972 wp_enqueue_script('main-script-d1',' http://example.com/main-script-d1.js ',array(),null,array('strategy'=>'defer')); 968 973 $output=get_echo('wp_print_scripts'); 969 应为$= “<script type='text/javascript'src=' http://example.com/main-script-d1.js 'id='main-script-d1-js'延迟data-wp-strategy='defer'></script>\n“ ; 974 应为$= str_replace(“'”,“”,“<script src=' http://example.com/main-script-d1.js 'id='main-script-d1-js'延迟data-wp-strategy='defer'></script>\n“) ; 970 975 $this->assertStringContainsString($expected,$output,'expected defer,as there no dependent or dependency'); 971 976 } … … 981 986 */ 982 987 公共函数test_loading_strategy_with_defer_dependent_and_varied_dependenties(){ 988 $this->add_html5_script_theme_support(); 983 989 wp_enqueue_script('依赖脚本-d2-1',' http://example.com/dependency-script-d2-1.js ',array(),null,数组('strategy'=>'defer'); 984 990 wp_enqueue_script('依赖脚本-d2-2',' http://example.com/dependency-script-d2-2.js ',array(),null); … … 986 992 wp_enqueue_script('main-script-d2',' http://example.com/main-script-d2.js ',数组('dependency-script-d2-1','dependenty-script-d2-3'),null,数组('策略'=>'defer'); 987 993 $output=get_echo('wp_print_scripts'); 988 应为$= “<script type='text/javascript'src=' http://example.com/main-script-d2.js 'id='main-script-d2-js'延迟data-wp-strategy='defer'></script>\n“ ; 994 应为$= '<script src=“ http://example.com/main-script-d2.js “id=”main-script-d2-js“defer data-wp-strategy=”defer“></script>' ; 989 995 $this->assertStringContainsString($expected,$output,'expected defer,as all dependencies are deferred or blocking'); 990 996 } … … 1000 1006 */ 1001 1007 公共函数test_loading_strategy_with_all_defer_dependencies(){ 1008 $this->add_html5_script_theme_support(); 1002 1009 wp_enqueue_script('main-script-d3',' http://example.com/main-script-d3.js ',array(),null,数组('strategy'=>'defer'); 1003 1010 wp_enqueue_script('依赖脚本-d3-1',' http://example.com/dependent-script-d3-1.js ',数组('main-script-d3'),null,数组('策略'=>'defer')); … … 1005 1012 wp_enqueue_script('依赖脚本-d3-3',' http://example.com/dependent-script-d3-3.js ',数组('dependent-script-d3-2'),null,数组('策略'=>'defer'); 1006 1013 $output=get_echo('wp_print_scripts'); 1007 应为$= “<script type='text/javascript'src=' http://example.com/main-script-d3.js 'id='main-script-d3-js'延迟data-wp-strategy='defer'></script>\n“ ; 1014 应为$= '<script src=“ http://example.com/main-script-d3.js “id=”main-script-d3-js“defer data-wp-strategy=”defer“></script>' ; 1008 1015 $this->assertStringContainsString($expected,$output,'expected defer,as all dependent have defer loading strateg'); 1009 1016 } … … 1030 1037 应为$。= “<script type='text/javascript'src='/dependent-script-d4-3.js'id='dependent-script-d4-3-js'defer data-wp-strategy='defer'></script>\n”; 1031 1038 1032 $this->断言 相同 ($expected,$output,“注册为defer但具有异步依赖项的脚本预计会延迟所述依赖项”); 1039 $this->断言 等于标记 ($expected,$output,'注册为defer但具有异步从属项的脚本应具有延迟的所述从属项。'); 1033 1040 } 1034 1041 … … 1050 1057 wp_enqueue_script('dependent-script-d4-3','/dependent-script-d4-3.js',数组('dedependment-script-d4-2'),null,数组('策略'=>'defer')); 1051 1058 $output=get_echo('wp_print_scripts'); 1052 应为$= “<script type='text/javascript'src='/main-script-d4.js'id='main-script-d4-js'data-wp-strategy='defer'></script>\n” ; 1059 应为$= str_replace(“'”,“”,“<script type='text/javascript'src='/main-script-d4.js'id='main-script-d4-js'data-wp-strategy='defer'></script>\n”) ; 1053 1060 $this->assertStringContainsString($expected,$output,'注册为defer但所有依赖项都没有策略的脚本应该成为阻塞的(没有策略)。'); 1054 1061 } … … 1068 1075 $output=get_echo('wp_print_scripts'); 1069 1076 $预期=“<script type='text/javascript'src='/main-script-b1.js'id='main-script-b1-js'></script>\n”; 1077 $expected=str_replace(“”,“”,$expected); 1070 1078 $this->assertSame($expected,$output,'使用“阻塞”策略注册的脚本,如果没有依赖项,则不应打印加载策略属性'); 1071 1079 … … 1074 1082 $output=get_echo('wp_print_scripts'); 1075 1083 $预期=“<script type='text/javascript'src='/main-script-b2.js'id='main-script-b2-js'></script>\n”; 1084 $expected=str_replace(“”,“”,$expected); 1076 1085 $this->assertSame($expected,$output,'脚本注册时没有分配策略,并且没有依赖项,应该不会打印加载策略属性。'); 1077 1086 } … … 1100 1109 $expected_header.= “<script type='text/javascript'src='/enqueue-header-new.js'id='enqueue-hheader-new-js'></script>\n”; 1101 1110 1102 $this->断言 相同 ($expected_header、$actual_header,'使用旧的$in_footer参数或新的$args参数注册/排队的脚本应该具有相同的结果。'); 1111 $this->断言 等于标记 ($expected_header、$actual_header,'使用旧的$in_footer参数或新的$args参数注册/排队的脚本应该具有相同的结果。'); 1103 1112 $this->assertEmpty($actual_footer,'由于所有脚本都是针对head的,所以页脚应该是空的。'); 1104 1113 } … … 1128 1137 1129 1138 $this->assertEmpty($actual_header,'由于所有脚本都指向页脚,因此页眉应为空。'); 1130 $this->断言 相同 ($expected_footer,$actual_footer'使用旧的$in_footer参数或新的$args参数注册/排队的脚本应该具有相同的结果。'); 1139 $this->断言 等于标记 ($expected_footer,$actual_footer'使用旧的$in_footer参数或新的$args参数注册/排队的脚本应该具有相同的结果。'); 1131 1140 } 1132 1141 … … 1247 1256 wp_enqueue_script(“无效策略”); 1248 1257 1249 $this->断言 相同 ( 1258 $this->断言 等于标记 ( 1250 1259 “<script type='text/javascript'src='/defaults.js'id='invalid-strategy-js'></script>\n”, 1251 1260 get_echo('wp_print_scripts') … … 1272 1281 wp_enqueue_script(“无效策略”); 1273 1282 1274 $this->断言 相同 ( 1283 $this->断言 等于标记 ( 1275 1284 “<script type='text/javascript'src='/defaults.js'id='invalid-strategy-js'></script>\n”, 1276 1285 get_echo('wp_print_scripts') … … 1293 1302 wp_enqueue_script('invalid-strategy','/defaults.js',array(),null,数组('strategy'=>'random-stratey')); 1294 1303 1295 $this->断言 相同 ( 1304 $this->断言 等于标记 ( 1296 1305 “<script type='text/javascript'src='/defaults.js'id='invalid-strategy-js'></script>\n”, 1297 1306 get_echo('wp_print_scripts') … … 1331 1340 应为$。= “<script type='text/javascript'src='/main-script.js'id='main-defer-script-js'延迟data-wp-strategy='defer'></script>\n”; 1332 1341 1333 $this->断言 相同 ($expected,$print_scripts,'当使用“defer”加载策略注册主脚本时,脚本连接不正确。延迟的脚本不应是脚本连接加载查询的一部分。'); 1342 $this->断言 相等标记 ($expected,$print_scripts,'当使用“defer”加载策略注册主脚本时,脚本连接不正确。延迟的脚本不应是脚本连接加载查询的一部分。'); 1334 1343 } 1335 1344 … … 1366 1375 应为$。= “<script type='text/javascript'src='/main-script.js'id='main-async-script-1-js'异步data-wp-strategy='async'>\n”; 1367 1376 1368 $this->断言 相同 ($expected,$print_scripts,'当使用“异步”加载策略注册主脚本时,脚本连接不正确。异步脚本不应是脚本连接加载查询的一部分。'); 1377 $this->断言 相等标记 ($expected,$print_scripts,'当使用“异步”加载策略注册主脚本时,脚本连接不正确。异步脚本不应是脚本连接加载查询的一部分。'); 1369 1378 } 1370 1379 … … 1405 1414 应为$。= “<script type='text/javascript'src='/main-script.js'id='deferred-script-2-js'defer data-wp-strategy='defer'></script>\n”; 1406 1415 1407 $this->断言 相同 ($expected,$print_scripts,'在注册其他阻塞脚本后,如果将主脚本注册为延迟脚本,则脚本连接不正确。延迟脚本不应是脚本连接加载器查询字符串的一部分。'); 1416 $this->断言 等于标记 ($expected,$print_scripts,'在注册其他阻塞脚本后,如果将主脚本注册为延迟脚本,则脚本连接不正确。延迟脚本不应是脚本连接加载器查询字符串的一部分。'); 1408 1417 } 1409 1418 … … 1413 1422 公共函数test_wp_enqueue_script_with_html5_support_does_not_contain_type_attribute(){ 1414 1423 全局$wp_version; 1415 add_theme_support(“html5”,数组(“script”)); 1416 1424 1417 1425 $GLOBALS['wp_scripts']=新wp_scripts(); … … 1422 1430 $expected=“<script src=' http://example.com?版本= {$wp_version}'id='empty-deps-no-version-js'></script>\n“; 1423 1431 1424 $this->断言 相同 (需要$,get_echo('wp_print_scripts')); 1432 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 1425 1433 } 1426 1434 … … 1461 1469 1462 1470 //加油! 1463 $this->断言 相同 (需要$,get_echo('wp_print_scripts')); 1471 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 1464 1472 1465 1473 //没有可打印的脚本。 … … 1504 1512 1505 1513 //加油! 1506 $this->断言 相同 (需要$,get_echo('wp_print_scripts')); 1514 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 1507 1515 1508 1516 //没有要打印的脚本。 … … 1522 1530 1523 1531 //加油! 1524 $this->断言 相同 (需要$,get_echo('wp_print_scripts')); 1532 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 1525 1533 1526 1534 //没有要打印的脚本。 … … 1540 1548 $预期=“<!--[if lt IE 9]>\n<script type='text/javascript'id='test-conditional-with-data-js-extra'>\n/*<![CDATA[*/\ntesting\n/*]]>*/\n</script>\n<![endif]-->\n”; 1541 1549 应为$。= “<!--[if lt IE 9]>\n<script type='text/javascript'src=' http://example.com 'id='test-conditional-with-data-js'></script>\n<! [endif]-->\n“; 1550 $expected=str_replace(“'”,“”,$expected); 1542 1551 1543 1552 //加油! 1544 $this->断言 相同 (需要$,get_echo('wp_print_scripts')); 1553 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 1545 1554 1546 1555 //没有要打印的脚本。 … … 1560 1569 1561 1570 //加油! 1562 $this->断言 相同 (需要$,get_echo('wp_print_scripts')); 1571 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 1563 1572 1564 1573 //没有要打印的脚本。 1565 $this->断言 相同 (“”,get_echo(“wp_print_scripts”); 1574 $this->断言 等于标记 (“”,get_echo(“wp_print_scripts”); 1566 1575 } 1567 1576 … … 1589 1598 wp_enqueue_script('handle-three'); 1590 1599 1591 $this->断言 相同 (需要$,get_echo('wp_print_scripts')); 1600 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 1592 1601 } 1593 1602 … … 1677 1686 $expected_footer=“<script type='text/javascript'src='/parent.js'id='parent-js'></script>\n”; 1678 1687 1679 $this->断言 相同 ($expected_header,$header,'预期标头标记相同。'); 1680 $this->断言 相同 ($expected_footer、$footer,'需要相同的页脚标记。'); 1688 $this->断言 等于标记 ($expected_header,$header,'预期标头标记相同。'); 1689 $this->断言 等于标记 ($expected_footer、$footer,'需要相同的页脚标记。'); 1681 1690 } 1682 1691 … … 1698 1707 $expected_footer.= “<script type='text/javascript'src='/parent.js'id='parent-js'></script>\n”; 1699 1708 1700 $this->断言 相同 ($expected_header,$header,'预期标头标记相同。'); 1701 $this->断言 相同 ($expected_footer、$footer,'需要相同的页脚标记。'); 1709 $this->断言 等于标记 ($expected_header,$header,'预期标头标记相同。'); 1710 $this->断言 等于标记 ($expected_footer、$footer,'需要相同的页脚标记。'); 1702 1711 } 1703 1712 … … 1729 1738 $expected_footer.= “<script type='text/javascript'src='/parent-footer.js'id='parent-footer-js'></script>\n”; 1730 1739 1731 $this->断言 相同 ($expected_header,$header,'预期标头标记相同。'); 1732 $this->断言 相同 ($expected_footer、$footer,'需要相同的页脚标记。'); 1740 $this->断言 相等标记 ($expected_header,$header,'预期标头标记相同。'); 1741 $this->断言 等于标记 ($expected_footer、$footer,'需要相同的页脚标记。'); 1733 1742 } 1734 1743 … … 1953 1962 $expected_localized.= “<script type='text/javascript'id='test-example-js-extra'>\n/*<![CDATA[*/\nvar testExample={\”foo\“:\”bar\“};\n/*]]>*/\n</script>\n”; 1954 1963 $expected_localized.= “<![endif]-->\n”; 1964 $expected_localized=str_replace(“”,“”,$expected _localize); 1955 1965 1956 1966 $expected=“<!--[if gte IE 9]>\n”; … … 1959 1969 应为$。= “<script type='text/javascript'id='test-example-js-after'>\nconsole.log(\”after\“);\n</script>\n”; 1960 1970 应为$。= “<![endif]->\n”; 1971 $expected=str_replace(“”,“”,$expected); 1961 1972 1962 1973 wp_enqueue_script(“test-example”,“example.com”,array(),null); … … 2125 2136 $print_scripts=$this->getActualOutput(); 2126 2137 2127 $tail=substr($print_scripts,strrpos($print _ scripts,“<script type='text/javascript'src='/customize-dependency.js'id='customize-deependency-js'>”); 2138 $tail=substr($print_scripts,strrpos($print _ scripts,'<script type=“text/javascript”src=“/customize-dependency.js”id=“customize-deependency-js”>'); 2139 2128 2140 $this->assertEqualMarkup($expected_tail,$tail); 2129 2141 } … … 2305 2317 应为$。= “<script type='text/javascript'src='/wp-includes/js/script.js'id='test-example-js'></script>\n”; 2306 2318 2307 $this->断言 SameIgnoreEOL公司 (需要$,get_echo('wp_print_scripts')); 2319 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 2308 2320 } 2309 2321 … … 2332 2344 应为$。= “<script type='text/javascript'src='/wp-content/plugins/my plugin/js/script.js'id='plugin-example-js'></script>\n”; 2333 2345 2334 $this->断言 SameIgnoreEOL公司 (需要$,get_echo('wp_print_scripts')); 2346 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 2335 2347 } 2336 2348 … … 2359 2371 应为$。= “<script type='text/javascript'src='/wp-content/themes/my-theme/js/script.js'id='eme-example-js'></script>\n”; 2360 2372 2361 $this->断言 SameIgnoreEOL公司 (需要$,get_echo('wp_print_scripts')); 2373 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 2362 2374 } 2363 2375 … … 2386 2398 应为$。= “<script type='text/javascript'src='/wp-admin/js/script.js'id='script-handle-js'></script>\n”; 2387 2399 2388 $this->断言 SameIgnoreEOL公司 (需要$,get_echo('wp_print_scripts')); 2400 $this->断言 等于标记 (应为$,get_echo('wp_print_scripts')); 2389 2401 } 2390 2402 … … 2416 2428 应为$。= “<script type='text/javascript'src='/wp-admin/js/script.js'id='test-example-js'></script>\n”; 2417 2429 2418 $this->断言 SameIgnoreEOL公司 (需要$,get_echo('wp_print_scripts')); 2430 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 2419 2431 } 2420 2432 … … 2445 2457 应为$。= “<script type='text/javascript'src='/wp-includes/js/script.js'id='test-example-js'></script>\n”; 2446 2458 2447 $this->断言 SameIgnoreEOL公司 (需要$,get_echo('wp_print_scripts')); 2459 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 2448 2460 } 2449 2461 … … 2475 2487 应为$。= “<script type='text/javascript'src='/wp-includes/js/script2.js'id='test-example-js'></script>\n”; 2476 2488 2477 $this->断言 SameIgnoreEOL公司 (需要$,get_echo('wp_print_scripts')); 2489 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 2478 2490 } 2479 2491 … … 2864 2876 应为$。= “<script type='text/javascript'src=' http://example.com 'id='test-example-js'></script>\n“; 2865 2877 2866 $this->断言 相同 (应为$,get_echo('wp_print_scripts')); 2878 $this->断言 等于标记 (需要$,get_echo('wp_print_scripts')); 2867 2879 } 2868 2880 … … 2929 2941 应为$。= “<script type='text/javascript'src='/default/common.js'id='common-js'></script>\n”; 2930 2942 2931 $this->断言 相同 (预期为$,$print_scripts); 2943 $this->断言 等于标记 (预期为$,$print_scripts); 2932 2944 } 2933 2945 … … 2968 2980 * 2969 2981 *@param string$markup标记。 2970 *@return DOM 元素主体元素包裹供应 ed标记片段。 2982 *@返回DOM 文档包含规范的文档 ed标记片段。 2971 2983 */ 2972 2984 受保护的函数parse_markup_fragment($markup){ … … 2986 2998 } 2987 2999 2988 返回$ 身体 ; 2989 } 2990 2991 /** 2992 *断言标记相等 . 3000 返回$ dom公司 ; 3001 } 3002 3003 /** 3004 *断言标记相等 规范化脚本标记后 . 2993 3005 * 2994 3006 *@param string$应为预期标记。 … … 2997 3009 */ 2998 3010 受保护的函数assertEqualMarkup($expected,$actual,$message=“”){ 3011 $expected_dom=$this->parse_markup_fragment($expected); 3012 $actual_dom=$this->parse_markup_fragment($actual); 3013 foreach(数组($expected_dom,$actual_dom)作为$dom){ 3014 $xpath=新DOMXPath($dom); 3015 /**@var DOMElement$脚本*/ 3016 3017 //规格化类型属性。 缺少时,默认为text/javascript。 3018 foreach($xpath->query(“//script[not(@type)]”)作为$script){ 3019 $script->setAttribute('type','text/javascript'); 3020 } 3021 3022 //规范化脚本内容以删除CDATA包装。 3023 foreach($xpath->query('//script[contains(text(),“<![CDATA[”)]')作为$script){ 3024 $script->textContent=str_replace( 3025 阵列( 3026 “/*<![CDATA[*/\n”, 3027 “\n/*]]>*/”, 3028 ), 3029 '', 3030 $script->textContent 3031 ); 3032 } 3033 3034 //将兼容XHTML的布尔属性规范化为HTML5属性。 3035 foreach(数组(“async”,“defer”)作为$属性){ 3036 foreach(迭代器_to_array($xpath->query(“//script[@{$attribute}='{$attribute}']”))作为$script){ 3037 $script->removeAttribute($attribute); 3038 $script->setAttributeNode($dom->createAttribute($attribute)); 3039 } 3040 } 3041 } 3042 2999 3043 $this->资产等于( 3000 $ 此->parse_markup_fragment(需要$ ), 3001 $ 此->parse_markup_fragment($actual ), 3044 $ expected_dom->getElementsByTagName('body')->项(0 ), 3045 $ actual_dom->getElementsByTagName(“body”)->项(0 ), 3002 3046 $消息 3003 3047 ); 3004 3048 } 3049 3050 /** 3051 *添加html5脚本主题支持。 3052 */ 3053 受保护函数add_html5_script_theme_support(){ 3054 add_theme_support('html5',数组('script')); 3055 } 3005 3056 } -
trunk/tests/phpunit/tests/dependencies/wpInlineScriptTag.php 51657兰特 56687兰特 120 120 ); 121 121 } 122 123 /** 124 *测试CDATA包装复制是否得到处理。 125 * 126 *@门票58664 127 */ 128 公共函数test_get_inline_script_tag_with_duplicated_cdata_wrappers(){ 129 删除主题支持('html5'); 130 131 $this->资产相同( 132 “<script type=\”text/javascript\“>\n/*<![CDATA[*/\n/*<0![CDATA[*/console.log('Hello World!');/*]]]><![CATA[>*/\n/*]]>*/\n</script>\n”, 133 wp_get_inline_script_tag(“/*<![CDATA[*/console.log('你好!');/*]]>*/”) 134 ); 135 } 122 136 }