示例#1
0
    def test_with_online_redirect_url(self, monkeypatch, tmpdir):
        """
        If an index page is passed, it is added to the plist.
        """
        monkeypatch.chdir(tmpdir)
        m_ct = MagicMock()
        monkeypatch.setattr(shutil, "copytree", m_ct)
        os.mkdir("bar")
        docset = main.prepare_docset(
            "some/path/foo",
            "bar",
            name="foo",
            index_page="foo.html",
            enable_js=False,
            online_redirect_url="https://domain.com",
        )

        p = main.read_plist(docset.plist)

        assert p == {
            "CFBundleIdentifier": "foo",
            "CFBundleName": "foo",
            "DocSetPlatformFamily": "foo",
            "DashDocSetFamily": "python",
            "isDashDocset": True,
            "dashIndexFilePath": "foo.html",
            "isJavaScriptEnabled": False,
            "DashDocSetFallbackURL": "https://domain.com",
        }
示例#2
0
    def test_with_online_redirect_url(self, monkeypatch, tmpdir):
        """
        If an index page is passed, it is added to the plist.
        """
        monkeypatch.chdir(tmpdir)
        m_ct = MagicMock()
        monkeypatch.setattr(shutil, "copytree", m_ct)
        os.mkdir("bar")
        docset = main.prepare_docset(
            "some/path/foo",
            "bar",
            name="foo",
            index_page="foo.html",
            enable_js=False,
            online_redirect_url="https://domain.com",
        )

        p = main.read_plist(docset.plist)

        assert p == {
            "CFBundleIdentifier": "foo",
            "CFBundleName": "foo",
            "DocSetPlatformFamily": "foo",
            "DashDocSetFamily": "python",
            "isDashDocset": True,
            "dashIndexFilePath": "foo.html",
            "isJavaScriptEnabled": False,
            "DashDocSetFallbackURL": "https://domain.com",
        }
示例#3
0
    def test_plist_creation(self, monkeypatch, tmpdir):
        """
        All arguments should be reflected in the plist.
        """
        monkeypatch.chdir(tmpdir)
        m_ct = MagicMock()
        monkeypatch.setattr(shutil, "copytree", m_ct)
        os.mkdir("bar")
        docset = main.prepare_docset(
            "some/path/foo",
            "bar",
            name="foo",
            index_page=None,
            enable_js=False,
            online_redirect_url=None,
        )
        m_ct.assert_called_once_with(
            "some/path/foo", "bar/Contents/Resources/Documents"
        )

        assert os.path.isfile("bar/Contents/Resources/docSet.dsidx")

        p = main.read_plist(docset.plist)

        assert p == {
            "CFBundleIdentifier": "foo",
            "CFBundleName": "foo",
            "DocSetPlatformFamily": "foo",
            "DashDocSetFamily": "python",
            "isDashDocset": True,
            "isJavaScriptEnabled": False,
        }

        with sqlite3.connect("bar/Contents/Resources/docSet.dsidx") as db_conn:
            cur = db_conn.cursor()
            # ensure table exists and is empty
            cur.execute("select count(1) from searchIndex")

            assert cur.fetchone()[0] == 0
示例#4
0
    def test_plist_creation(self, monkeypatch, tmpdir):
        """
        All arguments should be reflected in the plist.
        """
        monkeypatch.chdir(tmpdir)
        m_ct = MagicMock()
        monkeypatch.setattr(shutil, "copytree", m_ct)
        os.mkdir("bar")
        docset = main.prepare_docset(
            "some/path/foo",
            "bar",
            name="foo",
            index_page=None,
            enable_js=False,
            online_redirect_url=None,
        )
        m_ct.assert_called_once_with("some/path/foo",
                                     "bar/Contents/Resources/Documents")

        assert os.path.isfile("bar/Contents/Resources/docSet.dsidx")

        p = main.read_plist(docset.plist)

        assert p == {
            "CFBundleIdentifier": "foo",
            "CFBundleName": "foo",
            "DocSetPlatformFamily": "foo",
            "DashDocSetFamily": "python",
            "isDashDocset": True,
            "isJavaScriptEnabled": False,
        }

        with sqlite3.connect("bar/Contents/Resources/docSet.dsidx") as db_conn:
            cur = db_conn.cursor()
            # ensure table exists and is empty
            cur.execute("select count(1) from searchIndex")

            assert cur.fetchone()[0] == 0