public void SetUp()
 {
     _path = Path.GetTempFileName();
     File.WriteAllText(_path, ".css { text-align: right; }");
     _bundle = new Bundle().File("file1");
     _fileSystem = MockRepository.GenerateMock<IFileSystem>();
     _fileSystem.Stub(arg => arg.AbsolutePath("file1")).Return(_path);
     _fileSystem
         .Stub(arg => arg.OpenFile(_path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
         .WhenCalled(arg => arg.ReturnValue = File.OpenRead(_path))
         .Return(null);
     _concatenator = MockRepository.GenerateMock<IAssetConcatenator>();
     _concatenator
         .Stub(arg => arg.Concatenate(Arg<IEnumerable<string>>.Is.Anything))
         .WhenCalled(arg => arg.ReturnValue = ((IEnumerable<string>)arg.Arguments.First()).First())
         .Return(null);
     _transformer = MockRepository.GenerateMock<IAssetTransformer>();
     _transformer
         .Stub(arg => arg.Transform(Arg<string>.Is.Anything))
         .WhenCalled(arg => arg.ReturnValue = arg.Arguments.First())
         .Return(null);
     _watcher = new BundleWatcher(_bundle, _fileSystem, _concatenator, _transformer);
     _httpRuntime = MockRepository.GenerateMock<IHttpRuntime>();
     _systemClock = MockRepository.GenerateMock<ISystemClock>();
     _systemClock.Stub(arg => arg.UtcDateTime).Return(new DateTime(2012, 1, 1, 0, 0, 0, DateTimeKind.Utc));
     _routeId = Guid.NewGuid();
     _cssBundleWatcherRoute = new CssBundleWatcherRoute("route", _routeId, "relative", _watcher, _httpRuntime, _systemClock);
 }
Exemple #2
0
        public BundleContents GetContents(IFileSystem fileSystem, IAssetConcatenator concatenator, IEnumerable <IAssetTransformer> transformers)
        {
            fileSystem.ThrowIfNull("fileSystem");
            transformers.ThrowIfNull("transformers");
            concatenator.ThrowIfNull("concatenator");

            AssetFile[] unorderedAssets = _assets.SelectMany(arg => arg.ResolveAssetFiles(fileSystem)).ToArray();

            return(GetContents(fileSystem, unorderedAssets, concatenator, transformers));
        }
Exemple #3
0
		public BundleRoute(Bundle bundle, string routeName, string relativePath, IAssetConcatenator concatenator, IEnumerable<IAssetTransformer> transformers)
		{
			bundle.ThrowIfNull("bundle");
			routeName.ThrowIfNull("routeName");
			relativePath.ThrowIfNull("relativePath");
			concatenator.ThrowIfNull("concatenator");
			transformers.ThrowIfNull("transformers");

			_bundle = bundle;
			_routeName = routeName;
			_relativePath = relativePath;
			_concatenator = concatenator;
			_transformers = transformers;
		}
Exemple #4
0
        public BundleRoute(Bundle bundle, string routeName, string relativePath, IAssetConcatenator concatenator, IEnumerable <IAssetTransformer> transformers)
        {
            bundle.ThrowIfNull("bundle");
            routeName.ThrowIfNull("routeName");
            relativePath.ThrowIfNull("relativePath");
            concatenator.ThrowIfNull("concatenator");
            transformers.ThrowIfNull("transformers");

            _bundle       = bundle;
            _routeName    = routeName;
            _relativePath = relativePath;
            _concatenator = concatenator;
            _transformers = transformers;
        }
Exemple #5
0
        public BundleWatcher(Bundle bundle, IFileSystem fileSystem, IAssetConcatenator concatenator, IEnumerable <IAssetTransformer> transformers)
        {
            bundle.ThrowIfNull("bundle");
            fileSystem.ThrowIfNull("fileSystem");
            concatenator.ThrowIfNull("concatenator");
            transformers.ThrowIfNull("transformers");

            _bundle              = bundle;
            _concatenator        = concatenator;
            _transformers        = transformers.ToArray();
            _fileSystem          = fileSystem;
            _watchTimer.Elapsed += WatchTimerElapsed;
            RefreshContents();
            WatchForChanges();
        }
        public BundleWatcher(Bundle bundle, IFileSystem fileSystem, IAssetConcatenator concatenator, IEnumerable<IAssetTransformer> transformers)
        {
            bundle.ThrowIfNull("bundle");
            fileSystem.ThrowIfNull("fileSystem");
            concatenator.ThrowIfNull("concatenator");
            transformers.ThrowIfNull("transformers");

            _bundle = bundle;
            _concatenator = concatenator;
            _transformers = transformers.ToArray();
            _fileSystem = fileSystem;
            _watchTimer.Elapsed += WatchTimerElapsed;
            RefreshContents();
            WatchForChanges();
        }
Exemple #7
0
        public BundleRoute(Bundle bundle, string routeName, Scheme scheme, string relativePath, IComparer <AssetFile> assetOrder, IAssetConcatenator concatenator, IEnumerable <IAssetTransformer> transformers)
        {
            bundle.ThrowIfNull("bundle");
            routeName.ThrowIfNull("routeName");
            relativePath.ThrowIfNull("relativePath");
            assetOrder.ThrowIfNull("assetOrder");
            concatenator.ThrowIfNull("concatenator");
            transformers.ThrowIfNull("transformers");

            _bundle       = bundle;
            _routeName    = routeName;
            _scheme       = scheme;
            _relativePath = relativePath;
            _assetOrder   = assetOrder;
            _concatenator = concatenator;
            _transformers = transformers;
        }
 public void SetUp()
 {
     _path = Path.GetTempFileName();
     File.WriteAllText(_path, "contents");
     _bundle = new Bundle().File("file1");
     _fileSystem = MockRepository.GenerateMock<IFileSystem>();
     _fileSystem.Stub(arg => arg.AbsolutePath("file1")).Return(_path);
     _fileSystem
         .Stub(arg => arg.OpenFile(_path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
         .WhenCalled(arg => arg.ReturnValue = File.OpenRead(_path))
         .Return(null);
     _concatenator = MockRepository.GenerateMock<IAssetConcatenator>();
     _concatenator
         .Stub(arg => arg.Concatenate(Arg<IEnumerable<string>>.Is.Anything))
         .WhenCalled(arg => arg.ReturnValue = ((IEnumerable<string>)arg.Arguments.First()).First())
         .Return(null);
     _transformer = MockRepository.GenerateMock<IAssetTransformer>();
     _transformer
         .Stub(arg => arg.Transform(Arg<string>.Is.Anything))
         .WhenCalled(arg => arg.ReturnValue = arg.Arguments.First())
         .Return(null);
     _watcher = new BundleWatcher(_bundle, _fileSystem, _concatenator, _transformer);
 }
Exemple #9
0
 public BundleRoute(Bundle bundle, string routeName, string relativePath, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
     : this(bundle, routeName, relativePath, concatenator, (IEnumerable <IAssetTransformer>)transformers)
 {
 }
Exemple #10
0
        private BundleContents GetContents(IFileSystem fileSystem, IEnumerable<AssetFile> assets, IAssetConcatenator concatenator, IEnumerable<IAssetTransformer> transformers)
        {
            string[] transformedFileContents = assets
                .Select(asset => GetFileContents(fileSystem, asset))
                .Select(fileContents => transformers.Aggregate(fileContents, (current, transformer) => transformer.Transform(current)))
                .ToArray();

            return new BundleContents(concatenator.Concatenate(transformedFileContents));
        }
Exemple #11
0
 public BundleWatcher(Bundle bundle, IFileSystem fileSystem, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
     : this(bundle, fileSystem, concatenator, (IEnumerable <IAssetTransformer>)transformers)
 {
 }
Exemple #12
0
 public BundleContents GetContents(IFileSystem fileSystem, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
 {
     return GetContents(fileSystem, concatenator, (IEnumerable<IAssetTransformer>)transformers);
 }
Exemple #13
0
        private BundleContents GetContents(IFileSystem fileSystem, IEnumerable<AssetFile> assets, IAssetConcatenator concatenator, IEnumerable<IAssetTransformer> transformers)
        {
            string[] transformedAssets = assets
                .Select(arg => GetFileContents(fileSystem, arg))
                .SelectMany(assetContents => transformers, (assetContents, transformer) => transformer.Transform(assetContents))
                .ToArray();

            return new BundleContents(concatenator.Concatenate(transformedAssets));
        }
 public AutoRouteCollection JavaScriptBundle(Bundle bundle, string routeName, Scheme scheme, string relativePath, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
 {
     return(JavaScriptBundle(bundle, routeName, scheme, relativePath, concatenator, (IEnumerable <IAssetTransformer>)transformers));
 }
Exemple #15
0
 public BundleRoute(Bundle bundle, string routeName, Scheme scheme, string relativePath, IComparer <AssetFile> assetOrder, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
     : this(bundle, routeName, scheme, relativePath, assetOrder, concatenator, (IEnumerable <IAssetTransformer>)transformers)
 {
 }
 public AutoRouteCollection CssBundle(Bundle bundle, string routeName, Scheme scheme, string relativePath, IComparer <AssetFile> assetOrder, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
 {
     return(CssBundle(bundle, routeName, scheme, relativePath, assetOrder, concatenator, (IEnumerable <IAssetTransformer>)transformers));
 }
Exemple #17
0
        private BundleContents GetContents(IFileSystem fileSystem, IEnumerable <AssetFile> assets, IAssetConcatenator concatenator, IEnumerable <IAssetTransformer> transformers)
        {
            string[] transformedFileContents = assets
                                               .Select(asset => GetFileContents(fileSystem, asset))
                                               .Select(fileContents => transformers.Aggregate(fileContents, (current, transformer) => transformer.Transform(current)))
                                               .ToArray();

            return(new BundleContents(concatenator.Concatenate(transformedFileContents)));
        }
Exemple #18
0
 public BundleContents GetContents(IFileSystem fileSystem, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
 {
     return(GetContents(fileSystem, concatenator, (IEnumerable <IAssetTransformer>)transformers));
 }
Exemple #19
0
        public AutoRouteCollection JavaScriptBundle(Bundle bundle, string routeName, string relativePath, IComparer <AssetFile> assetOrder, IAssetConcatenator concatenator, IEnumerable <IAssetTransformer> transformers)
        {
            ThrowIfNoBundleDependencyContainer();

            bundle.ThrowIfNull("bundle");
            routeName.ThrowIfNull("routeName");
            relativePath.ThrowIfNull("relativePath");
            assetOrder.ThrowIfNull("assetOrder");
            concatenator.ThrowIfNull("concatenator");
            transformers.ThrowIfNull("transformers");

            var watcher = new BundleWatcher(bundle, _bundleDependencyContainer.GetInstance <IFileSystem>(), assetOrder, concatenator, transformers);
            var route   = new JavaScriptBundleWatcherRoute(
                routeName,
                _bundleDependencyContainer.GetInstance <IGuidFactory>(),
                relativePath,
                watcher,
                _bundleDependencyContainer.GetInstance <IHttpRuntime>(),
                _bundleDependencyContainer.GetInstance <ISystemClock>());

            return(AdditionalRoutes(route));
        }
Exemple #20
0
 public void SetUp()
 {
     _bundle = new Bundle()
         .Directory("directory1")
         .File("file1");
     _fileSystem = MockRepository.GenerateMock<IFileSystem>();
     _fileSystem.Stub(arg => arg.AbsolutePath("directory1")).Return("directory1");
     _fileSystem.Stub(arg => arg.AbsolutePath("file1")).Return("file1");
     _fileSystem.Stub(arg => arg.AbsolutePath("file2")).Return("file2");
     _fileSystem.Stub(arg => arg.AbsolutePath("file3")).Return("file3");
     _fileSystem.Stub(arg => arg.GetDirectoryFiles("directory1", "*.*", SearchOption.AllDirectories)).Return(new[] { "file2", "file3" });
     _fileSystem
         .Stub(arg => arg.OpenFile(Arg<string>.Is.Anything, Arg<FileMode>.Is.Equal(FileMode.Open), Arg<FileAccess>.Is.Equal(FileAccess.Read), Arg<FileShare>.Is.Equal(FileShare.ReadWrite)))
         .WhenCalled(arg => arg.ReturnValue = new MemoryStream(Encoding.ASCII.GetBytes("ABC")))
         .Return(null);
     _comparer = MockRepository.GenerateMock<IComparer<AssetFile>>();
     _concatenator = MockRepository.GenerateMock<IAssetConcatenator>();
     _concatenator.Stub(arg => arg.Concatenate(Arg<IEnumerable<string>>.Is.Anything)).Return("");
     _transformer = MockRepository.GenerateMock<IAssetTransformer>();
     _transformer.Stub(arg => arg.Transform(Arg<string>.Is.Anything)).Return("");
     _bundle.GetContents(_fileSystem, _comparer, _concatenator, _transformer);
 }
        public AutoRouteCollection JavaScriptBundle(Bundle bundle, string routeName, Scheme scheme, string relativePath, IAssetConcatenator concatenator, IEnumerable <IAssetTransformer> transformers)
        {
            ThrowIfNoContainer();

            bundle.ThrowIfNull("bundle");
            routeName.ThrowIfNull("routeName");
            relativePath.ThrowIfNull("relativePath");
            concatenator.ThrowIfNull("concatenator");
            transformers.ThrowIfNull("transformers");

            var watcher     = new BundleWatcher(bundle, _container.GetInstance <IFileSystem>(), concatenator, transformers);
            var guidFactory = _container.GetInstance <IGuidFactory>();
            var httpRuntime = _container.GetInstance <IHttpRuntime>();
            var systemClock = _container.GetInstance <ISystemClock>();
            var route       = new JavaScriptBundleWatcherRoute(routeName, guidFactory.Random(), scheme, relativePath, watcher, httpRuntime, systemClock);

            return(AdditionalRoutes(route));
        }
Exemple #22
0
		public BundleRoute(Bundle bundle, string routeName, string relativePath, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
			: this(bundle, routeName, relativePath, concatenator, (IEnumerable<IAssetTransformer>)transformers)
		{
		}
 public BundleWatcher(Bundle bundle, IFileSystem fileSystem, IAssetConcatenator concatenator, params IAssetTransformer[] transformers)
     : this(bundle, fileSystem, concatenator, (IEnumerable<IAssetTransformer>)transformers)
 {
 }
Exemple #24
0
        public BundleContents GetContents(IFileSystem fileSystem, IAssetConcatenator concatenator, IEnumerable<IAssetTransformer> transformers)
        {
            fileSystem.ThrowIfNull("fileSystem");
            transformers.ThrowIfNull("transformers");
            concatenator.ThrowIfNull("concatenator");

            AssetFile[] unorderedAssets = _assets.SelectMany(arg => arg.ResolveAssetFiles(fileSystem)).ToArray();

            return GetContents(fileSystem, unorderedAssets, concatenator, transformers);
        }