Add test for RefUpdate delete without HEAD

Bug: 406722
Change-Id: I555fb366ee64d885de2a71a67cf00833f4c62561
This commit is contained in:
Robin Stocker 2013-04-27 13:30:11 +02:00 committed by Gerrit Code Review @ Eclipse.org
parent 9d9cdd780c
commit e8f720335f
1 changed files with 16 additions and 1 deletions

View File

@ -1,7 +1,7 @@
/*
* Copyright (C) 2008, Charles O'Farrell <charleso@charleso.org>
* Copyright (C) 2009-2010, Google Inc.
* Copyright (C) 2008-2009, Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2008-2013, Robin Rosenberg <robin.rosenberg@dewire.com>
* and other copyright owners as documented in the project's IP log.
*
* This program and the accompanying materials are made available
@ -283,6 +283,21 @@ public void testDeleteForce() throws IOException {
delete(ref, Result.FORCED);
}
@Test
public void testDeleteWithoutHead() throws IOException {
// Prepare repository without HEAD
RefUpdate refUpdate = db.updateRef(Constants.HEAD, true);
refUpdate.setForceUpdate(true);
refUpdate.setNewObjectId(ObjectId.zeroId());
Result updateResult = refUpdate.update();
assertEquals(Result.FORCED, updateResult);
Result deleteHeadResult = db.updateRef(Constants.HEAD).delete();
assertEquals(Result.NO_CHANGE, deleteHeadResult);
// Any result is ok as long as it's not an NPE
db.updateRef(Constants.R_HEADS + "master").delete();
}
@Test
public void testRefKeySameAsName() {
Map<String, Ref> allRefs = db.getAllRefs();