diff --git a/devel/grokcore.view/src/grokcore/view/tests/grok.py b/devel/grokcore.view/src/grokcore/view/tests/grok.py index defa0bc9..4b5e9fea 100644 --- a/devel/grokcore.view/src/grokcore/view/tests/grok.py +++ b/devel/grokcore.view/src/grokcore/view/tests/grok.py @@ -1,2 +1,3 @@ from grokcore.view.tests.components import Model, View from grokcore.view import testing +from grokcore.component import name diff --git a/devel/grokcore.view/src/grokcore/view/tests/test_all.py b/devel/grokcore.view/src/grokcore/view/tests/test_all.py index 31874885..954c7b6c 100644 --- a/devel/grokcore.view/src/grokcore/view/tests/test_all.py +++ b/devel/grokcore.view/src/grokcore/view/tests/test_all.py @@ -51,7 +51,7 @@ def suiteFromPackage(name): def test_suite(): suite = unittest.TestSuite() - for name in ['template', 'static']: + for name in ['template', 'static', 'view']: suite.addTest(suiteFromPackage(name)) return suite diff --git a/devel/grokcore.view/src/grokcore/view/tests/view/TODO.txt b/devel/grokcore.view/src/grokcore/view/tests/view/TODO.txt new file mode 100644 index 00000000..08ff6234 --- /dev/null +++ b/devel/grokcore.view/src/grokcore/view/tests/view/TODO.txt @@ -0,0 +1 @@ +* move namemultiple, nameunicode, nomodulename from tests/view to grokcore.component diff --git a/src/grok/tests/view/__init__.py b/devel/grokcore.view/src/grokcore/view/tests/view/__init__.py similarity index 100% rename from src/grok/tests/view/__init__.py rename to devel/grokcore.view/src/grokcore/view/tests/view/__init__.py diff --git a/src/grok/tests/view/ambiguouscontext.py b/devel/grokcore.view/src/grokcore/view/tests/view/ambiguouscontext.py similarity index 73% rename from src/grok/tests/view/ambiguouscontext.py rename to devel/grokcore.view/src/grokcore/view/tests/view/ambiguouscontext.py index a3186530..8ac2a0cb 100644 --- a/src/grok/tests/view/ambiguouscontext.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/ambiguouscontext.py @@ -5,18 +5,20 @@ Traceback (most recent call last): ... GrokError: Multiple possible contexts for - , please use the + , please use the 'context' directive. """ +from grokcore.view.tests import grok -import grok class Cave(grok.Model): pass + class Mammoth(grok.Model): pass + class Club(grok.View): pass diff --git a/src/grok/tests/view/dirandinlinetemplate.py b/devel/grokcore.view/src/grokcore/view/tests/view/dirandinlinetemplate.py similarity index 68% rename from src/grok/tests/view/dirandinlinetemplate.py rename to devel/grokcore.view/src/grokcore/view/tests/view/dirandinlinetemplate.py index ac71d8c4..aa296394 100644 --- a/src/grok/tests/view/dirandinlinetemplate.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/dirandinlinetemplate.py @@ -6,10 +6,11 @@ Traceback (most recent call last): ... ConfigurationExecutionError: martian.error.GrokError: Conflicting templates found for name 'cavepainting' in module - >> grok.testing.grok(__name__) - + >>> manfred = Mammoth() >>> from zope.publisher.browser import TestRequest >>> request = TestRequest() @@ -24,13 +24,16 @@ """ -import grok +from grokcore.view.tests import grok + class Mammoth(grok.Model): pass + class CavePainting(grok.View): pass + class Food(grok.View): pass diff --git a/src/grok/tests/view/dirtemplate_templates/cavepainting.pt b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplate_templates/cavepainting.pt similarity index 100% rename from src/grok/tests/view/dirtemplate_templates/cavepainting.pt rename to devel/grokcore.view/src/grokcore/view/tests/view/dirtemplate_templates/cavepainting.pt diff --git a/src/grok/tests/view/dirtemplate_templates/food.pt b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplate_templates/food.pt similarity index 100% rename from src/grok/tests/view/dirtemplate_templates/food.pt rename to devel/grokcore.view/src/grokcore/view/tests/view/dirtemplate_templates/food.pt diff --git a/src/grok/tests/view/dirtemplateandrender.py b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplateandrender.py similarity index 81% rename from src/grok/tests/view/dirtemplateandrender.py rename to devel/grokcore.view/src/grokcore/view/tests/view/dirtemplateandrender.py index 8765aa12..ae72e4f9 100644 --- a/src/grok/tests/view/dirtemplateandrender.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplateandrender.py @@ -6,16 +6,19 @@ Traceback (most recent call last): ... ConfigurationExecutionError: martian.error.GrokError: Multiple possible ways to render view - . + . It has both a 'render' method as well as an associated template. in: - + """ -import grok +from grokcore.view.tests import grok + class Mammoth(grok.Model): pass + class CavePainting(grok.View): + def render(self): pass diff --git a/src/grok/tests/view/dirtemplateandrender_templates/cavepainting.pt b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplateandrender_templates/cavepainting.pt similarity index 100% rename from src/grok/tests/view/dirtemplateandrender_templates/cavepainting.pt rename to devel/grokcore.view/src/grokcore/view/tests/view/dirtemplateandrender_templates/cavepainting.pt diff --git a/src/grok/tests/view/dirtemplatesonly.py b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplatesonly.py similarity index 84% rename from src/grok/tests/view/dirtemplatesonly.py rename to devel/grokcore.view/src/grokcore/view/tests/view/dirtemplatesonly.py index 727a791e..b8f42d0a 100644 --- a/src/grok/tests/view/dirtemplatesonly.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplatesonly.py @@ -1,10 +1,9 @@ """ A template directory may only contain recognized template files:: - >>> from grok.testing import warn >>> import warnings >>> saved_warn = warnings.warn - >>> warnings.warn = warn + >>> warnings.warn = grok.testing.warn >>> grok.testing.grok(__name__) From grok.testing's warn(): @@ -14,10 +13,12 @@ >>> warnings.warn = saved_warn """ -import grok +from grokcore.view.tests import grok + class Mammoth(grok.Model): pass + class Index(grok.View): pass diff --git a/src/grok/tests/view/dirtemplatesonly_templates/index.pt b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplatesonly_templates/index.pt similarity index 100% rename from src/grok/tests/view/dirtemplatesonly_templates/index.pt rename to devel/grokcore.view/src/grokcore/view/tests/view/dirtemplatesonly_templates/index.pt diff --git a/src/grok/tests/view/dirtemplatesonly_templates/invalid.txt b/devel/grokcore.view/src/grokcore/view/tests/view/dirtemplatesonly_templates/invalid.txt similarity index 100% rename from src/grok/tests/view/dirtemplatesonly_templates/invalid.txt rename to devel/grokcore.view/src/grokcore/view/tests/view/dirtemplatesonly_templates/invalid.txt diff --git a/src/grok/tests/view/eithertemplateorrender.py b/devel/grokcore.view/src/grokcore/view/tests/view/eithertemplateorrender.py similarity index 69% rename from src/grok/tests/view/eithertemplateorrender.py rename to devel/grokcore.view/src/grokcore/view/tests/view/eithertemplateorrender.py index 73d854ec..c05e2d90 100644 --- a/src/grok/tests/view/eithertemplateorrender.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/eithertemplateorrender.py @@ -5,17 +5,21 @@ Traceback (most recent call last): ... ConfigurationExecutionError: martian.error.GrokError: Multiple possible ways to render view - . + . It has both a 'render' method as well as an associated template. in: """ -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass + class CavePainting(grok.View): + def render(self): pass -cavepainting = grok.PageTemplate("nothing") +cavepainting = grokcore.view.PageTemplate("nothing") diff --git a/src/grok/tests/view/explicitimplicittemplate.py b/devel/grokcore.view/src/grokcore/view/tests/view/explicitimplicittemplate.py similarity index 55% rename from src/grok/tests/view/explicitimplicittemplate.py rename to devel/grokcore.view/src/grokcore/view/tests/view/explicitimplicittemplate.py index f2098d02..8c39e41d 100644 --- a/src/grok/tests/view/explicitimplicittemplate.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/explicitimplicittemplate.py @@ -1,25 +1,30 @@ """ It is too confusing to have a template that would be implicitly associated with a view while that view already refers to another -template using grok.template. Therefore there is an error: +template using grokcore.view.template. Therefore there is an error: >>> grok.testing.grok(__name__) Traceback (most recent call last): ... ConfigurationExecutionError: martian.error.GrokError: Multiple possible templates for view - . + . It uses grok.template('cavepainting'), but there is also a template called 'painting'. in: - + """ -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass + class Painting(grok.View): - grok.template('cavepainting') + grokcore.view.template('cavepainting') + + +cavepainting = grokcore.view.PageTemplate("GROK CAVEPAINT MAMMOTH!") -cavepainting = grok.PageTemplate("GROK CAVEPAINT MAMMOTH!") -painting = grok.PageTemplate("GROK PAINT MAMMOTH!") +painting = grokcore.view.PageTemplate("GROK PAINT MAMMOTH!") diff --git a/src/grok/tests/view/inline.py b/devel/grokcore.view/src/grokcore/view/tests/view/inline.py similarity index 83% rename from src/grok/tests/view/inline.py rename to devel/grokcore.view/src/grokcore/view/tests/view/inline.py index 9daab857..ce824ed0 100644 --- a/src/grok/tests/view/inline.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/inline.py @@ -3,7 +3,7 @@ using a variable named `viewname_pt`: >>> grok.testing.grok(__name__) - + >>> manfred = Mammoth() >>> from zope.publisher.browser import TestRequest >>> request = TestRequest() @@ -15,8 +15,8 @@

