test_is_content_empty.t 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. use strict;
  2. BEGIN {
  3. require Texinfo::ModulePath;
  4. Texinfo::ModulePath::init(undef, undef, 'updirs' => 2);
  5. }
  6. use Test::More;
  7. BEGIN { plan tests => 12; }
  8. use Texinfo::Parser qw(parse_texi_text);
  9. #use Texinfo::Convert::Texinfo;
  10. use Texinfo::Common;
  11. use Data::Dumper;
  12. ok(1, "modules loading");
  13. sub test_is_empty($$$;$)
  14. {
  15. my $name = shift;
  16. my $is_empty = shift;
  17. my $in = shift;
  18. my $do_not_ignore_index_entries = shift;
  19. my $tree = parse_texi_text(undef, $in);
  20. my $result = Texinfo::Common::is_content_empty($tree, $do_not_ignore_index_entries);
  21. if (not defined($is_empty)) {
  22. print STDERR " --> $name: $result\n";
  23. } else {
  24. is($result, $is_empty, $name);
  25. }
  26. }
  27. test_is_empty('empty', 1, '');
  28. test_is_empty('spaces', 1, ' ');
  29. test_is_empty('lines', 1, '
  30. ');
  31. test_is_empty('text', 0, 'truc'."\n");
  32. test_is_empty('heading', 0, '@heading truc'."\n");
  33. test_is_empty('index ignored', 1, '@cindex index'."\n");
  34. test_is_empty('index not ignored', 0, '@cindex index'."\n", 1);
  35. test_is_empty('ignored misc', 1, '@defindex idx'."\n");
  36. test_is_empty('ignored misc then text', 0, '@alias lang=lisp
  37. @AA{}.
  38. ');
  39. test_is_empty('@ignore', 1, '@ignore
  40. truc
  41. @end ignore
  42. ');
  43. test_is_empty('block command', 0, '@itemize @bullet
  44. @item truc
  45. @end itemize
  46. ');
  47. done_testing();