[Checkins] SVN: grokcore.component/trunk/src/grokcore/component/tests/ rename tests modules to reflect component name

Jan-Wijbrand Kolman janwijbrand at gmail.com
Mon Feb 14 02:43:18 EST 2011


Log message for revision 120305:
  rename tests modules to reflect component name

Changed:
  D   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscribers.py
  A   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscriptions.py
  D   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscribers.py
  A   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscriptions.py
  D   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscribers.py
  A   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscriptions.py
  D   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers.py
  D   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_context.py
  D   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_interface.py
  A   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions.py
  A   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions_no_context.py
  A   grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions_no_interface.py
  U   grokcore.component/trunk/src/grokcore/component/tests/test_grok.py

-=-
Deleted: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscribers.py
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscribers.py	2011-02-14 07:41:52 UTC (rev 120304)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscribers.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -1,98 +0,0 @@
-"""
-  >>> grok.testing.grok(__name__)
-
-  >>> cave = Cave('Tilburg cave')
-  >>> martijn = Mammoth('Martijn')
-
-  You can query a subscribers using multiple components. You will get
-  all subscribers registered for office and cave (since office is a
-  base class of cave):
-
-  >>> subscribers = grok.queryMultiSubscriptions((cave, martijn), IActivity)
-  >>> subscribers
-  [<grokcore.component.tests.subscriber.multisubscribers.Sleep object at ...>,
-   <grokcore.component.tests.subscriber.multisubscribers.Food object at ...>,
-   <grokcore.component.tests.subscriber.multisubscribers.WritingCode object at ...>]
-
-  >>> _ = map(lambda s: s.do(), subscribers)
-  Martijn is sleeping at Tilburg cave.
-  Martijn is feeding himself at Tilburg cave.
-  Martijn is writing code at Tilburg cave!
-
-
-  Now, Martijn goes to the office. You will only get subscribers
-  registered for office:
-
-  >>> office = Office('Grok corp(r)(tm) headquarters')
-  >>> office_subscribers = grok.queryMultiSubscriptions(
-  ...     (office, martijn), IActivity)
-  >>> office_subscribers
-  [<grokcore.component.tests.subscriber.multisubscribers.Sleep object at ...>]
-
-  >>> _ = map(lambda s: s.do(), office_subscribers)
-  Martijn is sleeping at Grok corp(r)(tm) headquarters.
-
-"""
-
-import grokcore.component as grok
-from zope import interface
-
-
-class Office(grok.Context):
-
-    def __init__(self, name):
-        self.name = name
-
-
-# All caves are a kind of office.
-class Cave(Office):
-    pass
-
-
-class Mammoth(grok.Context):
-
-    def __init__(self, name):
-        self.name = name
-
-
-class IActivity(interface.Interface):
-
-    def do():
-        """Do something.
-        """
-
-class Sleep(grok.MultiSubscription):
-    grok.implements(IActivity)
-    grok.adapts(Office, Mammoth)
-
-    def __init__(self, where, who):
-        self.where = where
-        self.who = who
-
-    def do(self):
-        print '%s is sleeping at %s.' % (self.who.name, self.where.name)
-
-
-class DayTimeActivity(grok.MultiSubscription):
-    grok.implements(IActivity)
-    grok.adapts(Cave, Mammoth)
-    grok.baseclass()
-
-    def __init__(self, where, who):
-        self.where = where
-        self.who = who
-
-    def do(self):
-        print 'nothing'
-
-
-class Food(DayTimeActivity):
-
-    def do(self):
-        print '%s is feeding himself at %s.' % (self.who.name, self.where.name)
-
-
-class WritingCode(DayTimeActivity):
-
-    def do(self):
-        print '%s is writing code at %s!' % (self.who.name, self.where.name)

