Test coverage for vnccollab.theme.form.plone_formwidget_autocomplete

vnccollab/      covered 69% (1245 of 4098 uncovered)
    theme/      covered 69% (1245 of 4098 uncovered)
        form/      covered 88% (4 of 35 uncovered)
            plone_formwidget_autocomplete.py      covered 88% (4 of 34 uncovered)

    1: from AccessControl import getSecurityManager
    1: from AccessControl import ClassSecurityInfo
    1: from Acquisition import Explicit
    1: from Acquisition.interfaces import IAcquirer
    1: from App.class_init import InitializeClass
    1: from Products.Five.browser import BrowserView
    1: from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
    1: import z3c.form.interfaces
    1: import z3c.form.widget
    1: import z3c.form.util
    1: from z3c.formwidget.query.widget import QuerySourceRadioWidget
    1: from z3c.formwidget.query.widget import QuerySourceCheckboxWidget
    1: from zope.interface import implementsOnly, implementer
       
    1: from plone.formwidget.autocomplete.interfaces import IAutocompleteWidget
    1: from plone.formwidget.autocomplete import widget as base
       
       
       # vipod: customize JavaScript template to work with jQuery UI autocomplete
       js_template = """\
       (function($) {
           $().ready(function() {
               $('#%(id)s-input-fields').data('klass','%(klass)s').data('title','%(title)s').data('input_type','%(input_type)s');
               $('#%(id)s-buttons-search').remove();
               $('#%(id)s-widgets-query').autocomplete({
                   source: function(request, response){
                     var suggest = [];
                     $.ajax({
                       'url': '%(url)s',
                       'type': 'get',
                       'data': {'q': request.term},
                       'dataType': 'text',
                       'async': false,
                       'success': function(data, statux, xhr) {
                         var items = data.split("\\n");
                         for (var i=0,o;o=items[i];i++) {
                           var parts = o.split('|');
                           suggest.push({'label':parts[1],'value':parts[0]});
                         }
                       },
                     });
                     return response(suggest);
                   },
                   minLength: %(minChars)d,
                   select: %(js_callback)s
               });
               %(js_extra)s
           });
       })(jQuery);
    1:     """
       
       
    2: class AutocompleteSelectionWidget(base.AutocompleteBase,
    1:     QuerySourceRadioWidget):
           """Autocomplete widget that allows single selection.
    1:     """
       
    1:     klass = u'autocomplete-selection-widget'
    1:     input_type = 'radio'
    1:     js_template = js_template
       
    2: class AutocompleteMultiSelectionWidget(base.AutocompleteBase,
    1:                                        QuerySourceCheckboxWidget):
           """Autocomplete widget that allows multiple selection
    1:     """
       
    1:     klass = u'autocomplete-multiselection-widget'
    1:     input_type = 'checkbox'
    1:     js_template = js_template
       
    1: @implementer(z3c.form.interfaces.IFieldWidget)
       def AutocompleteFieldWidget(field, request):
>>>>>> return z3c.form.widget.FieldWidget(field,
>>>>>> AutocompleteSelectionWidget(request))
1: @implementer(z3c.form.interfaces.IFieldWidget) def AutocompleteMultiFieldWidget(field, request):
>>>>>> return z3c.form.widget.FieldWidget(field,
>>>>>> AutocompleteMultiSelectionWidget(request))