Bug 180415

Summary: WebDriver: several tests in imported/w3c/webdriver/tests/state/get_element_attribute.py are failing
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebDriverAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bburg, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch bburg: review+

Description Carlos Garcia Campos 2017-12-05 03:26:31 PST
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_boolean_attribute[button-attrs1] FAILED
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_boolean_attribute[dialog-attrs3] FAILED
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_boolean_attribute[form-attrs5] FAILED
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_boolean_attribute[iframe-attrs6] FAILED
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_boolean_attribute[img-attrs7] FAILED
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_boolean_attribute[input-attrs8] FAILED
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_boolean_attribute[menuitem-attrs9] FAILED
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_boolean_attribute[object-attrs10] FAILED
WebDriverTests/imported/w3c/webdriver/tests/state/get_element_attribute.py::test_global_boolean_attributes FAILED

session = <webdriver.client.Session object at 0x7fa64e79ecd0>, tag = 'dialog', attrs = ['open']

    @pytest.mark.parametrize("tag,attrs", [
        ("audio", ["autoplay", "controls", "loop", "muted"]),
        ("button", ["autofocus", "disabled", "formnovalidate"]),
        ("details", ["open"]),
        ("dialog", ["open"]),
        ("fieldset", ["disabled"]),
        ("form", ["novalidate"]),
        ("iframe", ["allowfullscreen"]),
        ("img", ["ismap"]),
        ("input", ["autofocus", "checked", "disabled", "formnovalidate", "multiple", "readonly", "required"]),
        ("menuitem", ["checked", "default", "disabled"]),
        ("object", ["typemustmatch"]),
        ("ol", ["reversed"]),
        ("optgroup", ["disabled"]),
        ("option", ["disabled", "selected"]),
        ("script", ["async", "defer"]),
        ("select", ["autofocus", "disabled", "multiple", "required"]),
        ("textarea", ["autofocus", "disabled", "readonly", "required"]),
        ("track", ["default"]),
        ("video", ["autoplay", "controls", "loop", "muted"])
    ])
    def test_boolean_attribute(session, tag, attrs):
        # 13.2 Step 5
        for attr in attrs:
            session.url = inline("<{0} {1}>".format(tag, attr))
    
            element = session.find.css(tag, all=False)
            result = result = get_attribute(session, element.id, attr)
>           assert_success(result, "true")

attr       = 'open'
attrs      = ['open']
element    = <webdriver.client.Element object at 0x7fa64e762d50>
result     = <Responsetatus=200 body={"value": ""}>
session    = <webdriver.client.Session object at 0x7fa64e79ecd0>
tag        = 'dialog'

It seems we return an empty string instead of true/false in some cases
Comment 1 Carlos Garcia Campos 2019-11-29 04:31:54 PST
Created attachment 384499 [details]
Patch
Comment 2 BJ Burg 2020-01-06 17:26:51 PST
Comment on attachment 384499 [details]
Patch

r=me
Comment 3 Carlos Garcia Campos 2020-01-07 01:53:01 PST
Committed r254117: <https://trac.webkit.org/changeset/254117>
Comment 4 Radar WebKit Bug Importer 2020-01-07 01:53:16 PST
<rdar://problem/58368442>