Example usage for org.springframework.data.domain Page getTotalPages

List of usage examples for org.springframework.data.domain Page getTotalPages

Introduction

In this page you can find the example usage for org.springframework.data.domain Page getTotalPages.

Prototype

int getTotalPages();

Source Link

Document

Returns the number of total pages.

Usage

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * normal case 5./*from w  w  w.  j ava2 s  .  c  o m*/
 * 
 * <pre>
 *  - current page 95 = total - maxDisplayCount/2
 *  - page size 10
 *  - total pages 100
 *  - total elements 1000
 * </pre>
 */
@Test
public void testDoStartTagInternal05() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(95);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?page=0&size=10\">&lt;&lt;</a></li><li><a href=\"?page=94&size=10\">&lt;</a></li><li><a href=\"?page=90&size=10\">91</a></li><li><a href=\"?page=91&size=10\">92</a></li><li><a href=\"?page=92&size=10\">93</a></li><li><a href=\"?page=93&size=10\">94</a></li><li><a href=\"?page=94&size=10\">95</a></li><li class=\"active\"><a href=\"javascript:void(0)\">96</a></li><li><a href=\"?page=96&size=10\">97</a></li><li><a href=\"?page=97&size=10\">98</a></li><li><a href=\"?page=98&size=10\">99</a></li><li><a href=\"?page=99&size=10\">100</a></li><li><a href=\"?page=96&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * normal case 6.//from  w  ww.  ja va  2s .  co  m
 * 
 * <pre>
 *  - current page 99 = last page
 *  - page size 10
 *  - total pages 100
 *  - total elements 1000
 * </pre>
 */
@Test
public void testDoStartTagInternal06() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(99);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?page=0&size=10\">&lt;&lt;</a></li><li><a href=\"?page=98&size=10\">&lt;</a></li><li><a href=\"?page=90&size=10\">91</a></li><li><a href=\"?page=91&size=10\">92</a></li><li><a href=\"?page=92&size=10\">93</a></li><li><a href=\"?page=93&size=10\">94</a></li><li><a href=\"?page=94&size=10\">95</a></li><li><a href=\"?page=95&size=10\">96</a></li><li><a href=\"?page=96&size=10\">97</a></li><li><a href=\"?page=97&size=10\">98</a></li><li><a href=\"?page=98&size=10\">99</a></li><li class=\"active\"><a href=\"javascript:void(0)\">100</a></li><li class=\"disabled\"><a href=\"javascript:void(0)\">&gt;</a></li><li class=\"disabled\"><a href=\"javascript:void(0)\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * abnormal case 1.//from   ww w . j av a 2 s. co m
 * 
 * <pre>
 *  - total elements 0
 * </pre>
 */
@Test
public void testDoStartTagInternal08() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(20);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(0L);

    tag.setPage(page);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * normal case 7./* www  .j  a  v a 2 s  .c  om*/
 * 
 * <pre>
 *  - current page 100 > last page
 *  - page size 10
 *  - total pages 100
 *  - total elements 1000
 * </pre>
 */
@Test
public void testDoStartTagInternal07() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(100);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?page=0&size=10\">&lt;&lt;</a></li><li><a href=\"?page=99&size=10\">&lt;</a></li><li><a href=\"?page=90&size=10\">91</a></li><li><a href=\"?page=91&size=10\">92</a></li><li><a href=\"?page=92&size=10\">93</a></li><li><a href=\"?page=93&size=10\">94</a></li><li><a href=\"?page=94&size=10\">95</a></li><li><a href=\"?page=95&size=10\">96</a></li><li><a href=\"?page=96&size=10\">97</a></li><li><a href=\"?page=97&size=10\">98</a></li><li><a href=\"?page=98&size=10\">99</a></li><li><a href=\"?page=99&size=10\">100</a></li><li><a href=\"?page=101&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * customized case 7.//w ww .  jav a2s. co  m
 * 
 * <pre>
 * -outer tag class change.
 * </pre>
 */
@Test
public void testDoStartTagInternal17() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(0);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    // customize
    tag.setOuterElementClass("all");

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul class=\"all\"><li class=\"disabled\"><a href=\"javascript:void(0)\">&lt;&lt;</a></li><li class=\"disabled\"><a href=\"javascript:void(0)\">&lt;</a></li><li class=\"active\"><a href=\"javascript:void(0)\">1</a></li><li><a href=\"?page=1&size=10\">2</a></li><li><a href=\"?page=2&size=10\">3</a></li><li><a href=\"?page=3&size=10\">4</a></li><li><a href=\"?page=4&size=10\">5</a></li><li><a href=\"?page=5&size=10\">6</a></li><li><a href=\"?page=6&size=10\">7</a></li><li><a href=\"?page=7&size=10\">8</a></li><li><a href=\"?page=8&size=10\">9</a></li><li><a href=\"?page=9&size=10\">10</a></li><li><a href=\"?page=1&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * customized case 1.//from ww w  .jav  a 2 s. c  om
 * 
 * <pre>
 * -queryTmpl
 * </pre>
 */