Copied: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscriptions.py (from rev 120304, grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscribers.py)
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscriptions.py	                        (rev 0)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/multisubscriptions.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -0,0 +1,98 @@
+"""
+  >>> grok.testing.grok(__name__)
+
+  >>> cave = Cave('Tilburg cave')
+  >>> martijn = Mammoth('Martijn')
+
+  You can query a subscribers using multiple components. You will get
+  all subscribers registered for office and cave (since office is a
+  base class of cave):
+
+  >>> subscribers = grok.queryMultiSubscriptions((cave, martijn), IActivity)
+  >>> subscribers
+  [<grokcore.component.tests.subscriber.multisubscribers.Sleep object at ...>,
+   <grokcore.component.tests.subscriber.multisubscribers.Food object at ...>,
+   <grokcore.component.tests.subscriber.multisubscribers.WritingCode object at ...>]
+
+  >>> _ = map(lambda s: s.do(), subscribers)
+  Martijn is sleeping at Tilburg cave.
+  Martijn is feeding himself at Tilburg cave.
+  Martijn is writing code at Tilburg cave!
+
+
+  Now, Martijn goes to the office. You will only get subscribers
+  registered for office:
+
+  >>> office = Office('Grok corp(r)(tm) headquarters')
+  >>> office_subscribers = grok.queryMultiSubscriptions(
+  ...     (office, martijn), IActivity)
+  >>> office_subscribers
+  [<grokcore.component.tests.subscriber.multisubscribers.Sleep object at ...>]
+
+  >>> _ = map(lambda s: s.do(), office_subscribers)
+  Martijn is sleeping at Grok corp(r)(tm) headquarters.
+
+"""
+
+import grokcore.component as grok
+from zope import interface
+
+
+class Office(grok.Context):
+
+    def __init__(self, name):
+        self.name = name
+
+
+# All caves are a kind of office.
+class Cave(Office):
+    pass
+
+
+class Mammoth(grok.Context):
+
+    def __init__(self, name):
+        self.name = name
+
+
+class IActivity(interface.Interface):
+
+    def do():
+        """Do something.
+        """
+
+class Sleep(grok.MultiSubscription):
+    grok.implements(IActivity)
+    grok.adapts(Office, Mammoth)
+
+    def __init__(self, where, who):
+        self.where = where
+        self.who = who
+
+    def do(self):
+        print '%s is sleeping at %s.' % (self.who.name, self.where.name)
+
+
+class DayTimeActivity(grok.MultiSubscription):
+    grok.implements(IActivity)
+    grok.adapts(Cave, Mammoth)
+    grok.baseclass()
+
+    def __init__(self, where, who):
+        self.where = where
+        self.who = who
+
+    def do(self):
+        print 'nothing'
+
+
+class Food(DayTimeActivity):
+
+    def do(self):
+        print '%s is feeding himself at %s.' % (self.who.name, self.where.name)
+
+
+class WritingCode(DayTimeActivity):
+
+    def do(self):
+        print '%s is writing code at %s!' % (self.who.name, self.where.name)

