patch 8.1.2279: computation of highlight attributes is too complicated

Problem:    Computation of highlight attributes is too complicated.
Solution:   Simplify the attribute computation and make it more consistent.
            (closes #5190)  Fix that 'combine' set to zero doesn't work.
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index b09e1a7..002933d 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -678,8 +678,9 @@
 	\ "call prop_type_add('start', {'highlight': 'NumberProp', 'start_incl': 1})",
 	\ "call prop_type_add('end', {'highlight': 'NumberProp', 'end_incl': 1})",
 	\ "call prop_type_add('both', {'highlight': 'NumberProp', 'start_incl': 1, 'end_incl': 1})",
-	\ "call prop_type_add('background', {'highlight': 'NumberProp', 'combine': 1})",
-	\ "eval 'background'->prop_type_change({'highlight': 'BackgroundProp'})",
+	\ "call prop_type_add('background', {'highlight': 'BackgroundProp', 'combine': 0})",
+	\ "call prop_type_add('backgroundcomb', {'highlight': 'NumberProp', 'combine': 1})",
+	\ "eval 'backgroundcomb'->prop_type_change({'highlight': 'BackgroundProp'})",
 	\ "call prop_type_add('error', {'highlight': 'UnderlineProp', 'combine': 1})",
 	\ "call prop_add(1, 4, {'end_lnum': 3, 'end_col': 3, 'type': 'long'})",
 	\ "call prop_add(2, 9, {'length': 3, 'type': 'number'})",
@@ -688,7 +689,8 @@
 	\ "call prop_add(3, 7, {'length': 2, 'type': 'start'})",
 	\ "call prop_add(3, 11, {'length': 2, 'type': 'end'})",
 	\ "call prop_add(3, 15, {'length': 2, 'type': 'both'})",
-	\ "call prop_add(4, 12, {'length': 10, 'type': 'background'})",
+	\ "call prop_add(4, 6, {'length': 3, 'type': 'background'})",
+	\ "call prop_add(4, 12, {'length': 10, 'type': 'backgroundcomb'})",
 	\ "call prop_add(4, 17, {'length': 5, 'type': 'error'})",
 	\ "call prop_add(5, 7, {'length': 4, 'type': 'long'})",
 	\ "call prop_add(6, 1, {'length': 8, 'type': 'long'})",