Beispiel #1
0
 public ModulePrefs(string markup, OffsetItem offset, GadgetMaster master)
     : this()
 {
     SetGadgetMaster(master);
     this.MyOffset = offset;
     LoadTag(markup);
 }
Beispiel #2
0
        static public GadgetMaster FetchGadget(string url, string controlFactoryKey)
        {
            if (string.IsNullOrEmpty(url))
            {
                throw new ArgumentNullException("URL must be specified");
            }

            string gadgetString = null;

            HttpWebRequest gadgetRequest = HttpWebRequest.Create(url) as HttpWebRequest;

            HttpWebResponse gadgetResponse = gadgetRequest.GetResponse() as HttpWebResponse;


            using (Stream stream = gadgetResponse.GetResponseStream())
            {
                StreamReader sr = new StreamReader(stream);
                gadgetString = sr.ReadToEnd();
                sr.Close();
            }

            GadgetMaster gm = GadgetMaster.CreateGadget(controlFactoryKey, gadgetString);

            gm.FetchMessageBundles();

            return(gm);
        }
Beispiel #3
0
        public static void LoadSampleMessageBundles(GadgetMaster master)
        {
            Locale locale;

            locale            = new Locale(null, master);
            locale.Lang       = "ru";
            locale.MessageSrc = "http://doc.examples.googlepages.com/ru_ALL.xml";
            locale.LoadMessageBundle(MessageBundleData.Source_RU);
            master.ModulePrefs.AddControl(locale);

            locale            = new Locale(null, master);
            locale.Lang       = "it";
            locale.MessageSrc = "http://doc.examples.googlepages.com/it_ALL.xml";
            locale.LoadMessageBundle(MessageBundleData.Source_IT);
            master.ModulePrefs.AddControl(locale);

            locale            = new Locale(null, master);
            locale.Lang       = "es";
            locale.MessageSrc = "http://doc.examples.googlepages.com/es_ALL.xml";
            locale.LoadMessageBundle(MessageBundleData.Source_IT);
            master.ModulePrefs.AddControl(locale);

            locale            = new Locale(null, master);
            locale.Lang       = "fr";
            locale.MessageSrc = "http://doc.examples.googlepages.com/fr_ALL.xml";
            locale.LoadMessageBundle(MessageBundleData.Source_FR);
            master.ModulePrefs.AddControl(locale);

            locale            = new Locale(null, master);
            locale.Lang       = "";
            locale.MessageSrc = "http://doc.examples.googlepages.com/ALL_ALL.xml";
            locale.LoadMessageBundle(MessageBundleData.Source_EN);
            master.ModulePrefs.AddControl(locale);
        }
Beispiel #4
0
        public void MissingLifecycleEventNull()
        {
            GadgetMaster target = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, GadgetXmlVersioned.VERSION_09_GADGET);

            Assert.IsNull(target.GetEventLink(LifecycleEventKey.ADD_APP), "Add App is not null");
            Assert.IsNull(target.GetEventLink(LifecycleEventKey.REMOVE_APP), "Remove App is not null");
        }
Beispiel #5
0
        public void IsProfileSubViewCorrect(string content, string testview, bool expected)
        {
            GadgetMaster master = new GadgetMaster(testFactory);
            ContentBlock target = new ContentBlock(content, master);

            Assert.AreEqual(expected, target.IsSubView(testview));
        }
Beispiel #6
0
        public void Render(int id)
        {
            try
            {
                var gContents = (from gc in gadgetDB.GadgetContents
                                 where (gc.GadgetID == id && gc.RecordTypeID == RecordTypeValues.GadgetXML)
                                 select gc).First();

                if (gContents == null)
                {
                    Response.Write("Not found");
                    return;
                }


                GadgetMaster gm = GadgetMaster.CreateGadget(GadgetManager.GADGET_FACTORY_KEY, gContents.Content);

                TextWriter writer = new StreamWriter(Response.OutputStream);
                gm.RenderContent(writer);
            }
            catch (Exception ex)
            {
                Response.Write("Error getting gadget: " + ex.Message);
                return;
            }
        }
Beispiel #7
0
        public void CanvasSizeCorrect()
        {
            GadgetMaster target = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, ModPrefMySpaceViewSettings.Source);

            Assert.AreEqual(ModPrefMySpaceViewSettings.expectedCanvasSize.Width, target.MySpaceViewSettings.CanvasSize.Width, "Canvas width wrong");
            Assert.AreEqual(ModPrefMySpaceViewSettings.expectedCanvasSize.Height, target.MySpaceViewSettings.CanvasSize.Height, "Canvas height wrong");
        }
