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 _setup(self, app):
     from editxt.editor import Editor
     from editxt.project import Project
     from editxt.window import Window
     state = self.init_state
     docs_by_name = {}
     items = self.items
     if state is None:
         return
     window = project = None
     for i, state_item in enumerate(self.split(state)):
         match = self.editor_re.match(state_item)
         assert match, "unknown state item: {}".format(state_item)
         collapsed, item, name, current = match.groups()
         has_ext_name = name and ":" in name
         assert item == "project" or (not collapsed and not has_ext_name), \
             "unknown state item: {}".format(state_item)
         if not name:
             name = "<{}>".format(i)
         if item == "window" or window is None:
             window = Window(app)
             project = None
             app.windows.append(window)
             if item == "window":
                 items[window] = "window" + name
                 continue
             else:
                 items[window] = "window<{}>".format(i)
         if item == "project" or project is None:
             project = Project(window)
             if has_ext_name:
                 name_offset = name.index(":") + 1
                 project.name = name[1:name_offset - 1]
             else:
                 name_offset = 1
             if "/" in name:
                 project.path = self.temp_path(name[name_offset:-1])
             if collapsed:
                 project.expanded = False
             window.projects.append(project)
             if item == "project":
                 items[project] = "project" + name
                 if current:
                     if not window.selected_items:
                         window.current_editor = project
                     else:
                         window.selected_items.append(project)
                 continue
             else:
                 items[project] = "project<{}>".format(i)
         document = docs_by_name.get(name)
         if document is None:
             document = self.document_with_path(name[1:-1])
             docs_by_name[name] = document
         editor = Editor(project, document=document)
         items[editor] = "editor" + name
         items[document] = "document" + name
         project.editors.append(editor)
         if current:
             if not window.selected_items:
                 window.current_editor = editor
             else:
                 window.selected_items.append(editor)
Beispiel #3
0
def test_set_name():
    proj = Project(None)
    assert proj.path is None
    eq_(proj.name, const.UNTITLED_PROJECT_NAME)
    proj.name = "name"
    eq_(proj.name, "name")
Beispiel #4
0
def test_name():
    proj = Project(None)
    eq_(proj.name, const.UNTITLED_PROJECT_NAME)
    proj.name = "name"
    eq_(proj.name, "name")