Deleted: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscribers.py
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscribers.py	2011-02-14 07:41:52 UTC (rev 120304)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscribers.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -1,97 +0,0 @@
-"""
-  >>> grok.testing.grok(__name__)
-
-  >>> cave = Cave('Tilburg cave')
-  >>> martijn = Mammoth('Martijn')
-
-  You can query a subscribers using multiple components and sort them
-  using `grok.order` information:
-
-  >>> ordered_subscribers = grok.queryOrderedMultiSubscriptions(
-  ...     (cave, martijn), IActivity)
-  >>> ordered_subscribers
-  [<grokcore.component.tests.subscriber.ordered_multisubscribers.Cooking object at ...>,
-   <grokcore.component.tests.subscriber.ordered_multisubscribers.Gardening object at ...>,
-   <grokcore.component.tests.subscriber.ordered_multisubscribers.Cleaning object at ...>]
-
-  >>> _ = map(lambda a: a.do(), ordered_subscribers)
-  Martijn is cooking in Tilburg cave!
-  Martijn is growing pumpkins in Tilburg cave!
-  Martijn is cleaning the Tilburg cave.
-
-  Or choose not to:
-
-  >>> subscribers = grok.queryMultiSubscriptions(
-  ...     (cave, martijn), IActivity)
-
-  (still need to sort them on class name in order to have a working doctest)
-
-  >>> subscribers = sorted(subscribers, key=lambda s: s.__class__.__name__)
-  >>> subscribers
-  [<grokcore.component.tests.subscriber.ordered_multisubscribers.Cleaning object at ...>,
-   <grokcore.component.tests.subscriber.ordered_multisubscribers.Cooking object at ...>,
-   <grokcore.component.tests.subscriber.ordered_multisubscribers.Gardening object at ...>]
-
-  >>> _ = map(lambda a: a.do(), subscribers)
-  Martijn is cleaning the Tilburg cave.
-  Martijn is cooking in Tilburg cave!
-  Martijn is growing pumpkins in Tilburg cave!
-
-
-"""
-
-import grokcore.component as grok
-from zope import interface
-
-
-class Cave(grok.Context):
-
-    def __init__(self, name):
-        self.name = name
-
-
-class Mammoth(grok.Context):
-
-    def __init__(self, name):
-        self.name = name
-
-
-class IActivity(interface.Interface):
-
-    def do():
-        """Do something.
-        """
-
-
-class DayTimeActivity(grok.MultiSubscription):
-    grok.provides(IActivity)
-    grok.adapts(Cave, Mammoth)
-    grok.baseclass()
-
-    def __init__(self, where, who):
-        self.where = where
-        self.who = who
-
-    def do(self):
-        print 'Doing nothing.'
-
-
-class Cleaning(DayTimeActivity):
-    grok.order(99)
-
-    def do(self):
-        print '%s is cleaning the %s.' % (self.who.name, self.where.name)
-
-
-class Cooking(DayTimeActivity):
-    grok.order(10)
-
-    def do(self):
-        print '%s is cooking in %s!' % (self.who.name, self.where.name)
-
-
-class Gardening(DayTimeActivity):
-    grok.order(15)
-
-    def do(self):
-        print '%s is growing pumpkins in %s!' % (self.who.name, self.where.name)

Copied: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscriptions.py (from rev 120304, grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscribers.py)
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscriptions.py	                        (rev 0)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_multisubscriptions.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -0,0 +1,97 @@
+"""
+  >>> grok.testing.grok(__name__)
+
+  >>> cave = Cave('Tilburg cave')
+  >>> martijn = Mammoth('Martijn')
+
+  You can query a subscribers using multiple components and sort them
+  using `grok.order` information:
+
+  >>> ordered_subscribers = grok.queryOrderedMultiSubscriptions(
+  ...     (cave, martijn), IActivity)
+  >>> ordered_subscribers
+  [<grokcore.component.tests.subscriber.ordered_multisubscribers.Cooking object at ...>,
+   <grokcore.component.tests.subscriber.ordered_multisubscribers.Gardening object at ...>,
+   <grokcore.component.tests.subscriber.ordered_multisubscribers.Cleaning object at ...>]
+
+  >>> _ = map(lambda a: a.do(), ordered_subscribers)
+  Martijn is cooking in Tilburg cave!
+  Martijn is growing pumpkins in Tilburg cave!
+  Martijn is cleaning the Tilburg cave.
+
+  Or choose not to:
+
+  >>> subscribers = grok.queryMultiSubscriptions(
+  ...     (cave, martijn), IActivity)
+
+  (still need to sort them on class name in order to have a working doctest)
+
+  >>> subscribers = sorted(subscribers, key=lambda s: s.__class__.__name__)
+  >>> subscribers
+  [<grokcore.component.tests.subscriber.ordered_multisubscribers.Cleaning object at ...>,
+   <grokcore.component.tests.subscriber.ordered_multisubscribers.Cooking object at ...>,
+   <grokcore.component.tests.subscriber.ordered_multisubscribers.Gardening object at ...>]
+
+  >>> _ = map(lambda a: a.do(), subscribers)
+  Martijn is cleaning the Tilburg cave.
+  Martijn is cooking in Tilburg cave!
+  Martijn is growing pumpkins in Tilburg cave!
+
+
+"""
+
+import grokcore.component as grok
+from zope import interface
+
+
+class Cave(grok.Context):
+
+    def __init__(self, name):
+        self.name = name
+
+
+class Mammoth(grok.Context):
+
+    def __init__(self, name):
+        self.name = name
+
+
+class IActivity(interface.Interface):
+
+    def do():
+        """Do something.
+        """
+
+
+class DayTimeActivity(grok.MultiSubscription):
+    grok.provides(IActivity)
+    grok.adapts(Cave, Mammoth)
+    grok.baseclass()
+
+    def __init__(self, where, who):
+        self.where = where
+        self.who = who
+
+    def do(self):
+        print 'Doing nothing.'
+
+
+class Cleaning(DayTimeActivity):
+    grok.order(99)
+
+    def do(self):
+        print '%s is cleaning the %s.' % (self.who.name, self.where.name)
+
+
+class Cooking(DayTimeActivity):
+    grok.order(10)
+
+    def do(self):
+        print '%s is cooking in %s!' % (self.who.name, self.where.name)
+
+
+class Gardening(DayTimeActivity):
+    grok.order(15)
+
+    def do(self):
+        print '%s is growing pumpkins in %s!' % (self.who.name, self.where.name)

