patch 9.1.0619: tests: test_popup fails

Problem:  tests: test_popup fails
          (after v9.1.0618)
Solution: Correct test, move combining extra attributes to
          pum_compute_text_attrs() (glepnir)

closes: #15353

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/popupmenu.c b/src/popupmenu.c
index 0f19c9e..b6bc1dc 100644
--- a/src/popupmenu.c
+++ b/src/popupmenu.c
@@ -425,7 +425,7 @@
  * Returns attributes for every cell, or NULL if all attributes are the same.
  */
     static int *
-pum_compute_text_attrs(char_u *text, hlf_T hlf)
+pum_compute_text_attrs(char_u *text, hlf_T hlf, int extra_hlattr)
 {
     int		i;
     size_t	leader_len;
@@ -483,6 +483,9 @@
 	else if (matched_start && ptr < text + leader_len)
 	    new_attr = highlight_attr[hlf == HLF_PSI ? HLF_PMSI : HLF_PMNI];
 
+	if (extra_hlattr > 0)
+	    new_attr = hl_combine_attr(new_attr, extra_hlattr);
+
 	char_cells = mb_ptr2cells(ptr);
 	for (i = 0; i < char_cells; i++)
 	    attrs[cell_idx + i] = new_attr;
@@ -510,8 +513,7 @@
     int		cells UNUSED,
     char_u	*text,
     int		textlen,
-    int		*attrs,
-    int		extra_attr)
+    int		*attrs)
 {
     int		col_start = col;
     char_u	*ptr = text;
@@ -528,8 +530,6 @@
 	else
 #endif
 	    attr = attrs[col - col_start];
-	if (extra_attr > 0)
-	    attr = hl_combine_attr(extra_attr, attr);
 	screen_puts_len(ptr, char_len, row, col, attr);
 	col += mb_ptr2cells(ptr);
 	ptr += char_len;
@@ -661,7 +661,8 @@
 			if (saved != NUL)
 			    *p = saved;
 
-			attrs = pum_compute_text_attrs(st, hlf);
+			int extra_hlattr = pum_array[idx].pum_extrahlattr;
+			attrs = pum_compute_text_attrs(st, hlf, extra_hlattr);
 
 #ifdef FEAT_RIGHTLEFT
 			if (pum_rl)
@@ -703,8 +704,7 @@
 				    else
 					pum_screen_puts_with_attrs(row,
 						    col - cells + 1, cells, rt,
-						       (int)STRLEN(rt), attrs,
-						       pum_array[idx].pum_extrahlattr);
+						       (int)STRLEN(rt), attrs);
 
 				    vim_free(rt_start);
 				}
@@ -738,8 +738,7 @@
 				    screen_puts_len(st, size, row, col, attr);
 				else
 				    pum_screen_puts_with_attrs(row, col, cells,
-							      st, size, attrs,
-							      pum_array[idx].pum_extrahlattr);
+							      st, size, attrs);
 
 				vim_free(st);
 			    }