Ejemplo n.º 1
0
 public void Css_Dom_Should_Contain_Two_Elements_For_Nested_Element_With_Props()
 {
     var engine = new ExtensibleEngineImpl(".outer{ background: blue; .inner { background: red; } }");
     Assert.AreEqual(2, engine.CssDom.Elements.Count);
 }
Ejemplo n.º 2
0
 public void Css_Dom_Should_Contain_Two_Elements_For_CSV_Props()
 {
     var engine = new ExtensibleEngineImpl(".test, .trial{ background: red; }");
     Assert.AreEqual(2, engine.CssDom.Elements.Count);
 }
Ejemplo n.º 3
0
        public static string Evaluate(string less)
        {
            var engine = new ExtensibleEngineImpl(less);

            return engine.Css;
        }
Ejemplo n.º 4
0
 public void Can_Retrieve_Css_Dom()
 {
     var engine = new ExtensibleEngineImpl(".outer .inner > a:Hover { background: red; }");
     Assert.AreEqual(1, engine.CssDom.Elements.Count);
     Assert.AreEqual(1, engine.CssDom.Elements[0].Properties.Count);
 }
		public void RenderCSS(TextWriter writer, IResourceURLFactory urlFactory, ICollection<IResource> writtenResources, bool compress, bool includeImages, IEnumerable<IImageResource> parentIncludedImages)
		{
			if (_compress.HasValue)
				compress = _compress.Value;

			if (writtenResources.Contains(this)) return;
			writtenResources.Add(this);

			IEnumerable<IImageResource> includedImages = includeImages ? ExtendIncludedImages(parentIncludedImages) : null;

			if (_builds != null)
				foreach (ICSSResource resource in _builds)
					RenderBuild(resource, writer, urlFactory, writtenResources, compress, includeImages, includedImages);

			if (_includes != null)
				foreach (ICSSResource resource in _includes)
					resource.RenderCSS(writer, urlFactory, writtenResources, compress, includeImages, includedImages);

			if (writer == null || !_hasContent) return;

			var r = new StreamReader(_location.GetStream());
			var s = r.ReadToEnd();
			r.Close();

			s = new ExtensibleEngineImpl(s).Css;

			if (compress) s = compressor.Compress(s);

			s = CSSUrlParser.ConvertUrls(s, Location, urlFactory, includedImages);

			writer.Write(s);
		}