Deleted: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscribers.py
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscribers.py	2011-02-14 07:41:52 UTC (rev 120304)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscribers.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -1,71 +0,0 @@
-"""
-  >>> grok.testing.grok(__name__)
-
-  >>> cave = Cave()
-
-  You can query the subscribers and sort them with the information
-  provided by grok.order:
-
-  >>> ordered_subscribers = grok.queryOrderedSubscriptions(cave, ICleaner)
-  >>> ordered_subscribers
-  [<grokcore.component.tests.subscriber.ordered_subscribers.MondayCleaner object at ...>,
-   <grokcore.component.tests.subscriber.ordered_subscribers.WednesdayCleaner object at ...>,
-   <grokcore.component.tests.subscriber.ordered_subscribers.SaturdayCleaner object at ...>]
-
-  >>> _ = map(lambda s: s.work(), ordered_subscribers)
-  Monday cleaning!
-  Wednesday cleaning!
-  Saturday cleaning!
-
-  If you use the regular query method, they won't be sorted:
-
-  >>> subscribers = grok.querySubscriptions(cave, ICleaner)
-  >>> subscribers
-  [<grokcore.component.tests.subscriber.ordered_subscribers.MondayCleaner object at ...>,
-   <grokcore.component.tests.subscriber.ordered_subscribers.SaturdayCleaner object at ...>,
-   <grokcore.component.tests.subscriber.ordered_subscribers.WednesdayCleaner object at ...>]
-
-  >>> _ = map(lambda s: s.work(), subscribers)
-  Monday cleaning!
-  Saturday cleaning!
-  Wednesday cleaning!
-
-"""
-
-import grokcore.component as grok
-from zope import interface
-
-
-class Cave(grok.Context):
-    pass
-
-
-class ICleaner(interface.Interface):
-
-    def work():
-        """Clean that cave.
-        """
-
-class MondayCleaner(grok.Subscription):
-    grok.implements(ICleaner)
-    grok.order(1)
-
-    def work(self):
-        print 'Monday cleaning!'
-
-
-class WednesdayCleaner(grok.Subscription):
-    grok.implements(ICleaner)
-    grok.order(3)
-
-    def work(self):
-        print 'Wednesday cleaning!'
-
-
-class SaturdayCleaner(grok.Subscription):
-    grok.implements(ICleaner)
-    grok.order(6)
-
-    def work(self):
-        print 'Saturday cleaning!'
-

Copied: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscriptions.py (from rev 120304, grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscribers.py)
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscriptions.py	                        (rev 0)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/ordered_subscriptions.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -0,0 +1,71 @@
+"""
+  >>> grok.testing.grok(__name__)
+
+  >>> cave = Cave()
+
+  You can query the subscribers and sort them with the information
+  provided by grok.order:
+
+  >>> ordered_subscribers = grok.queryOrderedSubscriptions(cave, ICleaner)
+  >>> ordered_subscribers
+  [<grokcore.component.tests.subscriber.ordered_subscribers.MondayCleaner object at ...>,
+   <grokcore.component.tests.subscriber.ordered_subscribers.WednesdayCleaner object at ...>,
+   <grokcore.component.tests.subscriber.ordered_subscribers.SaturdayCleaner object at ...>]
+
+  >>> _ = map(lambda s: s.work(), ordered_subscribers)
+  Monday cleaning!
+  Wednesday cleaning!
+  Saturday cleaning!
+
+  If you use the regular query method, they won't be sorted:
+
+  >>> subscribers = grok.querySubscriptions(cave, ICleaner)
+  >>> subscribers
+  [<grokcore.component.tests.subscriber.ordered_subscribers.MondayCleaner object at ...>,
+   <grokcore.component.tests.subscriber.ordered_subscribers.SaturdayCleaner object at ...>,
+   <grokcore.component.tests.subscriber.ordered_subscribers.WednesdayCleaner object at ...>]
+
+  >>> _ = map(lambda s: s.work(), subscribers)
+  Monday cleaning!
+  Saturday cleaning!
+  Wednesday cleaning!
+
+"""
+
+import grokcore.component as grok
+from zope import interface
+
+
+class Cave(grok.Context):
+    pass
+
+
+class ICleaner(interface.Interface):
+
+    def work():
+        """Clean that cave.
+        """
+
+class MondayCleaner(grok.Subscription):
+    grok.implements(ICleaner)
+    grok.order(1)
+
+    def work(self):
+        print 'Monday cleaning!'
+
+
+class WednesdayCleaner(grok.Subscription):
+    grok.implements(ICleaner)
+    grok.order(3)
+
+    def work(self):
+        print 'Wednesday cleaning!'
+
+
+class SaturdayCleaner(grok.Subscription):
+    grok.implements(ICleaner)
+    grok.order(6)
+
+    def work(self):
+        print 'Saturday cleaning!'
+

Deleted: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers.py
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers.py	2011-02-14 07:41:52 UTC (rev 120304)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -1,58 +0,0 @@
-"""
-  >>> grok.testing.grok(__name__)
-
-  >>> cave = Cave('sweet home')
-
-  >>> subscribers = grok.querySubscriptions(cave, ICleaner)
-  >>> subscribers
-  [<grokcore.component.tests.subscriber.subscribers.MondayCleaner object at ...>,
-   <grokcore.component.tests.subscriber.subscribers.SaturdayCleaner object at ...>,
-   <grokcore.component.tests.subscriber.subscribers.WednesdayCleaner object at ...>]
-
-  >>> _ = map(lambda s: s.work(), subscribers)
-  Monday cleaning sweet home!
-  Saturday cleaning sweet home!
-  Wednesday cleaning sweet home!
-
-  Subscription adapters are not registered as regular adapters:
-
-  >>> component.queryAdapter(cave, ICleaner)
-
-"""
-
-import grokcore.component as grok
-from zope import interface, component
-
-
-class Cave(grok.Context):
-
-    def __init__(self, name):
-        self.name = name
-
-
-class ICleaner(interface.Interface):
-
-    def work():
-        """Clean that cave.
-        """
-
-class MondayCleaner(grok.Subscription):
-    grok.implements(ICleaner)
-
-    def work(self):
-        print 'Monday cleaning %s!' % self.context.name
-
-
-class WednesdayCleaner(grok.Subscription):
-    grok.provides(ICleaner)
-
-    def work(self):
-        print 'Wednesday cleaning %s!' % self.context.name
-
-
-class SaturdayCleaner(grok.Subscription):
-    grok.implements(ICleaner)
-
-    def work(self):
-        print 'Saturday cleaning %s!' % self.context.name
-

Deleted: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_context.py
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_context.py	2011-02-14 07:41:52 UTC (rev 120304)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_context.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -1,20 +0,0 @@
-"""
-  >>> grok.testing.grok(__name__)
-  Traceback (most recent call last):
-    ...
-  GrokError: No module-level context for
-  <class 'grokcore.component.tests.subscriber.subscribers_no_context.CaveProcessor'>,
-  please use the 'context' directive.
-
-"""
-
-import grokcore.component as grok
-from zope import interface
-
-class ITask(interface.Interface):
-
-    def finish():
-        pass
-
-class CaveProcessor(grok.Subscription):
-    grok.provides(ITask)

Deleted: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_interface.py
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_interface.py	2011-02-14 07:41:52 UTC (rev 120304)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_interface.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -1,17 +0,0 @@
-"""
-  >>> grok.testing.grok(__name__)
-  Traceback (most recent call last):
-    ...
-  GrokError: <class 'grokcore.component.tests.subscriber.subscribers_no_interface.CaveProcessor'>
-  must implement at least one interface (use grok.implements to specify).
-
-"""
-
-import grokcore.component as grok
-
-
-class Cave(grok.Context):
-    pass
-
-class CaveProcessor(grok.Subscription):
-    pass

