Beispiel #1
0
 def test(c):
     def objcstr(value):
         value = ak.NSString.alloc().initWithString_(value)
         isinstance(value, objc.pyobjc_unicode), (type(value), value)
         return value
     def check(flag, key, serial, value=None):
         if flag:
             assert key in serial, (key, serial)
             if value is not None:
                 eq_(serial[key], value)
         else:
             assert key not in serial, key
     proj = Project(None)
     recent = [objcstr("/file.txt"), objcstr("/doc.xml")]
     if c.recent:
         proj.recent.extend(Recent(p) for p in recent)
     if c.name:
         proj.name = objcstr("<name>")
     if c.docs:
         proj.editors = [MockDoc(1)]
     proj.expanded = c.expn
     serial = proj.serialize()
     check(False, "path", serial, proj.path)
     check(c.name, "name", serial, proj.name)
     check(c.docs, "documents", serial)
     check(True, "expanded", serial, c.expn)
     check(c.recent, "recent", serial, recent)
     dump_yaml(serial) # verify that it does not crash
Beispiel #2
0
 def do_test(template):
     proj = Project(None)
     temp_docs = proj.editors
     try:
         m = Mocker()
         all_docs = []
         dirty_docs = []
         for item in template:
             doc = m.mock(Editor)
             all_docs.append(doc)
             doc.is_dirty >> (item == "d")
             if item == "d":
                 dirty_docs.append(doc)
         proj.editors = all_docs
         with m:
             result = list(proj.dirty_editors())
             assert len(dirty_docs) == template.count("d")
             assert dirty_docs == result, "%r != %r" % (dirty_docs, result)
     finally:
         proj.editors = temp_docs