Beispiel #1
0
    def test_prefers_saved_user_agent(self, monkeypatch):
        pytest.importorskip('PyQt5.QtWebEngineWidgets')
        version.webenginesettings._init_user_agent_str(_QTWE_USER_AGENT)

        class FakeProfile:
            def defaultProfile(self):
                raise AssertionError("Should not be called")

        monkeypatch.setattr(version.webenginesettings, 'QWebEngineProfile',
                            FakeProfile())

        version._chromium_version()
Beispiel #2
0
def test_chromium_version_prefers_saved_user_agent(monkeypatch):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    monkeypatch.setattr(
        version.webenginesettings, 'default_user_agent',
        'QtWebEngine/5.8.0 Chrome/53.0.2785.148 Safari/537.36')

    class FakeProfile:
        def defaultProfile(self):
            raise AssertionError("Should not be called")

    monkeypatch.setattr(version, 'QWebEngineProfile', FakeProfile())

    version._chromium_version()
def test_chromium_version_prefers_saved_user_agent(monkeypatch):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    monkeypatch.setattr(
        version.webenginesettings, 'default_user_agent',
        'QtWebEngine/5.8.0 Chrome/53.0.2785.148 Safari/537.36'
    )

    class FakeProfile:
        def defaultProfile(self):
            raise AssertionError("Should not be called")

    monkeypatch.setattr(version, 'QWebEngineProfile', FakeProfile())

    version._chromium_version()
Beispiel #4
0
    def test_fake_ua(self, monkeypatch, caplog):
        pytest.importorskip('PyQt5.QtWebEngineWidgets')

        ver = '77.0.3865.98'
        version.webenginesettings._init_user_agent_str(
            _QTWE_USER_AGENT.format(ver))

        assert version._chromium_version() == ver
def test_chromium_version(monkeypatch, caplog, ua, expected):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    if ua is None:
        monkeypatch.setattr(version, 'webenginesettings', None)
    else:
        monkeypatch.setattr(version.webenginesettings,
                            'default_user_agent', ua)

    with caplog.at_level(logging.ERROR):
        assert version._chromium_version() == expected
Beispiel #6
0
def test_chromium_version(monkeypatch, caplog, ua, expected):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    if ua is None:
        monkeypatch.setattr(version, 'webenginesettings', None)
    else:
        monkeypatch.setattr(version.webenginesettings, 'default_user_agent',
                            ua)

    with caplog.at_level(logging.ERROR):
        assert version._chromium_version() == expected
Beispiel #7
0
def test_chromium_version(monkeypatch, caplog, ua, expected):
    if ua is None:
        monkeypatch.setattr(version, 'QWebEngineProfile', None)
    else:
        class FakeWebEngineProfile:
            def httpUserAgent(self):
                return ua
        monkeypatch.setattr(version, 'QWebEngineProfile', FakeWebEngineProfile)

    with caplog.at_level(logging.ERROR):
        assert version._chromium_version() == expected
Beispiel #8
0
def test_chromium_version(monkeypatch, caplog, ua, expected):
    if ua is None:
        monkeypatch.setattr(version, 'QWebEngineProfile', None)
    else:
        class FakeWebEngineProfile:
            def httpUserAgent(self):
                return ua
        monkeypatch.setattr(version, 'QWebEngineProfile', FakeWebEngineProfile)

    with caplog.at_level(logging.ERROR):
        assert version._chromium_version() == expected
    def test_new_chromium(self):
        """Fail if we encounter an unknown Chromium version.

        Dark mode in Chromium currently is undergoing various changes (as it's
        relatively recent), and Qt 5.15 is supposed to update the underlying
        Chromium at some point.

        Make this test fail deliberately with newer Chromium versions, so that
        we can test whether dark mode still works manually, and adjust if not.
        """
        assert version._chromium_version() in [
            'unavailable',  # QtWebKit
            '77.0.3865.129',  # Qt 5.14
            '80.0.3987.163',  # Qt 5.15
        ]
Beispiel #10
0
def test_new_chromium():
    """Fail if we encounter an unknown Chromium version.

    Dark mode in Chromium (or rather, the underlying Blink) is being changed with
    almost every Chromium release.

    Make this test fail deliberately with newer Chromium versions, so that
    we can test whether dark mode still works manually, and adjust if not.
    """
    assert version._chromium_version() in [
        'unavailable',  # QtWebKit
        '61.0.3163.140',  # Qt 5.10
        '65.0.3325.230',  # Qt 5.11
        '69.0.3497.128',  # Qt 5.12
        '73.0.3683.105',  # Qt 5.13
        '77.0.3865.129',  # Qt 5.14
        '80.0.3987.163',  # Qt 5.15.0
        '83.0.4103.122',  # Qt 5.15.2
    ]
Beispiel #11
0
def test_chromium_version_unpatched(qapp):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    assert version._chromium_version() not in ['', 'unknown', 'unavailable']
Beispiel #12
0
 def test_avoided(self, monkeypatch):
     pytest.importorskip('PyQt5.QtWebEngineWidgets')
     monkeypatch.setattr(objects, 'debug_flags', ['avoid-chromium-init'])
     assert version._chromium_version() == 'avoided'
Beispiel #13
0
 def test_unpatched(self, qapp, cache_tmpdir, data_tmpdir, config_stub):
     pytest.importorskip('PyQt5.QtWebEngineWidgets')
     unexpected = ['', 'unknown', 'unavailable', 'avoided']
     assert version._chromium_version() not in unexpected
Beispiel #14
0
def test_chromium_version_unpatched(qapp, cache_tmpdir, data_tmpdir,
                                    config_stub):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    assert version._chromium_version() not in ['', 'unknown', 'unavailable']
Beispiel #15
0
 def test_no_webengine(self, monkeypatch):
     monkeypatch.setattr(version, 'webenginesettings', None)
     assert version._chromium_version() == 'unavailable'
def test_chromium_version_unpatched(qapp, cache_tmpdir, data_tmpdir,
                                    config_stub):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    assert version._chromium_version() not in ['', 'unknown', 'unavailable']
Beispiel #17
0
def test_chromium_version_unpatched(qapp):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    assert version._chromium_version() not in ['', 'unknown', 'unavailable']