Beispiel #8
0
        /// <summary>
        /// Creates the test object
        /// </summary>
        /// <returns></returns>
        ModulePrefs GetModulePrefsFullDataObject()
        {
            GadgetMaster master = new GadgetMaster(ControlFactory.GetControlFactory(TEST_FACTORY_KEY));
            ModulePrefs  target = new ModulePrefs(ModulePrefsFullData.Source, master);

            return(target);
        }
Beispiel #9
0
        public void ViewsStandardTest()
        {
            GadgetWithViews data = new GadgetWithViews();

            GadgetMaster target = new GadgetMaster(testFactory, data.Source);

            target.RenderingOptions.DivWrapContentSubViews  = false;
            target.RenderingOptions.DivWrapContentBlocks    = false;
            target.RenderingOptions.ClientRenderDataContext = false;

            string result = ControlTestHelper.NormalizeRenderResult(target.RenderToString("canvas"));

            Assert.AreEqual(data.ExpectedCanvas, result, "Canvas incorrect");

            String[,] td = new String[, ] {
                { "canvas", data.ExpectedCanvas },
                { "Canvas", data.ExpectedCanvas },
                { "mobilecanvas", data.ExpectedMobileCanvas },
                { "home", data.ExpectedHome },
                { "profile", data.ExpectedProfile }
            };

            for (int i = 0; i < td.Length / 2; i++)
            {
                result = ControlTestHelper.NormalizeRenderResult(target.RenderToString(td[i, 0]));
                Assert.AreEqual(td[i, 1], result, td[i, 0] + " render incorrect");
            }
        }
Beispiel #10
0
        public void TestResolvedDataKeys()
        {
            GadgetMaster       target;
            DataGadgetTestData gadget = new DataGadgetTestData();

            MemoryStream stream = new MemoryStream();
            StreamWriter writer = new StreamWriter(stream);

            target = new GadgetMaster(testFactory, gadget.Source);
            ResolveDataControlValues(target.MyDataContext, gadget.ExpectedViewer, gadget.ExpectedViewer, gadget.ExpectedFriends);
            target.MyDataContext.ResolveDataValues();
            target.RenderContent(writer);

            string written = ControlTestHelper.GetStreamContent(stream);

            object data;

            for (int i = 0; i < gadget.ExpectedDataKeys.Length; i++)
            {
                string key = gadget.ExpectedDataKeys[i];
                Assert.IsTrue(target.MasterDataContext.HasVariable(key), "Key not registered: " + key);
                data = target.MasterDataContext.GetVariableValue(gadget.ExpectedDataKeys[i]);
                Assert.IsNotNull(data, "Data not resolved for: " + key);
            }
        }
Beispiel #11
0
        public void RenderWithSharedDataKeys()
        {
            GadgetMaster       target;
            DataGadgetTestData data = new DataGadgetSharedDataKeys();

            target = new GadgetMaster(testFactory, data.Source);

            ResolveDataControlValues(target.MyDataContext, data.ExpectedViewer, data.ExpectedViewer, data.ExpectedFriends);
            target.RenderingOptions.ClientRenderCustomTemplates = false;
            target.RenderingOptions.ClientRenderDataContext     = false;
            target.RenderingOptions.DivWrapContentBlocks        = false;
            target.RenderingOptions.SuppressWhitespace          = true;

            //vwr, myfriends
            string result;

            result = ControlTestHelper.NormalizeRenderResult(target.RenderToString("canvas"));
            Assert.AreEqual(ControlTestHelper.NormalizeRenderResult(data.ExpectedCanvas), result, "Canvas Incorrect");

            result = ControlTestHelper.NormalizeRenderResult(target.RenderToString("home"));
            Assert.AreEqual(ControlTestHelper.NormalizeRenderResult(data.ExpectedHome), result, "Home Incorrect");

            result = ControlTestHelper.NormalizeRenderResult(target.RenderToString("profile"));
            Assert.AreEqual(ControlTestHelper.NormalizeRenderResult(data.ExpectedProfile), result, "Profile Incorrect");
        }
Beispiel #12
0
 /// <summary>
 /// Fully initialize the ContentBlock with master, markup, and offsets
 /// </summary>
 /// <param name="markup"></param>
 /// <param name="offset"></param>
 /// <param name="master"></param>
 public ContentBlock(string markup, OffsetItem offset, GadgetMaster master)
     : this()
 {
     SetGadgetMaster(master);
     MyOffset = offset;
     LoadTag(markup);
 }
