/// <summary>
        /// asserts the script text without all the stuff i don't care about (comments, imports, etc)
        /// </summary>
        /// <param name="expectedText"></param>
        protected void AssertScriptTextForFunctionIs(string expectedText, ScriptExtensions expectedExtensions = ScriptExtensions.None)
        {
            string scriptText = GetScriptText();

            var scriptLines = scriptText.Split(Environment.NewLine);

            scriptLines = scriptLines.Skip(1)
                          .Where(ln => !ln.StartsWith("import"))
                          .Where(ln => !ln.Trim().StartsWith("/*"))
                          .Where(ln => !ln.Trim().StartsWith("*"))
                          .Where(ln => !ln.Trim().StartsWith("*/"))
                          .ToArray();
            scriptText = string.Join(Environment.NewLine, scriptLines).Trim();

            if (expectedExtensions.HasFlag(ScriptExtensions.KeyValueQueryParamHelper) || expectedExtensions.HasFlag(ScriptExtensions.ObjectQueryParamHelper))
            {
                var queryParamHelpers = new QueryParameterHelperFunctions(expectedExtensions.HasFlag(ScriptExtensions.ObjectQueryParamHelper));
                expectedText = queryParamHelpers.TransformText() + expectedText;
            }

            expectedText = expectedText.Trim();

            Assert.AreEqual(expectedText, scriptText);
        }