def test_attribute_override( self ):
        # NOTE: HiddenInputs do not get rendered with a label so do not test for that here
        logger.debug( "\n" )
        self.form.fields[ 'name' ] = zHiddenInput( **{
                'pattern' : '[0-9]' ,
                'id' : 'tinker_bot' ,
                'class' : 'real cool',
                'disabled' : True ,
                'readonly' : True ,
                'placeholder' : 'a_placeholder',
            } )
        rendering = self.form.as_p()
        logger.debug( "[ RENDERED FORM ]: %s" % rendering )
        soup = BS( rendering )
        tag = soup.input
        logger.debug( "[ TAG ATTRS ]: %s" % tag.attrs )

        #  assert lots
        self.assertEqual( tag.get( 'data-pattern', None ), '[0-9]' )
        self.assertEqual( tag.get( 'id', None ), 'tinker_bot' )
        self.assertEqual( tag.get( 'class', None ), [ 'real',  'cool' ] )
        self.assertEqual( tag.get( 'disabled', None ), 'disabled' )
        self.assertEqual( tag.get( 'readonly', None ), 'readonly' )
        self.assertEqual( tag.get( 'placeholder', None ), 'a_placeholder' )
        logger.debug( "\n==================================================\n" )
 def test_eval_hidden_input( self ):
     logger.debug( "\n========================\n" )
     self.form.fields[ 'name' ] = zHiddenInput()
     rendering = self.form.as_p()
     logger.debug( "[ RENDERED FORM ]: %s\n" % rendering )
     soup = BS( rendering )
     tag = soup.input
     logger.debug( "[ TAG ATTRS ]: %s\n" % tag.attrs )
     self.assertEqual( tag[ 'type' ], 'hidden' )
     logger.debug( "\n==================================================\n" )
    def test_default_django_field_args( self ):
        logger.debug( "\n" )
        self.form.fields[ 'name' ] = zHiddenInput( **{
                'required' : True ,
                'initial' : 'stupid does' ,
            } )
        rendering = self.form.as_p()
        logger.debug( "[ RENDERED FORM ]: %s\n" % rendering )
        soup = BS( rendering )
        input_tag = soup.input
        logger.debug( "[ INPUT TAG ATTRS ]: %s\n" % input_tag.attrs )

        #  assert lots
        self.assertEqual( input_tag.attrs.get( 'required', None ), 'required' )
        self.assertEqual( input_tag[ 'value' ], 'stupid does' )
        logger.debug( "\n==================================================\n" )