Esempio n. 1
0
        private void ComparePipData(string expected, string objectToSerialize, string quoteChar = "\'")
        {
            var result = Build().AddSpec("const obj = " + objectToSerialize + ";").EvaluateExpressionWithNoErrors("obj") as ObjectLiteral;

            Assert.True(result != null, "Expected to receive an ObjectLiteral from evaluation the data");

            var renderer = new PipFragmentRenderer(
                absPath => {
                var path     = absPath.ToString(PathTable, PathFormat.Script);
                var testRoot = TestRoot.Replace('\\', '/') + "/";
                if (path.StartsWith(testRoot, StringComparison.OrdinalIgnoreCase))
                {
                    return("##" + path.Substring(testRoot.Length) + "##");
                }
                return("##" + path + "##");
            },
                StringTable,
                x => "@@" + x + "@@");
            var pipData = AmbientJson.CreatePipData(StringTable, result, quoteChar, new PipDataBuilder(StringTable));

            var canonicalPipData  = pipData.ToString(renderer).Replace("\r\n", "\n").Replace("/", "\\\\");
            var canonicalExpected = expected.Replace("\r\n", "\n").Replace("/", "\\\\");

            Assert.Equal(canonicalExpected, canonicalPipData);
        }
Esempio n. 2
0
        public void TestAdditionaLJsonOptions(string option)
        {
            var spec   = @"
const options : Object = {
    pathRenderingOption: """ + option + @"""
};
";
            var result = Build().AddSpec(spec).EvaluateExpressionWithNoErrors("options") as ObjectLiteral;

            Assert.True(result != null, "Expected to receive an ObjectLiteral from evaluation the data");

            var convertedResult = AmbientJson.GetAdditionalOptions(FrontEndContext, result);

            Assert.True(typeof(AmbientJson.AdditionalJsonOptions).Equals(convertedResult.GetType()));

            var writeFileOption = AmbientJson.GetWriteFileOption(convertedResult);

            switch (option)
            {
            case "none":
                Assert.True(writeFileOption.PathRenderingOption == WriteFile.PathRenderingOption.None);
                break;

            case "backSlashes":
                Assert.True(writeFileOption.PathRenderingOption == WriteFile.PathRenderingOption.BackSlashes);
                break;

            case "escapedBackSlashes":
                Assert.True(writeFileOption.PathRenderingOption == WriteFile.PathRenderingOption.EscapedBackSlashes);
                break;

            case "forwardSlashes":
                Assert.True(writeFileOption.PathRenderingOption == WriteFile.PathRenderingOption.ForwardSlashes);
                break;
            }
        }