⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basictests.java

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    /**     * test the basic SVNClient.update functionality with concurrent changes     * in the repository and the working copy     * @throws Throwable     */    public void testBasicMergingUpdate() throws Throwable    {        // build the first working copy        OneTest thisTest = new OneTest();        // append 10 lines to A/mu        File mu = new File(thisTest.getWorkingCopy(), "A/mu");        PrintWriter muPW = new PrintWriter(new FileOutputStream(mu, true));        String muContent = thisTest.getWc().getItemContent("A/mu");        for (int i = 2; i < 11; i++)        {            muPW.print("\nThis is line " + i + " in mu");            muContent = muContent + "\nThis is line " + i + " in mu";        }        muPW.close();        thisTest.getWc().setItemWorkingCopyRevision("A/mu", 2);        thisTest.getWc().setItemContent("A/mu", muContent);        addExpectedCommitItem(thisTest.getWorkingCopy().getAbsolutePath(),                thisTest.getUrl(), "A/mu", NodeKind.file,                CommitItemStateFlags.TextMods);        // append 10 line to A/D/G/rho        File rho = new File(thisTest.getWorkingCopy(), "A/D/G/rho");        PrintWriter rhoPW = new PrintWriter(new FileOutputStream(rho, true));        String rhoContent = thisTest.getWc().getItemContent("A/D/G/rho");        for (int i = 2; i < 11; i++)        {            rhoPW.print("\nThis is line " + i + " in rho");            rhoContent = rhoContent + "\nThis is line " + i + " in rho";        }        rhoPW.close();        thisTest.getWc().setItemWorkingCopyRevision("A/D/G/rho", 2);        thisTest.getWc().setItemContent("A/D/G/rho", rhoContent);        addExpectedCommitItem(thisTest.getWCPath(),                thisTest.getUrl(), "A/D/G/rho", NodeKind.file,                CommitItemStateFlags.TextMods);        // commit the changes        assertEquals("wrong revision number from commit",                client.commit(new String[]{thisTest.getWCPath()}, "log msg",                        true), 2);        // check the status of the first working copy        thisTest.checkStatus();        // create a backup copy of the working copy        OneTest backupTest = thisTest.copy(".backup");        // change the last line of A/mu in the first working copy        muPW = new PrintWriter(new FileOutputStream(mu, true));        muContent = thisTest.getWc().getItemContent("A/mu");        muPW.print(" Appended to line 10 of mu");        muContent = muContent + " Appended to line 10 of mu";        muPW.close();        thisTest.getWc().setItemWorkingCopyRevision("A/mu", 3);        thisTest.getWc().setItemContent("A/mu", muContent);        addExpectedCommitItem(thisTest.getWCPath(),                thisTest.getUrl(), "A/mu", NodeKind.file,                CommitItemStateFlags.TextMods);        // change the last line of A/mu in the first working copy        rhoPW = new PrintWriter(new FileOutputStream(rho, true));        rhoContent = thisTest.getWc().getItemContent("A/D/G/rho");        rhoPW.print(" Appended to line 10 of rho");        rhoContent = rhoContent + " Appended to line 10 of rho";        rhoPW.close();        thisTest.getWc().setItemWorkingCopyRevision("A/D/G/rho", 3);        thisTest.getWc().setItemContent("A/D/G/rho", rhoContent);        addExpectedCommitItem(thisTest.getWCPath(),                thisTest.getUrl(), "A/D/G/rho", NodeKind.file,                CommitItemStateFlags.TextMods);        // commit these changes to the repository        assertEquals("wrong revision number from commit",                client.commit(new String[]{thisTest.getWCPath()}, "log msg",                        true), 3);        // check the status of the first working copy        thisTest.checkStatus();        // modify the first line of A/mu in the backup working copy        mu = new File(backupTest.getWorkingCopy(), "A/mu");        muPW = new PrintWriter(new FileOutputStream(mu));        muPW.print("This is the new line 1 in the backup copy of mu");        muContent = "This is the new line 1 in the backup copy of mu";        for (int i = 2; i < 11; i++)        {            muPW.print("\nThis is line " + i + " in mu");            muContent = muContent + "\nThis is line " + i + " in mu";        }        muPW.close();        backupTest.getWc().setItemWorkingCopyRevision("A/mu", 3);        muContent = muContent + " Appended to line 10 of mu";        backupTest.getWc().setItemContent("A/mu", muContent);        backupTest.getWc().setItemTextStatus("A/mu", Status.Kind.modified);        // modify the first line of A/D/G/rho in the backup working copy        rho = new File(backupTest.getWorkingCopy(), "A/D/G/rho");        rhoPW = new PrintWriter(new FileOutputStream(rho));        rhoPW.print("This is the new line 1 in the backup copy of rho");        rhoContent = "This is the new line 1 in the backup copy of rho";        for (int i = 2; i < 11; i++)        {            rhoPW.print("\nThis is line " + i + " in rho");            rhoContent = rhoContent + "\nThis is line " + i + " in rho";        }        rhoPW.close();        backupTest.getWc().setItemWorkingCopyRevision("A/D/G/rho", 3);        rhoContent = rhoContent + " Appended to line 10 of rho";        backupTest.getWc().setItemContent("A/D/G/rho", rhoContent);        backupTest.getWc().setItemTextStatus("A/D/G/rho", Status.Kind.modified);        // update the backup working copy        assertEquals("wrong revision number from update",                client.update(backupTest.getWCPath(), null, true), 3);        // check the status of the backup working copy        backupTest.checkStatus();    }    /**     * test the basic SVNClient.update functionality with concurrent changes     * in the repository and the working copy that generate conflicts     * @throws Throwable     */    public void testBasicConflict() throws Throwable    {        // build the first working copy        OneTest thisTest = new OneTest();        // copy the first working copy to the backup working copy        OneTest backupTest = thisTest.copy(".backup");        // append a line to A/mu in the first working copy        File mu = new File(thisTest.getWorkingCopy(), "A/mu");        PrintWriter muPW = new PrintWriter(new FileOutputStream(mu, true));        String muContent = thisTest.getWc().getItemContent("A/mu");        muPW.print("\nOriginal appended text for mu");        muContent = muContent + "\nOriginal appended text for mu";        muPW.close();        thisTest.getWc().setItemWorkingCopyRevision("A/mu", 2);        thisTest.getWc().setItemContent("A/mu", muContent);        addExpectedCommitItem(thisTest.getWCPath(),                thisTest.getUrl(), "A/mu", NodeKind.file,                CommitItemStateFlags.TextMods);        // append a line to A/D/G/rho in the first working copy        File rho = new File(thisTest.getWorkingCopy(), "A/D/G/rho");        PrintWriter rhoPW = new PrintWriter(new FileOutputStream(rho, true));        String rhoContent = thisTest.getWc().getItemContent("A/D/G/rho");        rhoPW.print("\nOriginal appended text for rho");        rhoContent = rhoContent + "\nOriginal appended text for rho";        rhoPW.close();        thisTest.getWc().setItemWorkingCopyRevision("A/D/G/rho", 2);        thisTest.getWc().setItemContent("A/D/G/rho", rhoContent);        addExpectedCommitItem(thisTest.getWCPath(),                thisTest.getUrl(), "A/D/G/rho", NodeKind.file,                CommitItemStateFlags.TextMods);        // commit the changes in the first working copy        assertEquals("wrong revision number from commit",                client.commit(new String[]{thisTest.getWCPath()}, "log msg",                        true), 2);        // test the status of the working copy after the commit        thisTest.checkStatus();        // append a different line to A/mu in the backup working copy        mu = new File(backupTest.getWorkingCopy(), "A/mu");        muPW = new PrintWriter(new FileOutputStream(mu, true));        muPW.print("\nConflicting appended text for mu");        muContent = "<<<<<<< .mine\nThis is the file 'mu'.\n"+                "Conflicting appended text for mu=======\n"+                "This is the file 'mu'.\n"+                "Original appended text for mu>>>>>>> .r2";        muPW.close();        backupTest.getWc().setItemWorkingCopyRevision("A/mu", 2);        backupTest.getWc().setItemContent("A/mu", muContent);        backupTest.getWc().setItemTextStatus("A/mu", Status.Kind.conflicted);        backupTest.getWc().addItem("A/mu.r1", "");        backupTest.getWc().setItemNodeKind("A/mu.r1", NodeKind.unknown);        backupTest.getWc().setItemTextStatus("A/mu.r1",                Status.Kind.unversioned);        backupTest.getWc().addItem("A/mu.r2", "");        backupTest.getWc().setItemNodeKind("A/mu.r2", NodeKind.unknown);        backupTest.getWc().setItemTextStatus("A/mu.r2",                Status.Kind.unversioned);        backupTest.getWc().addItem("A/mu.mine", "");        backupTest.getWc().setItemNodeKind("A/mu.mine", NodeKind.unknown);        backupTest.getWc().setItemTextStatus("A/mu.mine",                Status.Kind.unversioned);        // append a different line to A/D/G/rho in the backup working copy        rho = new File(backupTest.getWorkingCopy(), "A/D/G/rho");        rhoPW = new PrintWriter(new FileOutputStream(rho, true));        rhoPW.print("\nConflicting appended text for rho");        rhoContent = "<<<<<<< .mine\nThis is the file 'rho'.\n"+                "Conflicting appended text for rho=======\n"+                "his is the file 'rho'.\n"+                "Original appended text for rho>>>>>>> .r2";        rhoPW.close();        backupTest.getWc().setItemWorkingCopyRevision("A/D/G/rho", 2);        backupTest.getWc().setItemContent("A/D/G/rho", rhoContent);        backupTest.getWc().setItemTextStatus("A/D/G/rho",                Status.Kind.conflicted);        backupTest.getWc().addItem("A/D/G/rho.r1", "");        backupTest.getWc().setItemNodeKind("A/D/G/rho.r1", NodeKind.unknown);        backupTest.getWc().setItemTextStatus("A/D/G/rho.r1",                Status.Kind.unversioned);        backupTest.getWc().addItem("A/D/G/rho.r2", "");        backupTest.getWc().setItemNodeKind("A/D/G/rho.r2", NodeKind.unknown);        backupTest.getWc().setItemTextStatus("A/D/G/rho.r2",                Status.Kind.unversioned);        backupTest.getWc().addItem("A/D/G/rho.mine", "");        backupTest.getWc().setItemNodeKind("A/D/G/rho.mine", NodeKind.unknown);        backupTest.getWc().setItemTextStatus("A/D/G/rho.mine",                Status.Kind.unversioned);        // update the backup working copy from the repository        assertEquals("wrong revision number from update",                client.update(backupTest.getWCPath(), null, true), 2);        // check the status of the backup working copy        backupTest.checkStatus();        // flag A/mu as resolved        client.resolved(backupTest.getWCPath()+"/A/mu",false);        backupTest.getWc().setItemTextStatus("A/mu", Status.Kind.modified);        backupTest.getWc().removeItem("A/mu.r1");        backupTest.getWc().removeItem("A/mu.r2");        backupTest.getWc().removeItem("A/mu.mine");        // flag A/D/G/rho as resolved        client.resolved(backupTest.getWCPath()+"/A/D/G/rho",false);        backupTest.getWc().setItemTextStatus("A/D/G/rho", Status.Kind.modified);        backupTest.getWc().removeItem("A/D/G/rho.r1");        backupTest.getWc().removeItem("A/D/G/rho.r2");        backupTest.getWc().removeItem("A/D/G/rho.mine");        // check the status after the conflicts are flaged as resolved        backupTest.checkStatus();    }    /**     * test the basic SVNClient.cleanup functionality     * @throws Throwable     */    public void testBasicCleanup() throws Throwable    {        // create a test working copy        OneTest thisTest = new OneTest();        // create a lock file in A/B        File adminLock = new File(thisTest.getWorkingCopy(),"A/B/" +                                  getAdminDirectoryName() + "/lock");        PrintWriter pw = new PrintWriter(new FileOutputStream(adminLock));        pw.print("stop looking!");        pw.close();        thisTest.getWc().setItemIsLocked("A/B", true);        // create a lock file in A/D/G        adminLock = new File(thisTest.getWorkingCopy(),"A/D/G/" +                             getAdminDirectoryName() + "/lock");        pw = new PrintWriter(new FileOutputStream(adminLock));        pw.print("stop looking!");        pw.close();        thisTest.getWc().setItemIsLocked("A/D/G", true);        // create a lock file in A/C        adminLock = new File(thisTest.getWorkingCopy(),"A/C/" +                             getAdminDirectoryName() + "/lock");        pw = new PrintWriter(new FileOutputStream(adminLock));        pw.print("stop looking!");        pw.close();        thisTest.getWc().setItemIsLocked("A/C", true);        // test the status of the working copy        thisTest.checkStatus();        // run cleanup        client.cleanup(thisTest.getWCPath());        thisTest.getWc().setItemIsLocked("A/B", false);        thisTest.getWc().setItemIsLocked("A/D/G", false);        thisTest.getWc().setItemIsLocked("A/C", false);        // test the status of the working copy        thisTest.checkStatus();    }    /**     * Test the basic SVNClient.revert functionality      * @throws Throwable     */    public void testBasicRevert() throws Throwable    {        // create a test working copy        OneTest thisTest = new OneTest();        // modify A/B/E/beta        File file = new File(thisTest.getWorkingCopy(), "A/B/E/beta");        PrintWriter pw = new PrintWriter(new FileOutputStream(file, true));        pw.print("Added some text to 'beta'.");        pw.close();        thisTest.getWc().setItemTextStatus("A/B/E/beta", Status.Kind.modified);        // modify iota        file = new File(thisTest.getWorkingCopy(), "iota");        pw = new PrintWriter(new FileOutputStream(file, true));        pw.print("Added some text to 'iota'.");        pw.close();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -