use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testPasteUnderFolded.
@Test
public void testPasteUnderFolded() throws IOException {
Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "*** Note 1.1.2\n" + "** Note 1.2\n" + "* Note 2\n");
/* Cut & paste 2 under folded 1.1. */
shelf.cut(book.getId(), shelf.getNote("Note 2").getId());
shelf.toggleFoldedState(shelf.getNote("Note 1.1").getId());
Note n = shelf.getNote("Note 1.1");
shelf.paste(n.getPosition().getBookId(), n.getId(), Place.UNDER);
assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "*** Note 1.1.2\n" + "*** Note 2\n" + "** Note 1.2\n", shelf.getBookContent("notebook", BookName.Format.ORG));
NotePosition n1 = shelf.getNote("Note 1").getPosition();
NotePosition n11 = shelf.getNote("Note 1.1").getPosition();
NotePosition n111 = shelf.getNote("Note 1.1.1").getPosition();
NotePosition n112 = shelf.getNote("Note 1.1.2").getPosition();
NotePosition n2 = shelf.getNote("Note 2").getPosition();
NotePosition n12 = shelf.getNote("Note 1.2").getPosition();
assertEquals(shelf.getNote("Note 1.1").getId(), n2.getParentId());
assertEquals(1, n1.getLevel());
assertEquals(2, n11.getLevel());
assertEquals(3, n111.getLevel());
assertEquals(3, n112.getLevel());
assertEquals(3, n2.getLevel());
assertEquals(2, n12.getLevel());
assertTrue(n1.getLft() < n11.getLft());
assertTrue(n11.getLft() < n111.getLft());
assertTrue(n111.getLft() < n111.getRgt());
assertTrue(n111.getLft() < n111.getRgt());
assertTrue(n111.getRgt() < n112.getLft());
assertTrue(n112.getLft() < n112.getRgt());
assertTrue(n112.getRgt() < n2.getLft());
assertTrue(n2.getLft() < n2.getRgt());
assertTrue(n2.getRgt() < n11.getRgt());
assertTrue(n11.getRgt() < n12.getLft());
assertTrue(n12.getLft() < n12.getRgt());
assertTrue(n12.getRgt() < n1.getRgt());
assertEquals(5, n1.getDescendantsCount());
assertEquals(3, n11.getDescendantsCount());
assertEquals(0, n111.getDescendantsCount());
assertEquals(0, n112.getDescendantsCount());
assertEquals(0, n2.getDescendantsCount());
assertEquals(0, n12.getDescendantsCount());
assertEquals(0, n1.getFoldedUnderId());
assertEquals(0, n11.getFoldedUnderId());
assertEquals(shelf.getNote("Note 1.1").getId(), n111.getFoldedUnderId());
assertEquals(shelf.getNote("Note 1.1").getId(), n112.getFoldedUnderId());
assertEquals(shelf.getNote("Note 1.1").getId(), n2.getFoldedUnderId());
assertEquals(0, n12.getFoldedUnderId());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testCyclingFreshlyImportedNotebook.
@Test
public void testCyclingFreshlyImportedNotebook() {
Book book = shelfTestUtils.setupBook("booky", "Notebook\n" + "* Note 1\n" + "** Note 2\n" + "*** Note 3\n" + "** Note 4\n" + "* Note 5");
/* Fold all. */
shelf.cycleVisibility(book);
assertTrue(shelf.getNote("Note 1").getPosition().isFolded());
assertTrue(shelf.getNote("Note 2").getPosition().isFolded());
assertTrue(shelf.getNote("Note 3").getPosition().isFolded());
assertTrue(shelf.getNote("Note 4").getPosition().isFolded());
assertTrue(shelf.getNote("Note 5").getPosition().isFolded());
/* Unfold all. */
shelf.cycleVisibility(book);
assertFalse(shelf.getNote("Note 1").getPosition().isFolded());
assertFalse(shelf.getNote("Note 2").getPosition().isFolded());
assertFalse(shelf.getNote("Note 3").getPosition().isFolded());
assertFalse(shelf.getNote("Note 4").getPosition().isFolded());
assertFalse(shelf.getNote("Note 5").getPosition().isFolded());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testCutAndPaste.
/* Make sure root node's rgt is larger then notes'. */
@Test
public void testCutAndPaste() throws IOException {
Book book = shelfTestUtils.setupBook("notebook", "* Note 1\n* Note 2");
shelf.cut(book.getId(), shelf.getNote("Note 1").getId());
shelf.paste(book.getId(), shelf.getNote("Note 2").getId(), Place.BELOW);
// Note with ID 3 is root note
assertTrue(shelf.getNote(3).getPosition().getRgt() > shelf.getNote("Note 1").getPosition().getRgt());
assertTrue(shelf.getNote(3).getPosition().getRgt() > shelf.getNote("Note 2").getPosition().getRgt());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class StructureTest method testNewNoteUnder.
@Test
public void testNewNoteUnder() throws IOException {
Book book = shelfTestUtils.setupBook("notebook", "description\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "** Note 1.2\n");
NotePosition note1, note11, note111, note12, note112;
note1 = shelf.getNote("Note 1").getPosition();
note11 = shelf.getNote("Note 1.1").getPosition();
note111 = shelf.getNote("Note 1.1.1").getPosition();
note12 = shelf.getNote("Note 1.2").getPosition();
assertTrue(note1.getLft() < note11.getLft());
assertTrue(note11.getLft() < note111.getLft());
assertTrue(note111.getLft() < note111.getRgt());
assertTrue(note111.getRgt() < note11.getRgt());
assertTrue(note11.getRgt() < note12.getLft());
assertTrue(note12.getLft() < note12.getRgt());
assertTrue(note12.getRgt() < note1.getRgt());
assertEquals(3, note1.getDescendantsCount());
assertEquals(1, note11.getDescendantsCount());
assertEquals(0, note111.getDescendantsCount());
assertEquals(0, note12.getDescendantsCount());
/* Create new note under Note 1.1. */
Note n = new Note();
n.getPosition().setBookId(book.getId());
n.getHead().setTitle("Note 1.1.2");
NotePlace target = new NotePlace(book.getId(), shelf.getNote("Note 1.1").getId(), Place.UNDER);
shelf.createNote(n, target);
note1 = shelf.getNote("Note 1").getPosition();
note11 = shelf.getNote("Note 1.1").getPosition();
note111 = shelf.getNote("Note 1.1.1").getPosition();
note112 = shelf.getNote("Note 1.1.2").getPosition();
note12 = shelf.getNote("Note 1.2").getPosition();
assertTrue(note1.getLft() < note11.getLft());
assertTrue(note11.getLft() < note111.getLft());
assertTrue(note111.getLft() < note111.getRgt());
assertTrue(note111.getRgt() < note112.getLft());
assertTrue(note112.getLft() < note112.getRgt());
assertTrue(note112.getRgt() < note11.getRgt());
assertTrue(note11.getRgt() < note12.getLft());
assertTrue(note12.getLft() < note12.getRgt());
assertTrue(note12.getRgt() < note1.getRgt());
assertEquals(4, note1.getDescendantsCount());
assertEquals(2, note11.getDescendantsCount());
assertEquals(0, note111.getDescendantsCount());
assertEquals(0, note112.getDescendantsCount());
assertEquals(0, note12.getDescendantsCount());
}
use of com.orgzly.android.Book in project orgzly-android by orgzly.
the class BookChooserActivity method onBookClicked.
@Override
public void onBookClicked(long bookId) {
if (action != null && action.equals(Intent.ACTION_CREATE_SHORTCUT)) {
// Get Book by its ID
Shelf shelf = new Shelf(this);
Book book = shelf.getBook(bookId);
if (book == null) {
Toast.makeText(this, R.string.book_does_not_exist_anymore, Toast.LENGTH_SHORT).show();
setResult(RESULT_CANCELED);
finish();
return;
}
String id = "notebook-" + bookId;
String name = book.getName();
String title = BookUtils.getFragmentTitleForBook(book);
Intent launchIntent = createLaunchIntent(book);
IconCompat icon = createIcon();
ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(this, id).setShortLabel(name).setLongLabel(title).setIcon(icon).setIntent(launchIntent).build();
setResult(RESULT_OK, ShortcutManagerCompat.createShortcutResultIntent(this, shortcut));
finish();
}
}
Aggregations