The test verifies functionality of protocol method CSS.setEffectivePropertyValueForNode.
Dumping inline style: 
{
    padding-top: 55px;
    margin-top: 33px !important;
    --x: foo;
}
Dumping matched rules: 
*#inspected* {    regular
    margin-left: 10px !important;
}
*#inspected* {    regular
    padding: 10px 20px 30px 40px;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}
@media (min-width: 1px)
    *#inspected* {    regular
        padding-left: 5px;
        margin-left: 20px;
        padding-left: 10px;
        margin-top: 15px !important;
    }
Dumping inherited rules: 

Running test: testBasicPropertyChange
{
    padding-top: 55px;
    margin-top: 33px !important;
    --x: foo;
}
*#inspected* {    regular
    margin-left: 10px !important;
}
*#inspected* {    regular
    padding: 10px 20px 30px 40px;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}
@media (min-width: 1px)
    *#inspected* {    regular
        padding-left: 5px;
        margin-left: 20px;
        padding-left: 101px;
        margin-top: 15px !important;
    }

Running test: testChangePropertyInShortHand
{
    padding-top: 55px;
    margin-top: 33px !important;
    --x: foo;
}
*#inspected* {    regular
    margin-left: 10px !important;
}
*#inspected* {    regular
    padding: 10px 20px 101px 40px;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 101px;
    padding-left: 40px;
}
@media (min-width: 1px)
    *#inspected* {    regular
        padding-left: 5px;
        margin-left: 20px;
        padding-left: 10px;
        margin-top: 15px !important;
    }

Running test: testChangeImportantProperty
{
    padding-top: 55px;
    margin-top: 33px !important;
    --x: foo;
}
*#inspected* {    regular
    margin-left: 101px !important;
}
*#inspected* {    regular
    padding: 10px 20px 30px 40px;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}
@media (min-width: 1px)
    *#inspected* {    regular
        padding-left: 5px;
        margin-left: 20px;
        padding-left: 10px;
        margin-top: 15px !important;
    }

Running test: testChangeInlineProperty
{
    padding-top: 101px;
    margin-top: 33px !important;
    --x: foo;
}
*#inspected* {    regular
    margin-left: 10px !important;
}
*#inspected* {    regular
    padding: 10px 20px 30px 40px;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}
@media (min-width: 1px)
    *#inspected* {    regular
        padding-left: 5px;
        margin-left: 20px;
        padding-left: 10px;
        margin-top: 15px !important;
    }

Running test: testChangeInlineImportantProperty
{
    padding-top: 55px;
    margin-top: 101px !important;
    --x: foo;
}
*#inspected* {    regular
    margin-left: 10px !important;
}
*#inspected* {    regular
    padding: 10px 20px 30px 40px;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}
@media (min-width: 1px)
    *#inspected* {    regular
        padding-left: 5px;
        margin-left: 20px;
        padding-left: 10px;
        margin-top: 15px !important;
    }

Running test: testChangeMissingProperty
{
    padding-top: 55px;
    margin-top: 33px !important;
    --x: foo;
    margin-bottom: 101px;
}
*#inspected* {    regular
    margin-left: 10px !important;
}
*#inspected* {    regular
    padding: 10px 20px 30px 40px;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}
@media (min-width: 1px)
    *#inspected* {    regular
        padding-left: 5px;
        margin-left: 20px;
        padding-left: 10px;
        margin-top: 15px !important;
    }

Running test: testAppendWithSeparator
Dumping inline style: 
{
    padding-left: 10px;
}
Dumping matched rules: 
Dumping inherited rules: 
Resulting styles
{
    padding-left: 10px;
    padding-right: 101px;
}

Running test: testChangeCustomProperty
{
    padding-top: 55px;
    margin-top: 33px !important;
    --x: bar;
}
*#inspected* {    regular
    margin-left: 10px !important;
}
*#inspected* {    regular
    padding: 10px 20px 30px 40px;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}
@media (min-width: 1px)
    *#inspected* {    regular
        padding-left: 5px;
        margin-left: 20px;
        padding-left: 10px;
        margin-top: 15px !important;
    }

