Re: [csswg-drafts] [cssom] Serialization of a declaration block not idempotent in presence of logical properties. (#3244)

Damn, you are right. It fails with the following entries (assuming the order is guaranteed).

```js
    const input = {
        'border-block-start-width': '1px',
        'border-top-style': 'none',
        'border-block-end-style': 'solid',
        'border-right-style': 'none',
        'border-bottom-style': 'none',
        'border-left-style': 'none',
        'border-block-start-style': 'solid',
        'border-block-start-color': 'green',
    }
    const expected = {
        'border-top-style': 'none',
        'border-block-end-style': 'solid',
        'border-right-style': 'none',
        'border-bottom-style': 'none',
        'border-left-style': 'none',
        'border-block-start': '1px solid green',
    }
```

I revert to emilio's algorithm (which fixes this issue), ie. abort searching a shorthand when encoutering the first condition that might cause the serialization to not be idempotent, and I think this issue can be closed.

Thanks for the follow up!

-- 
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3244#issuecomment-1299644116 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 2 November 2022 06:31:36 UTC