Beispiel #13
0
        public void RenderGadgetSimpleTemplates()
        {
            GadgetWithSimpleTemplate data   = new GadgetWithSimpleTemplate();
            GadgetMaster             target = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, data.Source);

            ResolveDataControlValues(target.MyDataContext, data.ExpectedViewer, data.ExpectedViewer, data.ExpectedFriends);


            Assert.IsTrue(target.IsParsed);
            Assert.IsTrue(target.MyOffset.ToString().IndexOf("ContentBlock") > -1, "Content Block not found in offsets");

            target.RenderingOptions.DivWrapContentBlocks = false;
            target.RenderingOptions.SuppressWhitespace   = true;
            target.ClientRenderCustomTemplates           = false;

            string result = target.RenderToString("canvas");

            result = ControlTestHelper.NormalizeRenderResult(result);
            //remove double spaces
            while (result.Contains("  "))
            {
                result = result.Replace("  ", " ");
            }
            string expectedCanvas = ControlTestHelper.NormalizeRenderResult(data.ExpectedCanvas);

            Assert.IsFalse(string.IsNullOrEmpty(result), "empty result");

            Assert.AreEqual(expectedCanvas, result, "Rendered results are incorrect");
        }
Beispiel #14
0
        public void LifecycleEventsDefined()
        {
            GadgetMaster target = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, GadgetXmlEvents.SOURCE);

            Assert.AreEqual(GadgetXmlEvents.ADD_APP_EVENT_HREF, target.GetEventLink(LifecycleEventKey.ADD_APP).Href);
            Assert.AreEqual(GadgetXmlEvents.REMOVE_APP_EVENT_HREF, target.GetEventLink(LifecycleEventKey.REMOVE_APP).Href);
        }
Beispiel #15
0
        public void IsAnonymousViewCorrect(string content, bool expected)
        {
            GadgetMaster master = new GadgetMaster(testFactory);
            ContentBlock target = new ContentBlock(content, master);

            Assert.AreEqual(expected, target.IsAnonymousView());
        }
Beispiel #16
0
        /// <summary>
        /// Renders from offsets
        /// </summary>
        /// <param name="w"></param>
        /// <param name="offsets"></param>
        private void RenderOnce(StreamWriter w, string gadgetXml, string surface, string offsets)
        {
            InitRenderUserData();


            OffsetItem offsetObj = null;

            if (!string.IsNullOrEmpty(offsets))
            {
                offsetObj = new OffsetItem(offsets);
            }
            GadgetMaster gadget = GadgetMaster.CreateGadget(CurrentControlFactory.FactoryKey, gadgetXml, offsetObj);

            gadget.MyDataContext.Culture = CurrentCulture;
            if (RenderUsingData == RenderData.Sandbox)
            {
                AccountTestData.ResolveDataControlValues(gadget.MyDataContext, CurrentUser, CurrentUser, CurrentUserFriends);
            }
            else
            {
                //gadget.MyDataContext.ResolveDataValues(GetCurrentUserId());
            }
            gadget.RenderContent(w, surface);
            if (chkDisposeGadget.Checked)
            {
                gadget.Dispose();
            }
        }
Beispiel #17
0
        public void ProfileLocationAndMountCorrect()
        {
            GadgetMaster target = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, ModPrefMySpaceViewSettings.Source);

            Assert.AreEqual(ModPrefMySpaceViewSettings.expectedProfileLocation, target.MySpaceViewSettings.ProfileLocation, "Profile location wrong");
            Assert.AreEqual(ModPrefMySpaceViewSettings.expectedProfileMount, target.MySpaceViewSettings.GetProfileMount(), "Profile mount wrong");
        }
Beispiel #18
0
        public void ClonedGadgetHasExternalMessages()
        {
            GadgetMaster master = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, testData.Source);

            //This takes a long time.  Manual add of info instead.
            //GadgetProvider.FetchExternalMessageBundles(master);

            MessageBundleData.LoadSampleMessageBundles(master);


            string[] cultures = master.MyDataContext.ResourceStringCatalog.GetDefinedCultures();
            string   cult     = "";

            for (int i = 0; i < cultures.Length; i++)
            {
                cult += "|" + cultures[i];
            }
            Assert.IsTrue(cult.Contains("ru"));
            Assert.IsTrue(cult.Contains("fr"));


            Assert.IsTrue(master.HasExternalMessageBundles(), "External bundles not defined in main gadget");
            Assert.Greater(master.MasterDataContext.ResourceStringCatalog.GetDefinedCultures().Length, 0, "No locales defined in main gadget");

            GadgetMaster target = master.Clone() as GadgetMaster;

            Assert.IsNotNull(target);
            Assert.IsTrue(target.HasExternalMessageBundles(), "Clone has no bundles");
            Assert.Greater(target.MasterDataContext.ResourceStringCatalog.GetDefinedCultures().Length, 0, "No locales defined in clone gadget");

            string allMessages = master.GetConsolidatedMessageBundles();
        }
