basictests.java

来自「linux subdivision ying gai ke yi le ba」· Java 代码 · 共 869 行 · 第 1/3 页

JAVA
869
字号
        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);
        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);
        assertEquals("wrong revision number from update",
                     client.update(backupTest.getWorkingCopy().getAbsolutePath(),
                                   null, true), 2);
        backupTest.checkStatus();
        client.resolved(backupTest.getWorkingCopy().getAbsolutePath() +
                       "/A/mu", false);
        client.resolved(backupTest.getWorkingCopy().getAbsolutePath() +
                        "/A/D/G/rho", 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");
        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");
        backupTest.checkStatus();
    }

    public void testBasicCleanup() throws Throwable
    {
        OneTest thisTest = new OneTest();
        File adminLock = new File(thisTest.getWorkingCopy(),"A/B/.svn/lock");
        PrintWriter pw = new PrintWriter(new FileOutputStream(adminLock));
        pw.print("stop looking!");
        pw.close();
        thisTest.getWc().setItemIsLocked("A/B", true);
        adminLock = new File(thisTest.getWorkingCopy(),"A/D/G/.svn/lock");
        pw = new PrintWriter(new FileOutputStream(adminLock));
        pw.print("stop looking!");
        pw.close();
        thisTest.getWc().setItemIsLocked("A/D/G", true);
        adminLock = new File(thisTest.getWorkingCopy(),"A/C/.svn/lock");
        pw = new PrintWriter(new FileOutputStream(adminLock));
        pw.print("stop looking!");
        pw.close();
        thisTest.getWc().setItemIsLocked("A/C", true);
        thisTest.checkStatus();
        client.cleanup(thisTest.getWorkingCopy().getAbsolutePath());
        thisTest.getWc().setItemIsLocked("A/B", false);
        thisTest.getWc().setItemIsLocked("A/D/G", false);
        thisTest.getWc().setItemIsLocked("A/C", false);
        thisTest.checkStatus();
    }

    public void testBasicRevert() throws Throwable
    {
        OneTest thisTest = new OneTest();
        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);
        file = new File(thisTest.getWorkingCopy(), "iota");
        pw = new PrintWriter(new FileOutputStream(file, true));
        pw.print("Added some text to 'iota'.");
        pw.close();
        thisTest.getWc().setItemTextStatus("iota", Status.Kind.modified);
        file = new File(thisTest.getWorkingCopy(), "A/D/G/rho");
        pw = new PrintWriter(new FileOutputStream(file, true));
        pw.print("Added some text to 'rho'.");
        pw.close();
        thisTest.getWc().setItemTextStatus("A/D/G/rho", Status.Kind.modified);
        file = new File(thisTest.getWorkingCopy(), "A/D/H/zeta");
        pw = new PrintWriter(new FileOutputStream(file, true));
        pw.print("Added some text to 'zeta'.");
        pw.close();
        thisTest.getWc().addItem("A/D/H/zeta", "Added some text to 'zeta'.");
        thisTest.getWc().setItemTextStatus("A/D/H/zeta", Status.Kind.added);
        client.add(file.getAbsolutePath(), false);
        thisTest.checkStatus();
        client.revert(thisTest.getWorkingCopy().getAbsolutePath() +
                      "/A/B/E/beta", false);
        client.revert(thisTest.getWorkingCopy().getAbsolutePath() + "/iota",
                      false);
        client.revert(thisTest.getWorkingCopy().getAbsolutePath() +
                      "/A/D/G/rho", false);
        client.revert(thisTest.getWorkingCopy().getAbsolutePath() +
                      "/A/D/H/zeta", false);
        thisTest.getWc().setItemTextStatus("A/B/E/beta", Status.Kind.normal);
        thisTest.getWc().setItemTextStatus("iota", Status.Kind.normal);
        thisTest.getWc().setItemTextStatus("A/D/G/rho", Status.Kind.normal);
        thisTest.getWc().setItemTextStatus("A/D/H/zeta",
                                           Status.Kind.unversioned);
        thisTest.getWc().setItemNodeKind("A/D/H/zeta", NodeKind.unknown);
        thisTest.checkStatus();

        file = new File(thisTest.getWorkingCopy(), "A/B/E/beta");
        file.delete();
        client.revert(file.getAbsolutePath(), false);
        assertTrue("reverted file is not readonly",
                   file.canWrite() && file.canRead());
        thisTest.checkStatus();

        client.mkdir(new String[] {thisTest.getWorkingCopy().getAbsolutePath()
                     + "/X"}, null);
        thisTest.getWc().addItem("X", null);
        thisTest.getWc().setItemTextStatus("X", Status.Kind.added);
        thisTest.checkStatus();

        removeDirectoryWithContent(new File(thisTest.getWorkingCopy(), "X"));
        client.revert(thisTest.getWorkingCopy().getAbsolutePath()+"/X", false);
        thisTest.getWc().removeItem("X");
        thisTest.checkStatus();

        client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()
                                    + "/A/B/E"}, null, true);
        removeDirectoryWithContent(new File(thisTest.getWorkingCopy(),
                                            "A/B/E"));
        thisTest.getWc().setItemTextStatus("A/B/E", Status.Kind.deleted);
        thisTest.getWc().removeItem("A/B/E/alpha");
        thisTest.getWc().removeItem("A/B/E/beta");
        thisTest.checkStatus();
        client.revert(thisTest.getWorkingCopy().getAbsolutePath() + "/A/B/E",
                      true);
        thisTest.checkStatus();
    }

    public void testBasicSwitch() throws Throwable
    {
        OneTest thisTest = new OneTest();
        String iotaPath = thisTest.getWorkingCopy().getAbsolutePath() +
            "\\iota";
        String gammaUrl = thisTest.getURL() + "/A/D/gamma";
        thisTest.getWc().setItemContent("iota",
                                        greekWC.getItemContent("A/D/gamma"));
        thisTest.getWc().setItemIsSwitched("iota", true);
        client.doSwitch(iotaPath, gammaUrl, null, true);
        thisTest.checkStatus();

        String adhPath = thisTest.getWorkingCopy().getAbsolutePath() +
            "/A/D/H";
        String adgURL = thisTest.getURL() + "/A/D/G";
        thisTest.getWc().setItemIsSwitched("A/D/H",true);
        thisTest.getWc().removeItem("A/D/H/chi");
        thisTest.getWc().removeItem("A/D/H/omega");
        thisTest.getWc().removeItem("A/D/H/psi");
        thisTest.getWc().addItem("A/D/H/pi",
                                 thisTest.getWc().getItemContent("A/D/G/pi"));
        thisTest.getWc().addItem("A/D/H/rho", thisTest.getWc().getItemContent("A/D/G/rho"));
        thisTest.getWc().addItem("A/D/H/tau", thisTest.getWc().getItemContent("A/D/G/tau"));
        client.doSwitch(adhPath, adgURL, null, true);
        thisTest.checkStatus();
    }

    public void testBasicDelete() throws Throwable
    {
        OneTest thisTest = new OneTest();
        File file = new File(thisTest.getWorkingCopy(), "A/D/H/chi");
        PrintWriter pw = new PrintWriter(new FileOutputStream(file, true));
        pw.print("added to chi");
        pw.close();
        thisTest.getWc().setItemTextStatus("A/D/H/chi", Status.Kind.modified);
        client.propertySet(thisTest.getWorkingCopy().getAbsolutePath()+"/A/D/G/rho", "abc", "def", true);
        thisTest.getWc().setItemPropStatus("A/D/G/rho", Status.Kind.modified);
        client.propertySet(thisTest.getWorkingCopy().getAbsolutePath()+"/A/B/F", "abc", "def", false);
        thisTest.getWc().setItemPropStatus("A/B/F", Status.Kind.modified);
        file = new File(thisTest.getWorkingCopy().getAbsolutePath(),"A/C/sigma");
        pw = new PrintWriter(new FileOutputStream(file));
        pw.print("unversioned sigma");
        pw.close();
        thisTest.getWc().addItem("A/C/sigma", "unversioned sigma");
        thisTest.getWc().setItemTextStatus("A/C/sigma", Status.Kind.unversioned);
        thisTest.getWc().setItemNodeKind("A/C/sigma", NodeKind.unknown);
        file = new File(thisTest.getWorkingCopy().getAbsolutePath(), "A/C/Q");
        file.mkdir();
        thisTest.getWc().addItem("A/C/Q", null);
        thisTest.getWc().setItemNodeKind("A/C/Q", NodeKind.unknown);
        thisTest.getWc().setItemTextStatus("A/C/Q", Status.Kind.unversioned);
        file = new File(thisTest.getWorkingCopy().getAbsolutePath(), "A/B/X");
        client.mkdir(new String[] {file.getAbsolutePath()}, null);
        thisTest.getWc().addItem("A/B/X", null);
        thisTest.getWc().setItemTextStatus("A/B/X", Status.Kind.added);
        file = new File(file, "xi");
        pw = new PrintWriter(new FileOutputStream(file));
        pw.print("added xi");
        pw.close();
        client.add(file.getAbsolutePath(),false);
        thisTest.getWc().addItem("A/B/X/xi", "added xi");
        thisTest.getWc().setItemTextStatus("A/B/X/xi", Status.Kind.added);
        file = new File(thisTest.getWorkingCopy().getAbsolutePath(), "A/B/Y");
        client.mkdir(new String[] {file.getAbsolutePath()}, null);
        thisTest.getWc().addItem("A/B/Y", null);
        thisTest.getWc().setItemTextStatus("A/B/Y", Status.Kind.added);
        thisTest.checkStatus();

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/D/H/chi"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/D/H"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/D/G/rho"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/D/G"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/B/F"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/B"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/C/sigma"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/C"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

        try
        {
            client.remove(new String[] {thisTest.getWorkingCopy().getAbsolutePath()+"/A/B/X"}, null, false);
            fail("missing exception");
        }
        catch(ClientException e)
        {
        }

⌨️ 快捷键说明

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