@@ -165,6 +165,22 @@ Row {
165165 mockModel.append(n)
166166 }
167167
168+ function add2ndConfirmationNotification() {
169+ var n = {
170+ type: Notification.Confirmation,
171+ hints: {"x-canonical-non-shaped-icon": "true",
172+ "x-canonical-value-bar-tint": "true"},
173+ summary: "Confirmation notification",
174+ body: "High Volume",
175+ icon: "image://theme/audio-volume-high",
176+ secondaryIcon: "",
177+ value: 85,
178+ actions: [],
179+ }
180+
181+ mockModel.append(n)
182+ }
183+
168184 function clearNotifications() {
169185 while(mockModel.count > 1) {
170186 remove1stNotification()
@@ -180,7 +196,7 @@ Row {
180196 id: notificationsRect
181197
182198 width: units.gu(40)
183− height: units.gu(90)
199+ height: units.gu(115)
184200
185201 MouseArea{
186202 id: clickThroughCatcher
@@ -202,7 +218,7 @@ Row {
202218 id: interactiveControls
203219
204220 width: units.gu(30)
205− height: units.gu(90)
221+ height: units.gu(115)
206222 color: "grey"
207223
208224 Column {
@@ -252,6 +268,12 @@ Row {
252268 onClicked: addConfirmationNotification()
253269 }
254270
271+ Button {
272+ width: parent.width
273+ text: "add a 2nd confirmation"
274+ onClicked: add2ndConfirmationNotification()
275+ }
276+
255277 Button {
256278 width: parent.width
257279 text: "remove 1st notification"
@@ -296,7 +318,9 @@ Row {
296318 buttonRowVisible: true,
297319 buttonTinted: true,
298320 hasSound: false,
299− valueVisible: false
321+ valueVisible: false,
322+ valueLabelVisible: false,
323+ valueTinted: false
300324 },
301325 {
302326 tag: "2-over-1 Snap Decision with button-tint",
@@ -318,7 +342,9 @@ Row {
318342 buttonRowVisible: false,
319343 buttonTinted: true,
320344 hasSound: false,
321− valueVisible: false
345+ valueVisible: false,
346+ valueLabelVisible: false,
347+ valueTinted: false
322348 },
323349 {
324350 tag: "Ephemeral notification - icon-summary layout",
@@ -338,7 +364,9 @@ Row {
338364 buttonRowVisible: false,
339365 buttonTinted: false,
340366 hasSound: false,
341− valueVisible: false
367+ valueVisible: false,
368+ valueLabelVisible: false,
369+ valueTinted: false
342370 },
343371 {
344372 tag: "Ephemeral notification - check suppression of secondary icon for icon-summary layout",
@@ -361,7 +389,9 @@ Row {
361389 buttonRowVisible: false,
362390 buttonTinted: false,
363391 hasSound: false,
364− valueVisible: false
392+ valueVisible: false,
393+ valueLabelVisible: false,
394+ valueTinted: false
365395 },
366396 {
367397 tag: "Interactive notification",
@@ -382,7 +412,9 @@ Row {
382412 buttonRowVisible: false,
383413 buttonTinted: false,
384414 hasSound: true,
385− valueVisible: false
415+ valueVisible: false,
416+ valueLabelVisible: false,
417+ valueTinted: false
386418 },
387419 {
388420 tag: "Snap Decision without secondary icon and no button-tint",
@@ -404,7 +436,9 @@ Row {
404436 buttonRowVisible: true,
405437 buttonTinted: false,
406438 hasSound: true,
407− valueVisible: false
439+ valueVisible: false,
440+ valueLabelVisible: false,
441+ valueTinted: false
408442 },
409443 {
410444 tag: "Ephemeral notification",
@@ -425,7 +459,9 @@ Row {
425459 buttonRowVisible: false,
426460 buttonTinted: false,
427461 hasSound: true,
428− valueVisible: false
462+ valueVisible: false,
463+ valueLabelVisible: false,
464+ valueTinted: false
429465 },
430466 {
431467 tag: "Ephemeral notification with non-shaped icon",
@@ -446,7 +482,9 @@ Row {
446482 buttonRowVisible: false,
447483 buttonTinted: false,
448484 hasSound: false,
449− valueVisible: false
485+ valueVisible: false,
486+ valueLabelVisible: false,
487+ valueTinted: false
450488 },
451489 {
452490 tag: "Confirmation notification with value",
@@ -467,7 +505,33 @@ Row {
467505 buttonRowVisible: false,
468506 buttonTinted: false,
469507 hasSound: false,
470− valueVisible: true
508+ valueVisible: true,
509+ valueLabelVisible: false,
510+ valueTinted: false
511+ },
512+ {
513+ tag: "Confirmation notification with value, label and tint",
514+ type: Notification.Confirmation,
515+ hints: {"x-canonical-non-shaped-icon": "true",
516+ "x-canonical-value-bar-tint" : "true"},
517+ summary: "",
518+ body: "High Volume",
519+ icon: "image://theme/audio-volume-high",
520+ secondaryIcon: "",
521+ value: 85,
522+ actions: [],
523+ summaryVisible: false,
524+ bodyVisible: false,
525+ iconVisible: false,
526+ centeredIconVisible: true,
527+ shaped: false,
528+ secondaryIconVisible: false,
529+ buttonRowVisible: false,
530+ buttonTinted: false,
531+ hasSound: false,
532+ valueVisible: true,
533+ valueLabelVisible: true,
534+ valueTinted: true
471535 }
472536 ]
473537 }
@@ -512,6 +576,8 @@ Row {
512576 var bodyLabel = findChild(notification, "bodyLabel")
513577 var buttonRow = findChild(notification, "buttonRow")
514578 var valueIndicator = findChild(notification, "valueIndicator")
579+ var valueLabel = findChild(notification, "valueLabel")
580+ var innerBar = findChild(notification, "innerBar")
515581
516582 compare(icon.visible, data.iconVisible, "avatar-icon visibility is incorrect")
517583 if (icon.visible) {
@@ -522,6 +588,10 @@ Row {
522588 compare(centeredIcon.shaped, data.shaped, "shaped-status is incorrect")
523589 }
524590 compare(valueIndicator.visible, data.valueVisible, "value-indicator visibility is incorrect")
591+ if (valueIndicator.visible) {
592+ verify(innerBar.color === data.valueTinted ? UbuntuColors.orange : "white", "value-bar has the wrong color-tint")
593+ }
594+ compare(valueLabel.visible, data.valueLabelVisible, "value-label visibility is incorrect")
525595
526596 // test input does not fall through
527597 mouseClick(notification, notification.width / 2, notification.height / 2)