On Wed, 5 Jul 2023 04:35:18 GMT, Tejesh R <[email protected]> wrote: >> I strongly believe it should be an automated test. It may even be headless, >> if possible. There are a couple of examples which compare border rendering. >> >> You don't need to store images, just count the number of pixels of a >> particular colour. If you detect an inconsistency, fail the test. You may >> need to tweak the width or height of columns and rows so that old method >> results in visible inconsistencies in rendering. > > How will counting the number of pixels of a particular color help in > validating the fix? I was planning to take a portion of image which includes > header and 1st row and then check the column of vertical line from header to > data, if all are same color then its a straight line, else fail the test... > But I was not able to compare the data, some inconsistencies were there with > rgb values.... Will try to work on that again......
I wasn't clear enough, however, you understood it. There are three possible colours in the header: background, highlight and shadow. There's also text which we can ignore; if anti-aliasing is disabled, it will be solid colour only; alternatively the headers may have no text at all or a space. So, the header should start with highlight colour, there should be 2 pixels of it at 225%, right? Then the highlight is followed by the background until you find the shadow colour. It should also be 2 pixels. The shadow should be followed by the highlight colour of the next cell, there should be no background colour between highlight and shadow. This algorithm works in the [`ScaledEtchedBorderTest.java`](https://github.com/openjdk/jdk/blob/00ac46c06d8a7154a007cd67092bd80226a02fc3/test/jdk/javax/swing/border/EtchedBorder/ScaledEtchedBorderTest.java) test, see the [`checkBorder` method](https://github.com/openjdk/jdk/blob/00ac46c06d8a7154a007cd67092bd80226a02fc3/test/jdk/javax/swing/border/EtchedBorder/ScaledEtchedBorderTest.java#L151-L154). ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/14766#discussion_r1252999031
