Пример #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()
Пример #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()
Пример #3
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()
Пример #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
Пример #5
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
Пример #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
Пример #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
Пример #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
Пример #9
0
    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
        ]
Пример #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
    ]
Пример #11
0
def test_chromium_version_unpatched(qapp):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    assert version._chromium_version() not in ['', 'unknown', 'unavailable']
Пример #12
0
 def test_avoided(self, monkeypatch):
     pytest.importorskip('PyQt5.QtWebEngineWidgets')
     monkeypatch.setattr(objects, 'debug_flags', ['avoid-chromium-init'])
     assert version._chromium_version() == 'avoided'
Пример #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
Пример #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']
Пример #15
0
 def test_no_webengine(self, monkeypatch):
     monkeypatch.setattr(version, 'webenginesettings', None)
     assert version._chromium_version() == 'unavailable'
Пример #16
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']
Пример #17
0
def test_chromium_version_unpatched(qapp):
    pytest.importorskip('PyQt5.QtWebEngineWidgets')
    assert version._chromium_version() not in ['', 'unknown', 'unavailable']