Copied: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions.py (from rev 120304, grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers.py)
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions.py	                        (rev 0)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -0,0 +1,58 @@
+"""
+  >>> grok.testing.grok(__name__)
+
+  >>> cave = Cave('sweet home')
+
+  >>> subscribers = grok.querySubscriptions(cave, ICleaner)
+  >>> subscribers
+  [<grokcore.component.tests.subscriber.subscribers.MondayCleaner object at ...>,
+   <grokcore.component.tests.subscriber.subscribers.SaturdayCleaner object at ...>,
+   <grokcore.component.tests.subscriber.subscribers.WednesdayCleaner object at ...>]
+
+  >>> _ = map(lambda s: s.work(), subscribers)
+  Monday cleaning sweet home!
+  Saturday cleaning sweet home!
+  Wednesday cleaning sweet home!
+
+  Subscription adapters are not registered as regular adapters:
+
+  >>> component.queryAdapter(cave, ICleaner)
+
+"""
+
+import grokcore.component as grok
+from zope import interface, component
+
+
+class Cave(grok.Context):
+
+    def __init__(self, name):
+        self.name = name
+
+
+class ICleaner(interface.Interface):
+
+    def work():
+        """Clean that cave.
+        """
+
+class MondayCleaner(grok.Subscription):
+    grok.implements(ICleaner)
+
+    def work(self):
+        print 'Monday cleaning %s!' % self.context.name
+
+
+class WednesdayCleaner(grok.Subscription):
+    grok.provides(ICleaner)
+
+    def work(self):
+        print 'Wednesday cleaning %s!' % self.context.name
+
+
+class SaturdayCleaner(grok.Subscription):
+    grok.implements(ICleaner)
+
+    def work(self):
+        print 'Saturday cleaning %s!' % self.context.name
+

Copied: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions_no_context.py (from rev 120304, grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_context.py)
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions_no_context.py	                        (rev 0)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions_no_context.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -0,0 +1,20 @@
+"""
+  >>> grok.testing.grok(__name__)
+  Traceback (most recent call last):
+    ...
+  GrokError: No module-level context for
+  <class 'grokcore.component.tests.subscriber.subscribers_no_context.CaveProcessor'>,
+  please use the 'context' directive.
+
+"""
+
+import grokcore.component as grok
+from zope import interface
+
+class ITask(interface.Interface):
+
+    def finish():
+        pass
+
+class CaveProcessor(grok.Subscription):
+    grok.provides(ITask)

Copied: grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions_no_interface.py (from rev 120304, grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscribers_no_interface.py)
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions_no_interface.py	                        (rev 0)
+++ grokcore.component/trunk/src/grokcore/component/tests/subscriptions/subscriptions_no_interface.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -0,0 +1,17 @@
+"""
+  >>> grok.testing.grok(__name__)
+  Traceback (most recent call last):
+    ...
+  GrokError: <class 'grokcore.component.tests.subscriber.subscribers_no_interface.CaveProcessor'>
+  must implement at least one interface (use grok.implements to specify).
+
+"""
+
+import grokcore.component as grok
+
+
+class Cave(grok.Context):
+    pass
+
+class CaveProcessor(grok.Subscription):
+    pass

Modified: grokcore.component/trunk/src/grokcore/component/tests/test_grok.py
===================================================================
--- grokcore.component/trunk/src/grokcore/component/tests/test_grok.py	2011-02-14 07:41:52 UTC (rev 120304)
+++ grokcore.component/trunk/src/grokcore/component/tests/test_grok.py	2011-02-14 07:43:17 UTC (rev 120305)
@@ -48,7 +48,7 @@
 def test_suite():
     suite = unittest.TestSuite()
     for name in ['adapter', 'directive', 'grokker', 'utility', 'view',
-                 'event', 'inherit', 'order', 'subscriber']:
+                 'event', 'inherit', 'order', 'subscriptions']:
         suite.addTest(suiteFromPackage(name))
 
     api = doctest.DocFileSuite('api.txt')



More information about the checkins mailing list