Mammoth Cave Painting

  • -
  • -
  • +
  • +
@@ -34,15 +34,19 @@

GROK HUNT MAMMOTH!

""" -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass + class CavePainting(grok.View): pass -cavepainting = grok.PageTemplate("""\ + +cavepainting = grokcore.view.PageTemplate("""\

@@ -56,10 +60,11 @@ class CavePainting(grok.View): """) + class Hunt(grok.View): grok.name('hunting') -hunt = grok.PageTemplate("""\ + +hunt = grokcore.view.PageTemplate("""\

GROK HUNT MAMMOTH!

""") - diff --git a/src/grok/tests/view/inline_unassociated.py b/devel/grokcore.view/src/grokcore/view/tests/view/inline_unassociated.py similarity index 73% rename from src/grok/tests/view/inline_unassociated.py rename to devel/grokcore.view/src/grokcore/view/tests/view/inline_unassociated.py index b0384dbc..e3a3a806 100644 --- a/src/grok/tests/view/inline_unassociated.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/inline_unassociated.py @@ -10,17 +10,20 @@ >>> grok.testing.grok(__name__) From grok.testing's warn(): ...UserWarning: Found the following unassociated template(s) when grokking - 'grok.tests.view.inline_unassociated': club. Define view classes inheriting + 'grokcore.view.tests.view.inline_unassociated': club. Define view classes inheriting from grok.View to enable the template(s)... >>> warnings.warn = saved_warn """ -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass -club = grok.PageTemplate("""\ + +club = grokcore.view.PageTemplate("""\

GROK CLUB MAMMOTH!

""") diff --git a/src/grok/tests/view/inlinebogus.py b/devel/grokcore.view/src/grokcore/view/tests/view/inlinebogus.py similarity index 85% rename from src/grok/tests/view/inlinebogus.py rename to devel/grokcore.view/src/grokcore/view/tests/view/inlinebogus.py index 6c7d8241..fa6ca580 100644 --- a/src/grok/tests/view/inlinebogus.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/inlinebogus.py @@ -3,8 +3,8 @@ We do not accept bogus inline template such as ones that contain encoded strings: - >>> import grok - >>> grok.PageTemplate(''' + >>> import grokcore.view + >>> grokcore.view.PageTemplate(''' ... ...

...

ööö

diff --git a/src/grok/tests/view/missingcontext.py b/devel/grokcore.view/src/grokcore/view/tests/view/missingcontext.py similarity index 67% rename from src/grok/tests/view/missingcontext.py rename to devel/grokcore.view/src/grokcore/view/tests/view/missingcontext.py index 8dae6f2f..38655930 100644 --- a/src/grok/tests/view/missingcontext.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/missingcontext.py @@ -5,12 +5,12 @@ Traceback (most recent call last): ... GrokError: No module-level context for - , please use the + , please use the 'context' directive. """ +from grokcore.view.tests import grok -import grok class Club(grok.View): pass diff --git a/src/grok/tests/view/modequalspkgname/__init__.py b/devel/grokcore.view/src/grokcore/view/tests/view/modequalspkgname/__init__.py similarity index 100% rename from src/grok/tests/view/modequalspkgname/__init__.py rename to devel/grokcore.view/src/grokcore/view/tests/view/modequalspkgname/__init__.py diff --git a/src/grok/tests/view/modequalspkgname/modequalspkgname.py b/devel/grokcore.view/src/grokcore/view/tests/view/modequalspkgname/modequalspkgname.py similarity index 100% rename from src/grok/tests/view/modequalspkgname/modequalspkgname.py rename to devel/grokcore.view/src/grokcore/view/tests/view/modequalspkgname/modequalspkgname.py diff --git a/src/grok/tests/view/modequalspkgname/modequalspkgname_templates/index.pt b/devel/grokcore.view/src/grokcore/view/tests/view/modequalspkgname/modequalspkgname_templates/index.pt similarity index 100% rename from src/grok/tests/view/modequalspkgname/modequalspkgname_templates/index.pt rename to devel/grokcore.view/src/grokcore/view/tests/view/modequalspkgname/modequalspkgname_templates/index.pt diff --git a/src/grok/tests/view/namemultiple.py b/devel/grokcore.view/src/grokcore/view/tests/view/namemultiple.py similarity index 75% rename from src/grok/tests/view/namemultiple.py rename to devel/grokcore.view/src/grokcore/view/tests/view/namemultiple.py index 826b5a16..2b4a8c69 100644 --- a/src/grok/tests/view/namemultiple.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/namemultiple.py @@ -1,7 +1,7 @@ """ You can't call grok.name multiple times for a view - >>> import grok.tests.view.namemultiple_fixture + >>> import grokcore.view.tests.view.namemultiple_fixture Traceback (most recent call last): ... GrokImportError: The 'name' directive can only be called once per class. diff --git a/src/grok/tests/view/namemultiple_fixture.py b/devel/grokcore.view/src/grokcore/view/tests/view/namemultiple_fixture.py similarity index 74% rename from src/grok/tests/view/namemultiple_fixture.py rename to devel/grokcore.view/src/grokcore/view/tests/view/namemultiple_fixture.py index 1980e2c0..d61b9456 100644 --- a/src/grok/tests/view/namemultiple_fixture.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/namemultiple_fixture.py @@ -1,7 +1,7 @@ """ This should fail: """ -import grok +from grokcore.view.tests import grok class MultipleNames(grok.View): grok.name('mammoth') diff --git a/src/grok/tests/view/nameunicode.py b/devel/grokcore.view/src/grokcore/view/tests/view/nameunicode.py similarity index 93% rename from src/grok/tests/view/nameunicode.py rename to devel/grokcore.view/src/grokcore/view/tests/view/nameunicode.py index 8946b9a5..370c745a 100644 --- a/src/grok/tests/view/nameunicode.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/nameunicode.py @@ -16,16 +16,22 @@ unicode or ASCII. """ -import grok +from grokcore.view.tests import grok + def pass_unicode(): + class View(object): grok.name(u'name') + def pass_encodedstring(): + class View(object): grok.name("ölkj") + def pass_object(): + class View(object): grok.name(object()) diff --git a/src/grok/tests/view/nomodulename.py b/devel/grokcore.view/src/grokcore/view/tests/view/nomodulename.py similarity index 73% rename from src/grok/tests/view/nomodulename.py rename to devel/grokcore.view/src/grokcore/view/tests/view/nomodulename.py index af39ddd3..6a2e6471 100644 --- a/src/grok/tests/view/nomodulename.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/nomodulename.py @@ -1,7 +1,7 @@ """ You can't call grok.name on a module: - >>> import grok.tests.view.nomodulename_fixture + >>> import grokcore.view.tests.view.nomodulename_fixture Traceback (most recent call last): ... GrokImportError: The 'name' directive can only be used on class level. diff --git a/src/grok/tests/view/nomodulename_fixture.py b/devel/grokcore.view/src/grokcore/view/tests/view/nomodulename_fixture.py similarity index 55% rename from src/grok/tests/view/nomodulename_fixture.py rename to devel/grokcore.view/src/grokcore/view/tests/view/nomodulename_fixture.py index 4f12b372..2ed291cd 100644 --- a/src/grok/tests/view/nomodulename_fixture.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/nomodulename_fixture.py @@ -1,5 +1,6 @@ """ This should fail: """ -import grok +from grokcore.view.tests import grok + grok.name('viewname') diff --git a/src/grok/tests/view/notemplateorrender.py b/devel/grokcore.view/src/grokcore/view/tests/view/notemplateorrender.py similarity index 77% rename from src/grok/tests/view/notemplateorrender.py rename to devel/grokcore.view/src/grokcore/view/tests/view/notemplateorrender.py index 19ceb8af..a14c24c4 100644 --- a/src/grok/tests/view/notemplateorrender.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/notemplateorrender.py @@ -4,16 +4,17 @@ >>> grok.testing.grok(__name__) Traceback (most recent call last): ... - ConfigurationExecutionError: martian.error.GrokError: View + ConfigurationExecutionError: martian.error.GrokError: View has no associated template or 'render' method. in: """ +from grokcore.view.tests import grok -import grok class Mammoth(grok.Model): pass + class CavePainting(grok.View): pass diff --git a/src/grok/tests/view/template.py b/devel/grokcore.view/src/grokcore/view/tests/view/template.py similarity index 77% rename from src/grok/tests/view/template.py rename to devel/grokcore.view/src/grokcore/view/tests/view/template.py index 5227ab21..a380ab8e 100644 --- a/src/grok/tests/view/template.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/template.py @@ -20,22 +20,28 @@

GROK EAT MAMMOTH!

""" -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass + class Painting(grok.View): - grok.template('cavepainting') + grokcore.view.template('cavepainting') + -cavepainting = grok.PageTemplate("""\ +cavepainting = grokcore.view.PageTemplate("""\

GROK PAINT MAMMOTH!

""") + class Food(grok.View): - grok.template('food_template') + grokcore.view.template('food_template') grok.name('meal') -food_template = grok.PageTemplate("""\ + +food_template = grokcore.view.PageTemplate("""\

GROK EAT MAMMOTH!

""") diff --git a/src/grok/tests/view/templatedirectory.py b/devel/grokcore.view/src/grokcore/view/tests/view/templatedirectory.py similarity index 81% rename from src/grok/tests/view/templatedirectory.py rename to devel/grokcore.view/src/grokcore/view/tests/view/templatedirectory.py index 5773cae3..f82e7ef5 100644 --- a/src/grok/tests/view/templatedirectory.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/templatedirectory.py @@ -16,12 +16,16 @@ """ -import grok +from grokcore.view.tests import grok +import grokcore.view + + +grokcore.view.templatedir('templatedirectoryname') -grok.templatedir('templatedirectoryname') class Mammoth(grok.Model): pass + class Food(grok.View): pass diff --git a/src/grok/tests/view/templatedirectoryname/food.pt b/devel/grokcore.view/src/grokcore/view/tests/view/templatedirectoryname/food.pt similarity index 100% rename from src/grok/tests/view/templatedirectoryname/food.pt rename to devel/grokcore.view/src/grokcore/view/tests/view/templatedirectoryname/food.pt diff --git a/src/grok/tests/view/templatefile.py b/devel/grokcore.view/src/grokcore/view/tests/view/templatefile.py similarity index 76% rename from src/grok/tests/view/templatefile.py rename to devel/grokcore.view/src/grokcore/view/tests/view/templatefile.py index 1669af6b..77bf948c 100644 --- a/src/grok/tests/view/templatefile.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/templatefile.py @@ -18,14 +18,19 @@ """ -import grok import os.path +from grokcore.view.tests import grok +import grokcore.view + + class Mammoth(grok.Model): pass + class Food(grok.View): pass -food = grok.PageTemplate(filename=os.path.join('templatedirectoryname', - 'food.pt')) + +food = grokcore.view.PageTemplate(filename=os.path.join( + 'templatedirectoryname', 'food.pt')) diff --git a/src/grok/tests/view/templatenotfound.py b/devel/grokcore.view/src/grokcore/view/tests/view/templatenotfound.py similarity index 70% rename from src/grok/tests/view/templatenotfound.py rename to devel/grokcore.view/src/grokcore/view/tests/view/templatenotfound.py index 3e6e62a8..5ca3a9b7 100644 --- a/src/grok/tests/view/templatenotfound.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/templatenotfound.py @@ -5,16 +5,19 @@ >>> grok.testing.grok(__name__) Traceback (most recent call last): ... - ConfigurationExecutionError: martian.error.GrokError: View + ConfigurationExecutionError: martian.error.GrokError: View has no associated template or 'render' method. in: """ -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass + class Painting(grok.View): - grok.template('cavepainting') + grokcore.view.template('cavepainting') # no cavepainting template here diff --git a/src/grok/tests/view/templatereload.py b/devel/grokcore.view/src/grokcore/view/tests/view/templatereload.py similarity index 96% rename from src/grok/tests/view/templatereload.py rename to devel/grokcore.view/src/grokcore/view/tests/view/templatereload.py index e8d5ed90..8d13da76 100644 --- a/src/grok/tests/view/templatereload.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/templatereload.py @@ -30,10 +30,12 @@ >>> template.write('before') >>> template.close() """ -import grok +from grokcore.view.tests import grok + class Mammoth(grok.Model): pass + class Index(grok.View): pass diff --git a/src/grok/tests/view/templatereload_templates/index.pt b/devel/grokcore.view/src/grokcore/view/tests/view/templatereload_templates/index.pt similarity index 100% rename from src/grok/tests/view/templatereload_templates/index.pt rename to devel/grokcore.view/src/grokcore/view/tests/view/templatereload_templates/index.pt diff --git a/src/grok/tests/view/twoviewsusetemplate.py b/devel/grokcore.view/src/grokcore/view/tests/view/twoviewsusetemplate.py similarity index 78% rename from src/grok/tests/view/twoviewsusetemplate.py rename to devel/grokcore.view/src/grokcore/view/tests/view/twoviewsusetemplate.py index 0440692d..736ad780 100644 --- a/src/grok/tests/view/twoviewsusetemplate.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/twoviewsusetemplate.py @@ -33,29 +33,37 @@ Traceback (most recent call last): ... ComponentLookupError: - ((, + ((, ), , 'templ') """ -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass + class A(grok.View): pass -a = grok.PageTemplate("View A") + +a = grokcore.view.PageTemplate("View A") + class B(grok.View): - grok.template('a') + grokcore.view.template('a') + class C(grok.View): - grok.template('templ') + grokcore.view.template('templ') + class D(grok.View): - grok.template('templ') + grokcore.view.template('templ') + -templ = grok.PageTemplate('Template') +templ = grokcore.view.PageTemplate('Template') diff --git a/src/grok/tests/view/unassociated.py b/devel/grokcore.view/src/grokcore/view/tests/view/unassociated.py similarity index 79% rename from src/grok/tests/view/unassociated.py rename to devel/grokcore.view/src/grokcore/view/tests/view/unassociated.py index 98a7169d..e8c24661 100644 --- a/src/grok/tests/view/unassociated.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/unassociated.py @@ -2,23 +2,20 @@ Templates that are not associated with a view class will provoke an error: - >>> from grok.testing import warn >>> import warnings >>> saved_warn = warnings.warn - >>> warnings.warn = warn + >>> warnings.warn = grok.testing.warn >>> grok.testing.grok(__name__) From grok.testing's warn(): ...UserWarning: Found the following unassociated template(s) when grokking - 'grok.tests.view.unassociated': index. Define view classes inheriting from + 'grokcore.view.tests.view.unassociated': index. Define view classes inheriting from grok.View to enable the template(s)... Also templates of modules named equally as the package name the module resides in, should be found without error or warning. We check this with the local package `modequalspkgname`:: - >>> warnings.warn = warn - >>> pkg = __name__.rsplit('.', 1)[0] + '.modequalspkgname' >>> grok.testing.grok(pkg) is None True @@ -26,7 +23,8 @@ >>> warnings.warn = saved_warn """ -import grok +from grokcore.view.tests import grok + class Mammoth(grok.Model): pass diff --git a/src/grok/tests/view/unassociated_templates/index.pt b/devel/grokcore.view/src/grokcore/view/tests/view/unassociated_templates/index.pt similarity index 100% rename from src/grok/tests/view/unassociated_templates/index.pt rename to devel/grokcore.view/src/grokcore/view/tests/view/unassociated_templates/index.pt diff --git a/src/grok/tests/view/update.py b/devel/grokcore.view/src/grokcore/view/tests/view/update.py similarity index 89% rename from src/grok/tests/view/update.py rename to devel/grokcore.view/src/grokcore/view/tests/view/update.py index 967a2cab..72ee9be4 100644 --- a/src/grok/tests/view/update.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/update.py @@ -23,20 +23,24 @@

red

- + """ -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass + class CavePainting(grok.View): + def update(self): self.color = "red" -cavepainting = grok.PageTemplate("""\ +cavepainting = grokcore.view.PageTemplate("""\

diff --git a/src/grok/tests/view/update_redirect.py b/devel/grokcore.view/src/grokcore/view/tests/view/update_redirect.py similarity index 87% rename from src/grok/tests/view/update_redirect.py rename to devel/grokcore.view/src/grokcore/view/tests/view/update_redirect.py index 66e186f7..d4d09645 100644 --- a/src/grok/tests/view/update_redirect.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/update_redirect.py @@ -17,17 +17,21 @@ somewhere-else """ -import grok +from grokcore.view.tests import grok +import grokcore.view + class Mammoth(grok.Model): pass + class CavePainting(grok.View): + def update(self): self.request.response.redirect('somewhere-else') -cavepainting = grok.PageTemplate("""\ +cavepainting = grokcore.view.PageTemplate("""\

diff --git a/src/grok/tests/view/view.py b/devel/grokcore.view/src/grokcore/view/tests/view/view.py similarity index 81% rename from src/grok/tests/view/view.py rename to devel/grokcore.view/src/grokcore/view/tests/view/view.py index 7ee62c13..bd572e49 100644 --- a/src/grok/tests/view/view.py +++ b/devel/grokcore.view/src/grokcore/view/tests/view/view.py @@ -28,20 +28,22 @@ >>> view = component.getMultiAdapter((manfred, request), name='food') Traceback (most recent call last): ... - ComponentLookupError: ((, ), , 'food') + ComponentLookupError: ((, ), , 'food') """ +from grokcore.view.tests import grok -import grok class Mammoth(grok.Model): pass + class CavePainting(grok.View): def render(self): return 'A cave painting of a mammoth' + class Food(grok.View): """Grok says: ME NO SEE MAMMOTH, ME SEE MEAL!""" grok.name('meal') diff --git a/src/grok/testing.py b/src/grok/testing.py index 5c69a970..a6e8ba58 100644 --- a/src/grok/testing.py +++ b/src/grok/testing.py @@ -13,13 +13,13 @@ ############################################################################## """Grok test helpers """ -import sys import os.path import z3c.testsetup from zope.configuration.config import ConfigurationMachine from grokcore.component import zcml -# Provide this import here for BBB reasons: +# Provide these imports here for BBB reasons: from grokcore.component.testing import grok_component +from grokcore.view.testing import warn class GrokTestCollector(z3c.testsetup.TestCollector): @@ -47,33 +47,3 @@ def grok(module_name): zcml.do_grok('grokcore.view.templatereg', config) zcml.do_grok(module_name, config) config.execute_actions() - -def warn(message, category=None, stacklevel=1): - """Intended to replace warnings.warn in tests. - - Modified copy from zope.deprecation.tests to: - - * make the signature identical to warnings.warn - * to check for *.pyc and *.pyo files. - - When zope.deprecation is fixed, this warn function can be removed again. - """ - print "From grok.testing's warn():" - - frame = sys._getframe(stacklevel) - path = frame.f_globals['__file__'] - if path.endswith('.pyc') or path.endswith('.pyo'): - path = path[:-1] - - file = open(path) - lineno = frame.f_lineno - for i in range(lineno): - line = file.readline() - - print "%s:%s: %s: %s\n %s" % ( - path, - frame.f_lineno, - category.__name__, - message, - line.strip(), - ) diff --git a/src/grok/tests/test_grok.py b/src/grok/tests/test_grok.py index fba7844d..e9af3951 100644 --- a/src/grok/tests/test_grok.py +++ b/src/grok/tests/test_grok.py @@ -42,7 +42,7 @@ def suiteFromPackage(name): def test_suite(): suite = unittest.TestSuite() - for name in ['adapter', 'error', 'view', 'event', 'security', 'catalog', + for name in ['adapter', 'error', 'event', 'security', 'catalog', 'zcml', 'utility', 'xmlrpc', 'json', 'container', 'traversal', 'form', 'grokker', 'directive', 'baseclass', 'annotation', 'application',