@@ -539,6 +539,187 @@ QUnit.test("Category - xml - two list", function( assert ) {
539539 assert . equal ( "Yam" , elements . eq ( 11 ) . find ( "div" ) . text ( ) , "Last element value" ) ;
540540
541541
542+ QUnit . start ( ) ;
543+ }
544+ } ) ;
545+
546+ QUnit . test ( "Category and processData - sort" , function ( assert ) {
547+ expect ( 15 ) ;
548+
549+ //given
550+ var completerOne = new EasyAutocomplete . main ( $ ( "#inputOne" ) ,
551+ {
552+ categories : [ {
553+ listLocation : "fruits" ,
554+ header : "--- FRUITS ---"
555+ } , {
556+ listLocation : "vegetables" ,
557+ header : "--- vegetables ---"
558+ } ] ,
559+ url : "resources/categories.json" ,
560+
561+ list : {
562+ sort : {
563+ enabled : true
564+ }
565+ } ,
566+
567+ ajaxCallback : function ( ) {
568+
569+ //assert
570+ assertList ( ) ;
571+ }
572+ } ) ;
573+
574+
575+ //execute
576+ completerOne . init ( ) ;
577+
578+ var e = $ . Event ( 'keyup' ) ;
579+ e . keyCode = 50 ;
580+ $ ( "#inputOne" ) . val ( "c" ) . trigger ( e ) ;
581+
582+
583+ QUnit . stop ( ) ;
584+
585+
586+ //assert
587+ function assertList ( ) {
588+ var elements = $ ( "#inputOne" ) . next ( ) . find ( "ul" ) . find ( " > div, > li" ) ;
589+
590+ assert . equal ( 14 , elements . length , "Response size" ) ;
591+ assert . equal ( "--- FRUITS ---" , elements . eq ( 0 ) . text ( ) , "Header - first category" ) ;
592+ assert . equal ( "Apple" , elements . eq ( 1 ) . find ( "div" ) . text ( ) , "Apple element value - first category" ) ;
593+ assert . equal ( "Cherry" , elements . eq ( 2 ) . find ( "div" ) . text ( ) , "Cherry element value - first category" ) ;
594+ assert . equal ( "Clementine" , elements . eq ( 3 ) . find ( "div" ) . text ( ) , "Clementine element value - first category" ) ;
595+ assert . equal ( "Honeydew melon" , elements . eq ( 4 ) . find ( "div" ) . text ( ) , "Honeydew melon element value - first category" ) ;
596+ assert . equal ( "Satsuma" , elements . eq ( 5 ) . find ( "div" ) . text ( ) , "Satsuma element value - first category" ) ;
597+ assert . equal ( "Watermelon" , elements . eq ( 6 ) . find ( "div" ) . text ( ) , "Watermelon element value - first category" ) ;
598+ assert . equal ( "--- vegetables ---" , elements . eq ( 7 ) . text ( ) , "Header - second category" ) ;
599+ assert . equal ( "Courgette" , elements . eq ( 8 ) . find ( "div" ) . text ( ) , "Courgette element value - second category" ) ;
600+ assert . equal ( "Fennel" , elements . eq ( 9 ) . find ( "div" ) . text ( ) , "Fennel element value - second category" ) ;
601+ assert . equal ( "Green bean" , elements . eq ( 10 ) . find ( "div" ) . text ( ) , "Green bean element value - second category" ) ;
602+ assert . equal ( "Jerusalem artichoke" , elements . eq ( 11 ) . find ( "div" ) . text ( ) , "Jerusalem artichoke element value - second category" ) ;
603+ assert . equal ( "Pepper" , elements . eq ( 12 ) . find ( "div" ) . text ( ) , "Pepper element value - second category" ) ;
604+ assert . equal ( "Yam" , elements . eq ( 13 ) . find ( "div" ) . text ( ) , "Yam element value - second category" ) ;
605+
606+ QUnit . start ( ) ;
607+ }
608+ } ) ;
609+
610+
611+ QUnit . test ( "Category and processData - match" , function ( assert ) {
612+ expect ( 9 ) ;
613+
614+ //given
615+ var completerOne = new EasyAutocomplete . main ( $ ( "#inputOne" ) ,
616+ {
617+ categories : [ {
618+ listLocation : "fruits" ,
619+ header : "--- FRUITS ---"
620+ } , {
621+ listLocation : "vegetables" ,
622+ header : "--- vegetables ---"
623+ } ] ,
624+ url : "resources/categories.json" ,
625+
626+ list : {
627+ match : {
628+ enabled : true
629+ }
630+ } ,
631+
632+ ajaxCallback : function ( ) {
633+
634+ //assert
635+ assertList ( ) ;
636+ }
637+ } ) ;
638+
639+
640+ //execute
641+ completerOne . init ( ) ;
642+
643+ var e = $ . Event ( 'keyup' ) ;
644+ e . keyCode = 50 ;
645+ $ ( "#inputOne" ) . val ( "a" ) . trigger ( e ) ;
646+
647+
648+ QUnit . stop ( ) ;
649+
650+
651+ //assert
652+ function assertList ( ) {
653+ var elements = $ ( "#inputOne" ) . next ( ) . find ( "ul" ) . find ( " > div, > li" ) ;
654+
655+ assert . equal ( 8 , elements . length , "Response size" ) ;
656+ assert . equal ( "--- FRUITS ---" , elements . eq ( 0 ) . text ( ) , "Header - first category" ) ;
657+ assert . equal ( "Apple" , elements . eq ( 1 ) . find ( "div" ) . text ( ) , "Apple element value - first category" ) ;
658+ assert . equal ( "Watermelon" , elements . eq ( 2 ) . find ( "div" ) . text ( ) , "Watermelon element value - first category" ) ;
659+ assert . equal ( "Satsuma" , elements . eq ( 3 ) . find ( "div" ) . text ( ) , "Satsuma element value - first category" ) ;
660+ assert . equal ( "--- vegetables ---" , elements . eq ( 4 ) . text ( ) , "Header - second category" ) ;
661+ assert . equal ( "Jerusalem artichoke" , elements . eq ( 5 ) . find ( "div" ) . text ( ) , "Jerusalem artichoke element value - second category" ) ;
662+ assert . equal ( "Green bean" , elements . eq ( 6 ) . find ( "div" ) . text ( ) , "Green bean element value - second category" ) ;
663+ assert . equal ( "Yam" , elements . eq ( 7 ) . find ( "div" ) . text ( ) , "Yam element value - second category" ) ;
664+
665+ QUnit . start ( ) ;
666+ }
667+ } ) ;
668+
669+ QUnit . test ( "Category and processData - maxNumberOfElements" , function ( assert ) {
670+ expect ( 11 ) ;
671+
672+ //given
673+ var completerOne = new EasyAutocomplete . main ( $ ( "#inputOne" ) ,
674+ {
675+ categories : [ {
676+ listLocation : "fruits" ,
677+ header : "--- FRUITS ---"
678+ } , {
679+ listLocation : "vegetables" ,
680+ header : "--- vegetables ---"
681+ } ] ,
682+ url : "resources/categories.json" ,
683+
684+ list : {
685+ maxNumberOfElements : 4
686+ } ,
687+
688+ ajaxCallback : function ( ) {
689+
690+ //assert
691+ assertList ( ) ;
692+ }
693+ } ) ;
694+
695+
696+ //execute
697+ completerOne . init ( ) ;
698+
699+ var e = $ . Event ( 'keyup' ) ;
700+ e . keyCode = 50 ;
701+ $ ( "#inputOne" ) . val ( "a" ) . trigger ( e ) ;
702+
703+
704+ QUnit . stop ( ) ;
705+
706+
707+ //assert
708+ function assertList ( ) {
709+ var elements = $ ( "#inputOne" ) . next ( ) . find ( "ul" ) . find ( " > div, > li" ) ;
710+
711+ assert . equal ( 10 , elements . length , "Response size" ) ;
712+ assert . equal ( "--- FRUITS ---" , elements . eq ( 0 ) . text ( ) , "Header - first category" ) ;
713+ assert . equal ( "Apple" , elements . eq ( 1 ) . find ( "div" ) . text ( ) , "Apple element value - first category" ) ;
714+ assert . equal ( "Cherry" , elements . eq ( 2 ) . find ( "div" ) . text ( ) , "Cherry element value - first category" ) ;
715+ assert . equal ( "Clementine" , elements . eq ( 3 ) . find ( "div" ) . text ( ) , "Clementine element value - first category" ) ;
716+ assert . equal ( "Honeydew melon" , elements . eq ( 4 ) . find ( "div" ) . text ( ) , "Honeydew melon element value - first category" ) ;
717+ assert . equal ( "--- vegetables ---" , elements . eq ( 5 ) . text ( ) , "Header - second category" ) ;
718+ assert . equal ( "Pepper" , elements . eq ( 6 ) . find ( "div" ) . text ( ) , "Pepper element value - second category" ) ;
719+ assert . equal ( "Jerusalem artichoke" , elements . eq ( 7 ) . find ( "div" ) . text ( ) , "Jerusalem artichoke element value - second category" ) ;
720+ assert . equal ( "Green bean" , elements . eq ( 8 ) . find ( "div" ) . text ( ) , "Green bean element value - second category" ) ;
721+ assert . equal ( "Fennel" , elements . eq ( 9 ) . find ( "div" ) . text ( ) , "Fennel element value - second category" ) ;
722+
542723 QUnit . start ( ) ;
543724 }
544725} ) ;
0 commit comments