@Test
public void testDoStartTagInternal10() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(20);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    // customize
    tag.setQueryTmpl("p={page}&s={size}");

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?p=0&s=10\">&lt;&lt;</a></li><li><a href=\"?p=19&s=10\">&lt;</a></li><li><a href=\"?p=15&s=10\">16</a></li><li><a href=\"?p=16&s=10\">17</a></li><li><a href=\"?p=17&s=10\">18</a></li><li><a href=\"?p=18&s=10\">19</a></li><li><a href=\"?p=19&s=10\">20</a></li><li class=\"active\"><a href=\"javascript:void(0)\">21</a></li><li><a href=\"?p=21&s=10\">22</a></li><li><a href=\"?p=22&s=10\">23</a></li><li><a href=\"?p=23&s=10\">24</a></li><li><a href=\"?p=24&s=10\">25</a></li><li><a href=\"?p=21&s=10\">&gt;</a></li><li><a href=\"?p=99&s=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * customized case 3./*from   ww w.j a va 2 s  . co m*/
 * 
 * <pre>
 * -maxDisplayCount
 * </pre>
 */
@Test
public void testDoStartTagInternal13() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(20);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    // customize
    tag.setMaxDisplayCount(5);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?page=0&size=10\">&lt;&lt;</a></li><li><a href=\"?page=19&size=10\">&lt;</a></li><li><a href=\"?page=18&size=10\">19</a></li><li><a href=\"?page=19&size=10\">20</a></li><li class=\"active\"><a href=\"javascript:void(0)\">21</a></li><li><a href=\"?page=21&size=10\">22</a></li><li><a href=\"?page=22&size=10\">23</a></li><li><a href=\"?page=21&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * customized case 2.//w w  w. ja va  2s.c om
 * 
 * <pre>
 * -pathTmpl
 * </pre>
 */
@Test
public void testDoStartTagInternal11() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(20);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    // customize
    tag.setPathTmpl("p/{page}/{size}/");
    tag.setQueryTmpl("");

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"p/0/10/\">&lt;&lt;</a></li><li><a href=\"p/19/10/\">&lt;</a></li><li><a href=\"p/15/10/\">16</a></li><li><a href=\"p/16/10/\">17</a></li><li><a href=\"p/17/10/\">18</a></li><li><a href=\"p/18/10/\">19</a></li><li><a href=\"p/19/10/\">20</a></li><li class=\"active\"><a href=\"javascript:void(0)\">21</a></li><li><a href=\"p/21/10/\">22</a></li><li><a href=\"p/22/10/\">23</a></li><li><a href=\"p/23/10/\">24</a></li><li><a href=\"p/24/10/\">25</a></li><li><a href=\"p/21/10/\">&gt;</a></li><li><a href=\"p/99/10/\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * customized case 2./*  w ww.j ava2  s .c  om*/
 * 
 * <pre>
 * -use sort order
 * </pre>
 */
@Test
public void testDoStartTagInternal12() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(20);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);
    when(page.getSort()).thenReturn(new Sort(new Sort.Order(Direction.DESC, "id")));

    tag.setPage(page);

    // customize
    tag.setQueryTmpl("page={page}&size={size}&sort={sortOrderProperty}&desc={sortOrderDirection}");

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?page=0&size=10&sort=id&desc=DESC\">&lt;&lt;</a></li><li><a href=\"?page=19&size=10&sort=id&desc=DESC\">&lt;</a></li><li><a href=\"?page=15&size=10&sort=id&desc=DESC\">16</a></li><li><a href=\"?page=16&size=10&sort=id&desc=DESC\">17</a></li><li><a href=\"?page=17&size=10&sort=id&desc=DESC\">18</a></li><li><a href=\"?page=18&size=10&sort=id&desc=DESC\">19</a></li><li><a href=\"?page=19&size=10&sort=id&desc=DESC\">20</a></li><li class=\"active\"><a href=\"javascript:void(0)\">21</a></li><li><a href=\"?page=21&size=10&sort=id&desc=DESC\">22</a></li><li><a href=\"?page=22&size=10&sort=id&desc=DESC\">23</a></li><li><a href=\"?page=23&size=10&sort=id&desc=DESC\">24</a></li><li><a href=\"?page=24&size=10&sort=id&desc=DESC\">25</a></li><li><a href=\"?page=21&size=10&sort=id&desc=DESC\">&gt;</a></li><li><a href=\"?page=99&size=10&sort=id&desc=DESC\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * customized case 4.//w ww  . j av a 2 s.  c o m
 * 
 * <pre>
 * -outerElement is empty
 * -innerElement
 * </pre>
 */
@Test
public void testDoStartTagInternal14() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(20);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    // customize
    tag.setOuterElement("");
    tag.setInnerElement("span");

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<span><a href=\"?page=0&size=10\">&lt;&lt;</a></span><span><a href=\"?page=19&size=10\">&lt;</a></span><span><a href=\"?page=15&size=10\">16</a></span><span><a href=\"?page=16&size=10\">17</a></span><span><a href=\"?page=17&size=10\">18</a></span><span><a href=\"?page=18&size=10\">19</a></span><span><a href=\"?page=19&size=10\">20</a></span><span class=\"active\"><a href=\"javascript:void(0)\">21</a></span><span><a href=\"?page=21&size=10\">22</a></span><span><a href=\"?page=22&size=10\">23</a></span><span><a href=\"?page=23&size=10\">24</a></span><span><a href=\"?page=24&size=10\">25</a></span><span><a href=\"?page=21&size=10\">&gt;</a></span><span><a href=\"?page=99&size=10\">&gt;&gt;</a></span>";
    assertThat(getOutput(), is(expected));
}