Assert.IsFalse (r.Read (), "end");
}
+
+ protected void Read_DirectDictionaryContainer2 (XamlReader r)
+ {
+ ReadNamespace (r, String.Empty, "http://www.domain.com/path", "ns#1");
+ ReadNamespace (r, "x", XamlLanguage.Xaml2006Namespace, "ns#2");
+
+ // t:DirectDictionaryContainer
+ Assert.IsTrue (r.Read (), "so#1-1");
+ Assert.AreEqual (XamlNodeType.StartObject, r.NodeType, "so#1-2");
+ var xt = new XamlType (typeof (SecondTest.ResourcesDict2), r.SchemaContext);
+ Assert.AreEqual (xt, r.Type, "so#1-3");
+
+ if (r is XamlXmlReader)
+ ReadBase (r);
+
+ // m:Items
+ Assert.IsTrue (r.Read (), "sm1#1");
+ Assert.AreEqual (XamlNodeType.StartMember, r.NodeType, "sm1#2");
+ Assert.AreEqual (XamlLanguage.Items, r.Member, "sm1#3");
+
+ xt = r.SchemaContext.GetXamlType (typeof (SecondTest.TestObject2));
+ for (int i = 0; i < 2; i++) {
+ // t:TestObject
+ Assert.IsTrue (r.Read (), "so#x-1." + i);
+ Assert.AreEqual (XamlNodeType.StartObject, r.NodeType, "so#x-2." + i);
+ Assert.AreEqual (xt, r.Type, "so#x-3." + i);
+
+ // m:Key
+ Assert.IsTrue (r.Read (), "sm#y1");
+ Assert.AreEqual (XamlNodeType.StartMember, r.NodeType, "sm#y2");
+ Assert.AreEqual (XamlLanguage.Key, r.Member, "sm#y3");
+
+ // value
+ Assert.IsTrue (r.Read (), "v#y-1");
+ Assert.AreEqual (XamlNodeType.Value, r.NodeType, "v#y-2");
+ Assert.AreEqual (i == 0 ? "1" : "two", r.Value, "v#y-3");
+
+ // /m:Key
+ Assert.IsTrue (r.Read (), "em#y-1");
+ Assert.AreEqual (XamlNodeType.EndMember, r.NodeType, "em#y-2");
+
+ // m:TestProperty
+ Assert.IsTrue (r.Read (), "sm#x1");
+ Assert.AreEqual (XamlNodeType.StartMember, r.NodeType, "sm#x2");
+ Assert.AreEqual (xt.GetMember ("TestProperty"), r.Member, "sm#x3");
+
+ // x:Value
+ Assert.IsTrue (r.Read (), "v#x-1");
+ Assert.AreEqual (XamlNodeType.Value, r.NodeType, "v#x-2");
+ Assert.AreEqual (i == 0 ? "1" : "two", r.Value, "v#x-3");
+
+ // /m:TestProperty
+ Assert.IsTrue (r.Read (), "em#x-1");
+ Assert.AreEqual (XamlNodeType.EndMember, r.NodeType, "em#x-2");
+
+ // /t:TestObject
+ Assert.IsTrue (r.Read (), "eo#x-1");
+ Assert.AreEqual (XamlNodeType.EndObject, r.NodeType, "eo#x-2");
+ }
+
+ // /m:Items
+ Assert.IsTrue (r.Read (), "em#1-1");
+ Assert.AreEqual (XamlNodeType.EndMember, r.NodeType, "em#1-2");
+
+ // /t:DirectDictionaryContainer
+ Assert.IsTrue (r.Read (), "eo#1-1");
+ Assert.AreEqual (XamlNodeType.EndObject, r.NodeType, "eo#1-2");
+
+ Assert.IsFalse (r.Read (), "end");
+ }
protected void Read_AttachedProperty (XamlReader r)
{