t/iterator.t - lemplate

  1. # vim:set ft= ts=4 sw=4 et fdm=marker:

  2. use t::TestLemplate;

  3. plan tests => 1 * blocks();

  4. $ENV{LEMPLATE_POST_CHOMP} = 1;

  5. run_tests;

  6. __DATA__

  7. === TEST 1: line 1
  8. --- tt2
  9. [% items = [ 'foo' 'bar' 'baz' 'qux' ] %]
  10. [% FOREACH i = items %]
  11.    * [% i +%]
  12. [% END %]

  13. --- out
  14.    * foo
  15.    * bar
  16.    * baz
  17.    * qux



  18. === TEST 2: line 99
  19. --- tt2
  20. [% items = [ 'foo' 'bar' 'baz' 'qux' ] %]
  21. [% FOREACH i = items %]
  22.    #[% loop.index %]/[% loop.max %] [% i +%]
  23. [% END %]

  24. --- out
  25.    #0/3 foo
  26.    #1/3 bar
  27.    #2/3 baz
  28.    #3/3 qux



  29. === TEST 3: line 110
  30. --- tt2
  31. [% items = [ 'foo' 'bar' 'baz' 'qux' ] %]
  32. [% FOREACH i = items %]
  33.    #[% loop.count %]/[% loop.size %] [% i +%]
  34. [% END %]

  35. --- out
  36.    #1/4 foo
  37.    #2/4 bar
  38.    #3/4 baz
  39.    #4/4 qux



  40. === TEST 4: line 121
  41. --- SKIP
  42. --- tt2
  43. [% items = [ 'foo' 'bar' 'baz' 'qux' ] %]
  44. [% FOREACH i = items %]
  45.    #[% loop.number %]/[% loop.size %] [% i +%]
  46. [% END %]

  47. --- out
  48.    #1/4 foo
  49.    #2/4 bar
  50.    #3/4 baz
  51.    #4/4 qux



  52. === TEST 5: line 134
  53. --- tt2
  54. [% USE iterator(data) %]
  55. [% FOREACH i = iterator %]
  56. [% IF iterator.first %]
  57. List of items:
  58. [% END %]
  59.    * [% i +%]
  60. [% IF iterator.last %]
  61. End of list
  62. [% END %]
  63. [% END %]

  64. --- define
  65. data = {'foo', 'bar', 'baz', 'qux', 'wiz', 'woz', 'waz'}
  66. --- out
  67. List of items:
  68.    * foo
  69.    * bar
  70.    * baz
  71.    * qux
  72.    * wiz
  73.    * woz
  74.    * waz
  75. End of list



  76. === TEST 6: line 157
  77. --- tt2
  78. [% FOREACH i = [ 'foo' 'bar' 'baz' 'qux' ] %]
  79. [% "$loop.prev<-" IF loop.prev -%][[% i -%]][% "->$loop.next" IF loop.next +%]
  80. [% END %]

  81. --- out
  82. [foo]->bar
  83. foo<-[bar]->baz
  84. bar<-[baz]->qux
  85. baz<-[qux]