[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/Folder/tests - testFolderLimit.py:1.1.2.1

Stephan Richter srichter@cbu.edu
Mon, 4 Mar 2002 00:54:44 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Folder/tests
In directory cvs.zope.org:/tmp/cvs-serv25134/Folder/tests

Added Files:
      Tag: srichter-OFS_Formulator-branch
	testFolderLimit.py 
Log Message:
Here are some of the changes:

- XML-RPC View for Folders; methods are far from being complete, however
  it is the proof of concept; it works.

- Experimental XUL code in folder that shows a tree, a menu and the limit 
  view.

- File can now be viewed like an Image. Since it also sets the right 
  content type, it is even more useful for some of the development.

- ZPTPages are the last content object to be "formulatorized". Now they 
  also entered the new generation code.

ToDo:

- Make tests.

- Update interfaces.

- Get a client side XML-RPC client talk from the browser with Zope to save
  values. 

- Get a tutorial going, so that the ZMI sprinters and developers can make
  use of the technology



=== Added File Zope3/lib/python/Zope/App/OFS/Folder/tests/testFolderLimit.py ===
##############################################################################
#
# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
# All Rights Reserved.
# 
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
# 
##############################################################################

import unittest

from Zope.App.OFS.Folder.LoadedFolder import LoadedFolder
from Zope.App.OFS.Folder.FolderLimit import FolderLimitExeededError

class Object:
    """Object stub"""


class Test( unittest.TestCase ):
    

    def testSetLimit( self ):
        """ """
        loadedfolder = LoadedFolder()
        
        loadedfolder.setLimit(5) 
        self.assertEquals( loadedfolder._limit, 5 )


    def testGetLimit( self ):
        """ """
        loadedfolder = LoadedFolder()
        
        loadedfolder._limit = 5 
        self.assertEquals( loadedfolder.getLimit(), 5 )


    def testLimitReach(self):
        """ """
        loadedfolder = LoadedFolder()
        loadedfolder.setObject('object1', Object())
        loadedfolder._limit = 2 

        # A second one should fit in
        self.failIf(loadedfolder.setObject('object2', Object()))
        
        # But with 3 go on strike
        self.assertRaises( FolderLimitExeededError,
                           loadedfolder.setObject,
                           'object3', Object() )
         
                
    

def test_suite():
    loader = unittest.TestLoader()
    return loader.loadTestsFromTestCase( Test )

if __name__=='__main__':
    unittest.main()