Changeset 54160 for trunk/tests/phpunit/tests/theme/wpThemeJson.php
- Timestamp:
- 09/14/2022 03:50:01 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/theme/wpThemeJson.php
r54159 r54160 424 424 ); 425 425 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; }';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 ); }'; 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 ),550 547 ), 551 548 'misc' => 'value', … … 554 551 555 552 $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;}'; 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;}';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;}'; 557 554 $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;}'; 558 555 $all = $variables . $styles . $presets; … … 2679 2676 'core/group' => array( 2680 2677 'spacing' => array( 2681 'margin' => 'valid value',2682 ' display' => 'none',2678 'margin' => 'valid value', 2679 'blockGap' => 'invalid value', 2683 2680 ), 2684 2681 ), … … 2993 2990 ); 2994 2991 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;}';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;}'; 2996 2993 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 2997 2994 } … … 3025 3022 ); 3026 3023 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;}';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;}'; 3028 3025 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 3029 3026 } … … 3057 3054 ); 3058 3055 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;}';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;}'; 3060 3057 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 3061 3058 } … … 3081 3078 ); 3082 3079 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;}';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; }'; 3084 3081 $this->assertSame( $expected, $theme_json->get_stylesheet() ); 3085 3082 } 3086 3083 3087 /**3088 * @dataProvider data_get_layout_definitions3089 *3090 * @ticket 564673091 *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_definitions3124 *3125 * @ticket 564673126 *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_definitions3159 *3160 * @ticket 564673161 *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 $stylesheet3190 );3191 }3192 3193 /**3194 * @dataProvider data_get_layout_definitions3195 *3196 * @ticket 564673197 *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 $stylesheet3221 );3222 }3223 3224 /**3225 * @dataProvider data_get_layout_definitions3226 *3227 * @ticket 564673228 *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 $stylesheet3254 );3255 }3256 3257 /**3258 * @dataProvider data_get_layout_definitions3259 *3260 * @ticket 564673261 *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 564673317 *3318 * @return array3319 */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 564673400 */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 564673436 */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 564673469 */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 }3495 3084 }
Note: See TracChangeset
for help on using the changeset viewer.