Ejemplo n.º 1
0
        public void OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
        {
            if (_started)
            {
                return;
            }

            lock (_lock)
            {
                if (!_started)
                {
                    _started = true;

                    //Adding Custom GridConverter
                    //GridContext.Current.Converters.Add(new RgGridConverter());

                    _examineIndexer          = new ExamineIndexer();                                                            //Register events for examine
                    _examineDefaultIndexer   = new ExamineDefaultIndexer();                                                     // adds path_search + hideFromSearch to examine
                    _examineLciIndexer       = new Skybrud.Umbraco.Module.Indexers.ExamineLciIndexer();                         //LowerCase Indexer
                    _examineDateRangeIndexer = new ExamineDateRangeIndexer(new[] { Constants.SkyConstants.Properties.ContentDate });
                    _defaultNewsValues       = new ContentDefaultValues();                                                      //Default newsdate defaultvalue
                    _defaultValues           = new ContentDefaultValues();

                    _assetsWatcher     = new AssetsWatcher();                                               //Watches pt. scripts-folder, to handle any js updates
                    ContentChangesGuid = Guid.NewGuid();                                                    //Sets guid to handle changes in Umbracontent, to update frontend NG-cache
                    JsChangesGuid      = Guid.NewGuid();                                                    //Sets guid to handle changes in scripts-folder
                }
            }
        }
Ejemplo n.º 2
0
        public void TestAddingMoreAndRemovingFiles1()
        {
            var scheduler = new TestScheduler();

            var foo = AbsoluteFilePath.Parse("/c/Foo.js");
            var bar = AbsoluteFilePath.Parse("/c/Bar.js");
            var lol = AbsoluteFilePath.Parse("/c/lol.js");

            var fileSystem = Substitute.For <IFileSystem>();

            SetFilesChanges(fileSystem, foo, new[]
            {
                OnNext(0, Encoding.UTF8.GetBytes("let foo = 0;")),
                OnNext(TimeSpan.FromSeconds(4).Ticks, Encoding.UTF8.GetBytes("let foo = 40;")),
                OnNext(TimeSpan.FromSeconds(7.1).Ticks, Encoding.UTF8.GetBytes("let foo = 700;"))
            }, scheduler);
            SetFilesChanges(fileSystem, bar, new[]
            {
                OnNext(0, Encoding.UTF8.GetBytes("let bar = 0;")),
                OnNext(TimeSpan.FromSeconds(5).Ticks, Encoding.UTF8.GetBytes("let bar = 50;"))
            }, scheduler);
            SetFilesChanges(fileSystem, lol, new[]
            {
                OnNext(0, Encoding.UTF8.GetBytes("let lol = 0;")),
                OnNext(TimeSpan.FromSeconds(6).Ticks, Encoding.UTF8.GetBytes("let lol = 10;"))
            }, scheduler);

            var assetsWatcher = new AssetsWatcher(fileSystem, Observable.Return(DirectoryPath.GetTempPath()), scheduler);

            var whatHappened = assetsWatcher.UpdateChangedBundleFiles(
                scheduler.CreateColdObservable(
                    OnNext(TimeSpan.FromSeconds(0).Ticks, ImmutableHashSet.Create(foo)),
                    OnNext(TimeSpan.FromSeconds(1).Ticks, ImmutableHashSet.Create(foo, bar)),
                    OnNext(TimeSpan.FromSeconds(2).Ticks, ImmutableHashSet.Create(foo, bar, lol)),
                    OnNext(TimeSpan.FromSeconds(6).Ticks, ImmutableHashSet.Create(foo, bar)),
                    OnNext(TimeSpan.FromSeconds(7).Ticks, ImmutableHashSet.Create(foo))
                    )).Check();

            scheduler.Start();

            Assert.AreEqual(6, whatHappened.Results.Count, "Seems like adding and removing files doesn't work, got incorrect number of file changed events.\n{0}", string.Join("\n", whatHappened.Results.Select(e => e.CoalesceKey + ": " + e.BlobData.ToString())));
            Assert.IsNull(whatHappened.Error, "Did not expect any errors in the observable stream.");
        }