Index: /pyyaml/trunk/tests/test_yaml_ext.py
===================================================================
--- /pyyaml/trunk/tests/test_yaml_ext.py	(revision 311)
+++ /pyyaml/trunk/tests/test_yaml_ext.py	(revision 312)
@@ -3,4 +3,6 @@
 
 import _yaml, yaml
+
+test_appliance.TestAppliance.SKIP_EXT = '.skip-ext'
 
 class TestCVersion(unittest.TestCase):
@@ -103,5 +105,5 @@
                 if hasattr(event, 'value'):
                     self.failUnlessEqual(event.value, ext_event.value)
-                if hasattr(event, 'explicit'):
+                if hasattr(event, 'explicit') and event.explicit:
                     self.failUnlessEqual(event.explicit, ext_event.explicit)
                 if hasattr(event, 'version'):
Index: /pyyaml/trunk/tests/test_appliance.py
===================================================================
--- /pyyaml/trunk/tests/test_appliance.py	(revision 150)
+++ /pyyaml/trunk/tests/test_appliance.py	(revision 312)
@@ -10,4 +10,5 @@
 
     DATA = 'tests/data'
+    SKIP_EXT = '.skip'
 
     all_tests = {}
@@ -20,4 +21,6 @@
         for test in cls.all_tests:
             available_extensions = cls.all_tests[test]
+            if cls.SKIP_EXT in available_extensions:
+                continue
             for ext in extensions:
                 if ext not in available_extensions:
Index: /pyyaml/trunk/tests/test_emitter.py
===================================================================
--- /pyyaml/trunk/tests/test_emitter.py	(revision 137)
+++ /pyyaml/trunk/tests/test_emitter.py	(revision 312)
@@ -35,4 +35,39 @@
                 self.failUnlessEqual(event.value, new_event.value)
 
+    def _testEmitterStyles(self, test_name, canonical_filename, data_filename):
+        for filename in [canonical_filename, data_filename]:
+            events = list(parse(file(filename, 'rb')))
+            for flow_style in [False, True]:
+                for style in ['|', '>', '"', '\'', '']:
+                    styled_events = []
+                    for event in events:
+                        if isinstance(event, ScalarEvent):
+                            event = ScalarEvent(event.anchor, event.tag,
+                                    event.implicit, event.value, style=style)
+                        elif isinstance(event, SequenceStartEvent):
+                            event = SequenceStartEvent(event.anchor, event.tag,
+                                    event.implicit, flow_style=flow_style)
+                        elif isinstance(event, MappingStartEvent):
+                            event = MappingStartEvent(event.anchor, event.tag,
+                                    event.implicit, flow_style=flow_style)
+                        styled_events.append(event)
+                    stream = StringIO.StringIO()
+                    emit(styled_events, stream)
+                    data = stream.getvalue()
+                    #print data
+                    new_events = list(parse(data))
+                    for event, new_event in zip(events, new_events):
+                        self.failUnlessEqual(event.__class__, new_event.__class__)
+                        if isinstance(event, NodeEvent):
+                            self.failUnlessEqual(event.anchor, new_event.anchor)
+                        if isinstance(event, CollectionStartEvent):
+                            self.failUnlessEqual(event.tag, new_event.tag)
+                        if isinstance(event, ScalarEvent):
+                            #self.failUnlessEqual(event.implicit, new_event.implicit)
+                            if True not in event.implicit+new_event.implicit:
+                                self.failUnlessEqual(event.tag, new_event.tag)
+                            self.failUnlessEqual(event.value, new_event.value)
+
+
     def _dump(self, filename, events, canonical):
         print "="*30
@@ -46,4 +81,5 @@
 TestEmitter.add_tests('testEmitterOnCanonicalNormally', '.canonical')
 TestEmitter.add_tests('testEmitterOnCanonicalCanonically', '.canonical')
+TestEmitter.add_tests('testEmitterStyles', '.canonical', '.data')
 
 class EventsLoader(Loader):
