Changeset 54159 for trunk/tests/phpunit/tests/theme/wpThemeJson.php
- Timestamp:
- 09/14/2022 02:19:16 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/theme/wpThemeJson.php
r54118 r54159 424 424 ); 425 425 426 $expected = 'body { margin: 0; } body{--wp--style--block-gap: 1em;}.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }.wp-site-blocks > * + * { margin-block-start: var( --wp--style--block-gap ); }';426 $expected = 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }.wp-site-blocks > * + * { margin-block-start: 1em; }body { --wp--style--block-gap: 1em; }'; 427 427 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 428 428 $this->assertSame( $expected, $theme_json->get_stylesheet( array( 'styles' ) ) ); … … 545 545 ), 546 546 ), 547 'spacing' => array( 548 'blockGap' => '24px', 549 ), 547 550 ), 548 551 'misc' => 'value', … … 551 554 552 555 $variables = 'body{--wp--preset--color--grey: grey;--wp--preset--font-family--small: 14px;--wp--preset--font-family--big: 41px;}.wp-block-group{--wp--custom--base-font: 16;--wp--custom--line-height--small: 1.2;--wp--custom--line-height--medium: 1.4;--wp--custom--line-height--large: 1.8;}'; 553 $styles = 'body { margin: 0; } body{color: var(--wp--preset--color--grey);}.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto;}a:where(:not(.wp-element-button)){background-color: #333;color: #111;}.wp-block-group{border-radius: 10px;padding: 24px;}.wp-block-group a:where(:not(.wp-element-button)){color: #111;}h1,h2,h3,h4,h5,h6{color: #123456;}h1 a:where(:not(.wp-element-button)),h2 a:where(:not(.wp-element-button)),h3 a:where(:not(.wp-element-button)),h4 a:where(:not(.wp-element-button)),h5 a:where(:not(.wp-element-button)),h6 a:where(:not(.wp-element-button)){background-color: #333;color: #111;font-size: 60px;}.wp-block-post-date{color: #123456;}.wp-block-post-date a:where(:not(.wp-element-button)){background-color: #777;color: #555;}.wp-block-image{border-top-left-radius: 10px;border-bottom-right-radius: 1em;margin-bottom: 30px;}';556 $styles = 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }body{color: var(--wp--preset--color--grey);}a:where(:not(.wp-element-button)){background-color: #333;color: #111;}.wp-block-group{border-radius: 10px;padding: 24px;}.wp-block-group a:where(:not(.wp-element-button)){color: #111;}h1,h2,h3,h4,h5,h6{color: #123456;}h1 a:where(:not(.wp-element-button)),h2 a:where(:not(.wp-element-button)),h3 a:where(:not(.wp-element-button)),h4 a:where(:not(.wp-element-button)),h5 a:where(:not(.wp-element-button)),h6 a:where(:not(.wp-element-button)){background-color: #333;color: #111;font-size: 60px;}.wp-block-post-date{color: #123456;}.wp-block-post-date a:where(:not(.wp-element-button)){background-color: #777;color: #555;}.wp-block-image{border-top-left-radius: 10px;border-bottom-right-radius: 1em;margin-bottom: 30px;}'; 554 557 $presets = '.has-grey-color{color: var(--wp--preset--color--grey) !important;}.has-grey-background-color{background-color: var(--wp--preset--color--grey) !important;}.has-grey-border-color{border-color: var(--wp--preset--color--grey) !important;}.has-small-font-family{font-family: var(--wp--preset--font-family--small) !important;}.has-big-font-family{font-family: var(--wp--preset--font-family--big) !important;}'; 555 558 $all = $variables . $styles . $presets; … … 2676 2679 'core/group' => array( 2677 2680 'spacing' => array( 2678 'margin' 2679 ' blockGap' => 'invalid value',2681 'margin' => 'valid value', 2682 'display' => 'none', 2680 2683 ), 2681 2684 ), … … 2990 2993 ); 2991 2994 2992 $expected = 'body { margin: 0; } body{background-color: #ffffff;color: #000000;}.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto;}.wp-element-button, .wp-block-button__link{background-color: #000000;color: #ffffff;}';2995 $expected = 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }body{background-color: #ffffff;color: #000000;}.wp-element-button, .wp-block-button__link{background-color: #000000;color: #ffffff;}'; 2993 2996 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 2994 2997 } … … 3022 3025 ); 3023 3026 3024 $expected = 'body { margin: 0; } body{background-color: #ffffff;}.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto;}.wp-element-button, .wp-block-button__link{color: #ffffff;}';3027 $expected = 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }body{background-color: #ffffff;}.wp-element-button, .wp-block-button__link{color: #ffffff;}'; 3025 3028 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 3026 3029 } … … 3054 3057 ); 3055 3058 3056 $expected = 'body { margin: 0; } body{background-color: #ffffff;color: #ffffff;}.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto;}.wp-element-button, .wp-block-button__link{color: #ffffff;}';3059 $expected = 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }body{background-color: #ffffff;color: #ffffff;}.wp-element-button, .wp-block-button__link{color: #ffffff;}'; 3057 3060 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 3058 3061 } … … 3078 3081 ); 3079 3082 3080 $expected = 'body { margin: 0; } body{background-color: #ffffff;}.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto;}';3083 $expected = 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }body{background-color: #ffffff;}'; 3081 3084 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 3082 3085 } 3083 3086 3087 /** 3088 * @dataProvider data_get_layout_definitions 3089 * 3090 * @ticket 56467 3091 * 3092 * @param array $layout_definitions Layout definitions as stored in core theme.json. 3093 */ 3094 public function test_get_stylesheet_generates_layout_styles( $layout_definitions ) { 3095 $theme_json = new WP_Theme_JSON( 3096 array( 3097 'version' => WP_Theme_JSON::LATEST_SCHEMA, 3098 'settings' => array( 3099 'layout' => array( 3100 'definitions' => $layout_definitions, 3101 ), 3102 'spacing' => array( 3103 'blockGap' => true, 3104 ), 3105 ), 3106 'styles' => array( 3107 'spacing' => array( 3108 'blockGap' => '1em', 3109 ), 3110 ), 3111 ), 3112 'default' 3113 ); 3114 3115 // Results also include root site blocks styles. 3116 $this->assertSame( 3117 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }.wp-site-blocks > * + * { margin-block-start: 1em; }body { --wp--style--block-gap: 1em; }body .is-layout-flow > *{margin-block-start: 0;margin-block-end: 0;}body .is-layout-flow > * + *{margin-block-start: 1em;margin-block-end: 0;}body .is-layout-flex{gap: 1em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}', 3118 $theme_json->get_stylesheet( array( 'styles' ) ) 3119 ); 3120 } 3121 3122 /** 3123 * @dataProvider data_get_layout_definitions 3124 * 3125 * @ticket 56467 3126 * 3127 * @param array $layout_definitions Layout definitions as stored in core theme.json. 3128 */ 3129 public function test_get_stylesheet_generates_layout_styles_with_spacing_presets( $layout_definitions ) { 3130 $theme_json = new WP_Theme_JSON( 3131 array( 3132 'version' => WP_Theme_JSON::LATEST_SCHEMA, 3133 'settings' => array( 3134 'layout' => array( 3135 'definitions' => $layout_definitions, 3136 ), 3137 'spacing' => array( 3138 'blockGap' => true, 3139 ), 3140 ), 3141 'styles' => array( 3142 'spacing' => array( 3143 'blockGap' => 'var:preset|spacing|60', 3144 ), 3145 ), 3146 ), 3147 'default' 3148 ); 3149 3150 // Results also include root site blocks styles. 3151 $this->assertSame( 3152 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }.wp-site-blocks > * + * { margin-block-start: var(--wp--preset--spacing--60); }body { --wp--style--block-gap: var(--wp--preset--spacing--60); }body .is-layout-flow > *{margin-block-start: 0;margin-block-end: 0;}body .is-layout-flow > * + *{margin-block-start: var(--wp--preset--spacing--60);margin-block-end: 0;}body .is-layout-flex{gap: var(--wp--preset--spacing--60);}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}', 3153 $theme_json->get_stylesheet( array( 'styles' ) ) 3154 ); 3155 } 3156 3157 /** 3158 * @dataProvider data_get_layout_definitions 3159 * 3160 * @ticket 56467 3161 * 3162 * @param array $layout_definitions Layout definitions as stored in core theme.json. 3163 */ 3164 public function test_get_stylesheet_generates_fallback_gap_layout_styles( $layout_definitions ) { 3165 $theme_json = new WP_Theme_JSON( 3166 array( 3167 'version' => WP_Theme_JSON::LATEST_SCHEMA, 3168 'settings' => array( 3169 'layout' => array( 3170 'definitions' => $layout_definitions, 3171 ), 3172 'spacing' => array( 3173 'blockGap' => null, 3174 ), 3175 ), 3176 'styles' => array( 3177 'spacing' => array( 3178 'blockGap' => '1em', 3179 ), 3180 ), 3181 ), 3182 'default' 3183 ); 3184 $stylesheet = $theme_json->get_stylesheet( array( 'styles' ) ); 3185 3186 // Results also include root site blocks styles. 3187 $this->assertSame( 3188 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}', 3189 $stylesheet 3190 ); 3191 } 3192 3193 /** 3194 * @dataProvider data_get_layout_definitions 3195 * 3196 * @ticket 56467 3197 * 3198 * @param array $layout_definitions Layout definitions as stored in core theme.json. 3199 */ 3200 public function test_get_stylesheet_generates_base_fallback_gap_layout_styles( $layout_definitions ) { 3201 $theme_json = new WP_Theme_JSON( 3202 array( 3203 'version' => WP_Theme_JSON::LATEST_SCHEMA, 3204 'settings' => array( 3205 'layout' => array( 3206 'definitions' => $layout_definitions, 3207 ), 3208 'spacing' => array( 3209 'blockGap' => null, 3210 ), 3211 ), 3212 ), 3213 'default' 3214 ); 3215 $stylesheet = $theme_json->get_stylesheet( array( 'base-layout-styles' ) ); 3216 3217 // Note the `base-layout-styles` includes a fallback gap for the Columns block for backwards compatibility. 3218 $this->assertSame( 3219 ':where(.is-layout-flex){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}', 3220 $stylesheet 3221 ); 3222 } 3223 3224 /** 3225 * @dataProvider data_get_layout_definitions 3226 * 3227 * @ticket 56467 3228 * 3229 * @param array $layout_definitions Layout definitions as stored in core theme.json. 3230 */ 3231 public function test_get_stylesheet_skips_layout_styles( $layout_definitions ) { 3232 add_theme_support( 'disable-layout-styles' ); 3233 $theme_json = new WP_Theme_JSON( 3234 array( 3235 'version' => WP_Theme_JSON::LATEST_SCHEMA, 3236 'settings' => array( 3237 'layout' => array( 3238 'definitions' => $layout_definitions, 3239 ), 3240 'spacing' => array( 3241 'blockGap' => null, 3242 ), 3243 ), 3244 ), 3245 'default' 3246 ); 3247 $stylesheet = $theme_json->get_stylesheet( array( 'base-layout-styles' ) ); 3248 remove_theme_support( 'disable-layout-styles' ); 3249 3250 // All Layout styles should be skipped. 3251 $this->assertSame( 3252 '', 3253 $stylesheet 3254 ); 3255 } 3256 3257 /** 3258 * @dataProvider data_get_layout_definitions 3259 * 3260 * @ticket 56467 3261 * 3262 * @param array $layout_definitions Layout definitions as stored in core theme.json. 3263 */ 3264 public function test_get_stylesheet_generates_valid_block_gap_values_and_skips_null_or_false_values( $layout_definitions ) { 3265 $theme_json = new WP_Theme_JSON( 3266 array( 3267 'version' => WP_Theme_JSON::LATEST_SCHEMA, 3268 'settings' => array( 3269 'layout' => array( 3270 'definitions' => $layout_definitions, 3271 ), 3272 'spacing' => array( 3273 'blockGap' => true, 3274 ), 3275 ), 3276 'styles' => array( 3277 'spacing' => array( 3278 'blockGap' => '1rem', 3279 ), 3280 'blocks' => array( 3281 'core/post-content' => array( 3282 'color' => array( 3283 'text' => 'gray', // This value should not render block layout styles. 3284 ), 3285 ), 3286 'core/social-links' => array( 3287 'spacing' => array( 3288 'blockGap' => '0', // This value should render block layout gap as zero. 3289 ), 3290 ), 3291 'core/buttons' => array( 3292 'spacing' => array( 3293 'blockGap' => 0, // This value should render block layout gap as zero. 3294 ), 3295 ), 3296 'core/columns' => array( 3297 'spacing' => array( 3298 'blockGap' => false, // This value should be ignored. The block will use the global layout value. 3299 ), 3300 ), 3301 ), 3302 ), 3303 ), 3304 'default' 3305 ); 3306 3307 $this->assertEquals( 3308 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }.wp-site-blocks > * + * { margin-block-start: 1rem; }body { --wp--style--block-gap: 1rem; }body .is-layout-flow > *{margin-block-start: 0;margin-block-end: 0;}body .is-layout-flow > * + *{margin-block-start: 1rem;margin-block-end: 0;}body .is-layout-flex{gap: 1rem;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}.wp-block-post-content{color: gray;}.wp-block-social-links.is-layout-flow > *{margin-block-start: 0;margin-block-end: 0;}.wp-block-social-links.is-layout-flow > * + *{margin-block-start: 0;margin-block-end: 0;}.wp-block-social-links.is-layout-flex{gap: 0;}.wp-block-buttons.is-layout-flow > *{margin-block-start: 0;margin-block-end: 0;}.wp-block-buttons.is-layout-flow > * + *{margin-block-start: 0;margin-block-end: 0;}.wp-block-buttons.is-layout-flex{gap: 0;}', 3309 $theme_json->get_stylesheet() 3310 ); 3311 } 3312 3313 /** 3314 * Data provider for layout tests. 3315 * 3316 * @ticket 56467 3317 * 3318 * @return array 3319 */ 3320 public function data_get_layout_definitions() { 3321 return array( 3322 'layout definitions' => array( 3323 array( 3324 'default' => array( 3325 'name' => 'default', 3326 'slug' => 'flow', 3327 'className' => 'is-layout-flow', 3328 'baseStyles' => array( 3329 array( 3330 'selector' => ' > .alignleft', 3331 'rules' => array( 3332 'float' => 'left', 3333 'margin-inline-start' => '0', 3334 'margin-inline-end' => '2em', 3335 ), 3336 ), 3337 array( 3338 'selector' => ' > .alignright', 3339 'rules' => array( 3340 'float' => 'right', 3341 'margin-inline-start' => '2em', 3342 'margin-inline-end' => '0', 3343 ), 3344 ), 3345 array( 3346 'selector' => ' > .aligncenter', 3347 'rules' => array( 3348 'margin-left' => 'auto !important', 3349 'margin-right' => 'auto !important', 3350 ), 3351 ), 3352 ), 3353 'spacingStyles' => array( 3354 array( 3355 'selector' => ' > *', 3356 'rules' => array( 3357 'margin-block-start' => '0', 3358 'margin-block-end' => '0', 3359 ), 3360 ), 3361 array( 3362 'selector' => ' > * + *', 3363 'rules' => array( 3364 'margin-block-start' => null, 3365 'margin-block-end' => '0', 3366 ), 3367 ), 3368 ), 3369 ), 3370 'flex' => array( 3371 'name' => 'flex', 3372 'slug' => 'flex', 3373 'className' => 'is-layout-flex', 3374 'displayMode' => 'flex', 3375 'baseStyles' => array( 3376 array( 3377 'selector' => '', 3378 'rules' => array( 3379 'flex-wrap' => 'wrap', 3380 'align-items' => 'center', 3381 ), 3382 ), 3383 ), 3384 'spacingStyles' => array( 3385 array( 3386 'selector' => '', 3387 'rules' => array( 3388 'gap' => null, 3389 ), 3390 ), 3391 ), 3392 ), 3393 ), 3394 ), 3395 ); 3396 } 3397 3398 /** 3399 * @ticket 56467 3400 */ 3401 function test_get_styles_for_block_with_padding_aware_alignments() { 3402 $theme_json = new WP_Theme_JSON( 3403 array( 3404 'version' => 2, 3405 'styles' => array( 3406 'spacing' => array( 3407 'padding' => array( 3408 'top' => '10px', 3409 'right' => '12px', 3410 'bottom' => '10px', 3411 'left' => '12px', 3412 ), 3413 ), 3414 ), 3415 'settings' => array( 3416 'useRootPaddingAwareAlignments' => true, 3417 ), 3418 ) 3419 ); 3420 3421 $metadata = array( 3422 'path' => array( 3423 '0' => 'styles', 3424 ), 3425 'selector' => 'body', 3426 ); 3427 3428 $expected = 'body { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding :where(.has-global-padding) { padding-right: 0; padding-left: 0; }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(.has-global-padding) > .alignfull { margin-right: 0; margin-left: 0; }.has-global-padding > .alignfull:where(:not(.has-global-padding)) > :where([class*="wp-block-"]:not(.alignfull):not([class*="__"]),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding :where(.has-global-padding) > .alignfull:where(:not(.has-global-padding)) > :where([class*="wp-block-"]:not(.alignfull):not([class*="__"]),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: 0; padding-left: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }body{--wp--style--root--padding-top: 10px;--wp--style--root--padding-right: 12px;--wp--style--root--padding-bottom: 10px;--wp--style--root--padding-left: 12px;}'; 3429 $root_rules = $theme_json->get_root_layout_rules( WP_Theme_JSON::ROOT_BLOCK_SELECTOR, $metadata ); 3430 $style_rules = $theme_json->get_styles_for_block( $metadata ); 3431 $this->assertSame( $expected, $root_rules . $style_rules ); 3432 } 3433 3434 /** 3435 * @ticket 56467 3436 */ 3437 function test_get_styles_for_block_without_padding_aware_alignments() { 3438 $theme_json = new WP_Theme_JSON( 3439 array( 3440 'version' => 2, 3441 'styles' => array( 3442 'spacing' => array( 3443 'padding' => array( 3444 'top' => '10px', 3445 'right' => '12px', 3446 'bottom' => '10px', 3447 'left' => '12px', 3448 ), 3449 ), 3450 ), 3451 ) 3452 ); 3453 3454 $metadata = array( 3455 'path' => array( 3456 '0' => 'styles', 3457 ), 3458 'selector' => 'body', 3459 ); 3460 3461 $expected = 'body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }body{padding-top: 10px;padding-right: 12px;padding-bottom: 10px;padding-left: 12px;}'; 3462 $root_rules = $theme_json->get_root_layout_rules( WP_Theme_JSON::ROOT_BLOCK_SELECTOR, $metadata ); 3463 $style_rules = $theme_json->get_styles_for_block( $metadata ); 3464 $this->assertSame( $expected, $root_rules . $style_rules ); 3465 } 3466 3467 /** 3468 * @ticket 56467 3469 */ 3470 function test_get_styles_for_block_with_content_width() { 3471 $theme_json = new WP_Theme_JSON( 3472 array( 3473 'version' => 2, 3474 'settings' => array( 3475 'layout' => array( 3476 'contentSize' => '800px', 3477 'wideSize' => '1000px', 3478 ), 3479 ), 3480 ) 3481 ); 3482 3483 $metadata = array( 3484 'path' => array( 3485 '0' => 'settings', 3486 ), 3487 'selector' => 'body', 3488 ); 3489 3490 $expected = 'body { margin: 0;--wp--style--global--content-size: 800px;--wp--style--global--wide-size: 1000px; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }'; 3491 $root_rules = $theme_json->get_root_layout_rules( WP_Theme_JSON::ROOT_BLOCK_SELECTOR, $metadata ); 3492 $style_rules = $theme_json->get_styles_for_block( $metadata ); 3493 $this->assertSame( $expected, $root_rules . $style_rules ); 3494 } 3084 3495 }
Note: See TracChangeset
for help on using the changeset viewer.