Example #1
0
    public static string GetHtml(TestRenderer renderer, int componentId)
    {
        var frames  = renderer.GetCurrentRenderTreeFrames(componentId);
        var context = new HtmlRenderingContext(renderer);

        RenderFrames(context, frames, 0, frames.Count);
        return(context.Result.ToString());
    }
        public static string GetHtml(TestRenderer renderer, int componentId)
        {
            var frames      = renderer.GetCurrentRenderTreeFrames(componentId);
            var context     = new HtmlRenderingContext(renderer);
            var newPosition = RenderFrames(context, frames, 0, frames.Count);

            Debug.Assert(newPosition == frames.Count);
            return(string.Join(string.Empty, context.Result));
        }
        // public static string GetHtml(RenderFragment renderFragment, int componentId)
        // {
        //     var builder = new RenderTreeBuilder();
        //     renderFragment(builder);
        //     var frames = builder.GetFrames();
        //     var renderer = new TestRenderer(ser);
        // }

        private static int RenderFrames(HtmlRenderingContext context, ArrayRange <RenderTreeFrame> frames, int position, int maxElements)
        {
            var nextPosition = position;
            var endPosition  = position + maxElements;

            while (position < endPosition)
            {
                nextPosition = RenderCore(context, frames, position);
                if (position == nextPosition)
                {
                    throw new InvalidOperationException("We didn't consume any input.");
                }
                position = nextPosition;
            }

            return(nextPosition);
        }
Example #4
0
        private static int RenderFrames(HtmlRenderingContext context, ArrayRange <RenderTreeFrame> frames, int position, int maxElements)
        {
            var nextPosition = position;
            var endPosition  = position + maxElements;

            while (position < endPosition)
            {
                nextPosition = RenderCore(context, frames, position);
                if (position == nextPosition)
                {
                    break;
                }
                position = nextPosition;
            }

            return(nextPosition);
        }
        public static string GetHtml(TestRenderer renderer, int componentId)
        {
            var frames = renderer.GetCurrentRenderTreeFrames(componentId);

            var kk = "";

            for (int i = 0; i < frames.Count; i++)
            {
                kk += frames.Array[i].AttributeName;
            }

            var context     = new HtmlRenderingContext(renderer);
            var newPosition = RenderFrames(context, frames, 0, frames.Count);

            Debug.Assert(newPosition == frames.Count);

            return(string.Join(string.Empty, context.Result));
        }
 private static int RenderCore(
     HtmlRenderingContext context,
     ArrayRange <RenderTreeFrame> frames,
     int position)
 {
     ref var frame = ref frames.Array[position];