Tests that links are updated properly when inserting a new property.


Running: selectInitialNode

Running: testInsertProperty
[expanded] 
element.style { ()

[expanded] 
@media (min-device-width: 1px)
.should-change { (styles-upda…inks.css:11 -> styles-update-links.css:11:21)
    font-family: monospace;

[expanded] 
.should-change { (styles-upda…links.css:7 -> styles-update-links.css:7:79)
    position: relative;
    margin: 1em;

[expanded] 
.should-change { (styles-upda…links.css:7 -> styles-update-links.css:7:35)
    border: 1px solid black;

[expanded] 
.should-change { (styles-upda…links.css:6 -> styles-update-links.css:6:19)
    color: red;

[expanded] 
.left-intact { (styles-upda…links.css:4 -> styles-update-links.css:4:15)
    padding: 1em;

[expanded] 
.left-intact { (styles-upda…links.css:1 -> styles-update-links.css:1:15)
    box-sizing: border-box;

[expanded] 
.left-intact { (styles-upda…ks-2.css:19 -> styles-update-links-2.css:19:15)
    line-height: 1;

[expanded] 
div { (user agent stylesheet)
    display: block;



#### AFTER PROPERTY INSERTION ####


[expanded] 
element.style { ()

[expanded] 
@media (min-device-width: 1px)
.should-change { (styles-upda…inks.css:13 -> styles-update-links.css:13:21)
    font-family: monospace;

[expanded] 
.should-change { (styles-upda…links.css:9 -> styles-update-links.css:9:67)
    position: relative;
    margin: 1em;

[expanded] 
.should-change { (styles-upda…links.css:9 -> styles-update-links.css:9:23)
    border: 1px solid black;

[expanded] 
.should-change { (styles-upda…links.css:6 -> styles-update-links.css:6:19)
    color: red;
/-- overloaded --/     PROPERTY: INSERTED;

[expanded] 
.left-intact { (styles-upda…links.css:4 -> styles-update-links.css:4:15)
    padding: 1em;

[expanded] 
.left-intact { (styles-upda…links.css:1 -> styles-update-links.css:1:15)
    box-sizing: border-box;

[expanded] 
.left-intact { (styles-upda…ks-2.css:19 -> styles-update-links-2.css:19:15)
    line-height: 1;

[expanded] 
div { (user agent stylesheet)
    display: block;

4 rule ranges are equal.
4 rule ranges are equal.
3 rule ranges are equal.
4 rule ranges are equal.
3 rule ranges are equal.
3 rule ranges are equal.
3 rule ranges are equal.
0 rule ranges are equal.