Beispiel #19
0
        public void InnerMarkupText()
        {
            GadgetMaster master = new GadgetMaster(ControlFactory.GetControlFactory(TEST_FACTORY_KEY));

            OsmlNav control = new OsmlNav(rawMarkup, master);

            Assert.AreEqual(content, control.InnerMarkup);
        }
Beispiel #20
0
        public void ProfileLeftViewRenders()
        {
            GadgetWithProfileLeftView data = new GadgetWithProfileLeftView();

            GadgetMaster target = new GadgetMaster(testFactory, data.Source);

            CheckRender(target, "Profile", data.ExpectedProfile);
        }
Beispiel #21
0
        public void OsVarSetVarAlternativeFoundInDataScriptParse()
        {
            GadgetVarsInDataPipeline testData = new GadgetVarsInDataPipeline();
            string       src    = testData.Source.Replace("os:Var", "os:SetVar");
            GadgetMaster target = new GadgetMaster(testFactory, src);

            Assert.IsTrue(target.MyOffset.ToString().Contains("os_Var"), "Offset not found for os:SetVar");
        }
        public void ExternalTemplateURISet()
        {
            GadgetReferencingTemplateLibrary testData = new GadgetReferencingTemplateLibrary();

            GadgetMaster master = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, testData.Source);             //new GadgetMaster(ControlFactory.GetControlFactory(TEST_FACTORY_KEY));

            Assert.AreEqual(testData.ExpectedTemplateLibraryUri, master.TemplateLibraries.Libraries[0].Uri, "Library URI incorrect");
        }
        public void ExternalTemplatesEmptyWhenNotDefined()
        {
            TestableMarkupDef testData = new DataGadgetEmptyAttrRepeatTestData();

            GadgetMaster master = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, testData.Source);             //new GadgetMaster(ControlFactory.GetControlFactory(TEST_FACTORY_KEY));

            Assert.IsFalse(master.TemplateLibraries.HasLibraries());
        }
        public void ExternalTemplateReferencesFound()
        {
            GadgetReferencingTemplateLibrary testData = new GadgetReferencingTemplateLibrary();

            GadgetMaster master = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, testData.Source);             //new GadgetMaster(ControlFactory.GetControlFactory(TEST_FACTORY_KEY));

            Assert.IsTrue(master.TemplateLibraries.HasLibraries());
        }
Beispiel #25
0
        public void OsVarFoundInTemplateParse()
        {
            GadgetVarsInTemplate testData = new GadgetVarsInTemplate();

            GadgetMaster target = new GadgetMaster(testFactory, testData.Source);

            Assert.IsTrue(target.MyOffset.ToString().Contains("os_Var"), "Offset not found for os:Var");
        }
Beispiel #26
0
        public void ExternalBundleLoadRobustness(string source)
        {
            GadgetMaster master = new GadgetMaster(ControlFactory.GetControlFactory(TEST_FACTORY_KEY));
            Locale       locale = new Locale(null, master);

            locale.LoadMessageBundle(source);
            Assert.IsNotNull(locale.MyMessageBundle.Messages);
        }
        public void DataResolvablePointersOk()
        {
            DataGadgetTestData data   = new DataGadgetResolvablePointerParams();
            GadgetMaster       target = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, data.Source);

            string[] circulars;
            Assert.IsFalse(target.Errors.HasCircularControlParameterReferences(out circulars));
            Assert.AreEqual(0, circulars.Length);
        }
        public void AgeRestrictionFromDirectLoad()
        {
            GadgetMaster   gadget = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, ModPrefMySpaceAppSettings.Source);
            ModuleOptional myOpt  = gadget.ModulePrefs.OptionalFeatures[0];

            MySpaceAppSettings target = new MySpaceAppSettings(myOpt);

            Assert.AreEqual(ModPrefMySpaceAppSettings.ExpectedAgeRestrictionValue, target.AppAgeRestriction, "Age restriction wrong");
        }
        public void AppSettingsDefinedInGadget()
        {
            GadgetMaster target = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, ModPrefMySpaceAppSettings.Source);

            Assert.IsNotNull(target, "Target gadget failed to parse");
            Assert.IsNotNull(target.ModulePrefs, "ModulePrefs is null");
            Assert.IsNotNull(target.ModulePrefs.MySpaceAppSettings, "Module prefs app settings is null");
            Assert.IsNotNull(target.MySpaceAppSettings, "MySpace app settings is null");
        }
Beispiel #30
0
        void CheckRender(GadgetMaster target, string view, string expected)
        {
            target.RenderingOptions.DivWrapContentBlocks    = false;
            target.RenderingOptions.ClientRenderDataContext = false;

            string result = ControlTestHelper.NormalizeRenderResult(target.RenderToString(view));

            Assert.AreEqual(ControlTestHelper.NormalizeRenderResult(expected), result, view + " view incorrect");
        }