46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
import unittest
|
|
from flatpages import FlatPagesIndex
|
|
from flask_flatpages import FlatPages
|
|
from mock import patch, Mock
|
|
from flask import Flask
|
|
|
|
class TestFlatpages(unittest.TestCase):
|
|
def setUp(self):
|
|
app = Flask(__name__)
|
|
self.fp=FlatPagesIndex(app)
|
|
d={}
|
|
for p in ["test/index", "page1", "index", "test/test2/index", "test/test2/page4", "test2/page0","test/page2", "test/page3"]:
|
|
m=Mock()
|
|
m.path=p
|
|
m.meta={}
|
|
d[p]=m
|
|
self.pages=d
|
|
def test_p(self):
|
|
self.assertEquals(FlatPagesIndex.get_breadcrumb_paths(""),['index'])
|
|
self.assertEquals(FlatPagesIndex.get_breadcrumb_paths("index"),['index'])
|
|
def test_subpages(self):
|
|
with patch.object(FlatPages,"_pages", self.pages):
|
|
spgs=self.fp.get_sub_pages("","index")
|
|
self.assertEquals([p.path for p in spgs],["page1"])
|
|
def test_subipages(self):
|
|
with patch.object(FlatPages,"_pages", self.pages):
|
|
spgs=list(self.fp.get_sub_ipages("","index"))
|
|
self.assertEquals([p.path for p in spgs],["test/index"])
|
|
self.assertEquals([p.meta["title"] for p in spgs],["test"])
|
|
|
|
|
|
# with patch("flask_flatpages.FlatPages._pages") as mock_pagelist:
|
|
# mock_pagelist=iter(["test/index", "page1", "index", "test/page2"])
|
|
# print self.fp.get_sub_pages("","index")
|
|
# self.assertEquals(list(self.fp.get_sub_pages("index")), [])
|
|
|
|
# def test_getflatpage(self):
|
|
# p=self.fp.get_flatpage("")
|
|
# with patch("flask_flatpages.FlatPages.get") as mock_page:
|
|
# mock_page.meta={"title": "Hello"}
|
|
# print p
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|