public void Misc() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.BalanceSingleByteDoubleByteWidth); Assert.AreEqual(false, compatibilityOptions.ConvMailMergeEsc); Assert.AreEqual(false, compatibilityOptions.DoNotExpandShiftReturn); Assert.AreEqual(false, compatibilityOptions.DoNotLeaveBackslashAlone); Assert.AreEqual(false, compatibilityOptions.DoNotSuppressParagraphBorders); Assert.AreEqual(true, compatibilityOptions.DoNotUseIndentAsNumberingTabStop); Assert.AreEqual(false, compatibilityOptions.PrintBodyTextBeforeHeader); Assert.AreEqual(false, compatibilityOptions.PrintColBlack); Assert.AreEqual(true, compatibilityOptions.SelectFldWithFirstOrLastChar); Assert.AreEqual(false, compatibilityOptions.SubFontBySize); Assert.AreEqual(false, compatibilityOptions.SwapBordersFacingPgs); Assert.AreEqual(false, compatibilityOptions.TransparentMetafiles); Assert.AreEqual(true, compatibilityOptions.UseAnsiKerningPairs); Assert.AreEqual(false, compatibilityOptions.UseFELayout); Assert.AreEqual(false, compatibilityOptions.UsePrinterMetrics); // These options will become available in File > Options > Advanced > Compatibility Options in the output document doc.Save(ArtifactsDir + "CompatibilityOptions.Misc.docx"); }
public void Spacing() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.AutoSpaceLikeWord95); Assert.AreEqual(true, compatibilityOptions.DisplayHangulFixedWidth); Assert.AreEqual(false, compatibilityOptions.NoExtraLineSpacing); Assert.AreEqual(false, compatibilityOptions.NoLeading); Assert.AreEqual(false, compatibilityOptions.NoSpaceRaiseLower); Assert.AreEqual(false, compatibilityOptions.SpaceForUL); Assert.AreEqual(false, compatibilityOptions.SpacingInWholePoints); Assert.AreEqual(false, compatibilityOptions.SuppressBottomSpacing); Assert.AreEqual(false, compatibilityOptions.SuppressSpBfAfterPgBrk); Assert.AreEqual(false, compatibilityOptions.SuppressSpacingAtTopOfPage); Assert.AreEqual(false, compatibilityOptions.SuppressTopSpacing); Assert.AreEqual(false, compatibilityOptions.UlTrailSpace); // In the output document, these settings can be accessed in Microsoft Word via // File -> Options -> Advanced -> Compatibility options for... doc.Save(ArtifactsDir + "CompatibilityOptions.Spacing.docx"); }
public void Tables() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2002); Assert.AreEqual(false, compatibilityOptions.AdjustLineHeightInTable); Assert.AreEqual(false, compatibilityOptions.AlignTablesRowByRow); Assert.AreEqual(true, compatibilityOptions.AllowSpaceOfSameStyleInTable); Assert.AreEqual(true, compatibilityOptions.DoNotAutofitConstrainedTables); Assert.AreEqual(true, compatibilityOptions.DoNotBreakConstrainedForcedTable); Assert.AreEqual(false, compatibilityOptions.DoNotBreakWrappedTables); Assert.AreEqual(false, compatibilityOptions.DoNotSnapToGridInCell); Assert.AreEqual(false, compatibilityOptions.DoNotUseHTMLParagraphAutoSpacing); Assert.AreEqual(true, compatibilityOptions.DoNotVertAlignCellWithSp); Assert.AreEqual(false, compatibilityOptions.ForgetLastTabAlignment); Assert.AreEqual(true, compatibilityOptions.GrowAutofit); Assert.AreEqual(false, compatibilityOptions.LayoutRawTableWidth); Assert.AreEqual(false, compatibilityOptions.LayoutTableRowsApart); Assert.AreEqual(false, compatibilityOptions.NoColumnBalance); Assert.AreEqual(false, compatibilityOptions.OverrideTableStyleFontSizeAndJustification); Assert.AreEqual(false, compatibilityOptions.UseSingleBorderforContiguousCells); Assert.AreEqual(true, compatibilityOptions.UseWord2002TableStyleRules); Assert.AreEqual(false, compatibilityOptions.UseWord2010TableStyleRules); // These options will become available in File > Options > Advanced > Compatibility Options in the output document doc.Save(ArtifactsDir + "CompatibilityOptions.Tables.docx"); }
private bool method_155(CompatibilityOptions A_0) { if (this.method_2().ContainsKey(A_0)) { return(this.method_2()[A_0]); } return(false); }
/// <summary> /// Creates a link for the next page of results; To be used as the value of @odata.nextLink. /// </summary> /// <param name="request">The request on which to base the next page link.</param> /// <param name="pageSize">The number of results allowed per page.</param> /// <param name="instance">The instance based on which the skiptoken value is generated. </param> /// <param name="objToSkipTokenValue">Function that extracts out the skiptoken value from the instance.</param> /// <returns>A next page link.</returns> public static Uri GetNextPageLink(this HttpRequestMessage request, int pageSize, object instance, Func <object, string> objToSkipTokenValue) { if (request == null || request.RequestUri == null) { throw Error.ArgumentNull("request"); } CompatibilityOptions options = request.GetCompatibilityOptions(); return(GetNextPageHelper.GetNextPageLink(request.RequestUri, request.GetQueryNameValuePairs(), pageSize, instance, objToSkipTokenValue, options)); }
private void method_153(CompatibilityOptions A_0, bool A_1) { if (this.method_2().ContainsKey(A_0)) { this.method_2()[A_0] = A_1; } else { this.method_2().Add(A_0, A_1); } }
public void List() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(true, compatibilityOptions.UnderlineTabInNumList); Assert.AreEqual(true, compatibilityOptions.UseNormalStyleForList); // These options will become available in File > Options > Advanced > Compatibility Options in the output document doc.Save(ArtifactsDir + "CompatibilityOptions.List.docx"); }
public void List() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(true, compatibilityOptions.UnderlineTabInNumList); Assert.AreEqual(true, compatibilityOptions.UseNormalStyleForList); // In the output document, these settings can be accessed in Microsoft Word via // File -> Options -> Advanced -> Compatibility options for... doc.Save(ArtifactsDir + "CompatibilityOptions.List.docx"); }
public void Alignment() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(true, compatibilityOptions.CachedColBalance); Assert.AreEqual(true, compatibilityOptions.DoNotVertAlignInTxbx); Assert.AreEqual(true, compatibilityOptions.DoNotWrapTextWithPunct); Assert.AreEqual(false, compatibilityOptions.NoTabHangInd); // These options will become available in File > Options > Advanced > Compatibility Options in the output document doc.Save(ArtifactsDir + "CompatibilityOptions.Alignment.docx"); }
public void Alignment() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(true, compatibilityOptions.CachedColBalance); Assert.AreEqual(true, compatibilityOptions.DoNotVertAlignInTxbx); Assert.AreEqual(true, compatibilityOptions.DoNotWrapTextWithPunct); Assert.AreEqual(false, compatibilityOptions.NoTabHangInd); // In the output document, these settings can be accessed in Microsoft Word via // File -> Options -> Advanced -> Compatibility options for... doc.Save(ArtifactsDir + "CompatibilityOptions.Alignment.docx"); }
public void Legacy() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.FootnoteLayoutLikeWW8); Assert.AreEqual(false, compatibilityOptions.LineWrapLikeWord6); Assert.AreEqual(false, compatibilityOptions.MWSmallCaps); Assert.AreEqual(false, compatibilityOptions.ShapeLayoutLikeWW8); Assert.AreEqual(false, compatibilityOptions.UICompat97To2003); // These options will become available in File > Options > Advanced > Compatibility Options in the output document doc.Save(ArtifactsDir + "CompatibilityOptions.Legacy.docx"); }
public void WordPerfect() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.SuppressTopSpacingWP); Assert.AreEqual(false, compatibilityOptions.TruncateFontHeightsLikeWP6); Assert.AreEqual(false, compatibilityOptions.WPJustification); Assert.AreEqual(false, compatibilityOptions.WPSpaceWidth); Assert.AreEqual(false, compatibilityOptions.WrapTrailSpaces); // These options will become available in File > Options > Advanced > Compatibility Options in the output document doc.Save(ArtifactsDir + "CompatibilityOptions.WordPerfect.docx"); }
public void Legacy() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.FootnoteLayoutLikeWW8); Assert.AreEqual(false, compatibilityOptions.LineWrapLikeWord6); Assert.AreEqual(false, compatibilityOptions.MWSmallCaps); Assert.AreEqual(false, compatibilityOptions.ShapeLayoutLikeWW8); Assert.AreEqual(false, compatibilityOptions.UICompat97To2003); // In the output document, these settings can be accessed in Microsoft Word via // File -> Options -> Advanced -> Compatibility options for... doc.Save(ArtifactsDir + "CompatibilityOptions.Legacy.docx"); }
public void WordPerfect() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.SuppressTopSpacingWP); Assert.AreEqual(false, compatibilityOptions.TruncateFontHeightsLikeWP6); Assert.AreEqual(false, compatibilityOptions.WPJustification); Assert.AreEqual(false, compatibilityOptions.WPSpaceWidth); Assert.AreEqual(false, compatibilityOptions.WrapTrailSpaces); // In the output document, these settings can be accessed in Microsoft Word via // File -> Options -> Advanced -> Compatibility options for... doc.Save(ArtifactsDir + "CompatibilityOptions.WordPerfect.docx"); }
public void Breaks() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.ApplyBreakingRules); Assert.AreEqual(true, compatibilityOptions.DoNotUseEastAsianBreakRules); Assert.AreEqual(false, compatibilityOptions.ShowBreaksInFrames); Assert.AreEqual(true, compatibilityOptions.SplitPgBreakAndParaMark); Assert.AreEqual(true, compatibilityOptions.UseAltKinsokuLineBreakRules); Assert.AreEqual(false, compatibilityOptions.UseWord97LineBreakRules); // These options will become available in File > Options > Advanced > Compatibility Options in the output document doc.Save(ArtifactsDir + "CompatibilityOptions.Breaks.docx"); }
public void Breaks() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.ApplyBreakingRules); Assert.AreEqual(true, compatibilityOptions.DoNotUseEastAsianBreakRules); Assert.AreEqual(false, compatibilityOptions.ShowBreaksInFrames); Assert.AreEqual(true, compatibilityOptions.SplitPgBreakAndParaMark); Assert.AreEqual(true, compatibilityOptions.UseAltKinsokuLineBreakRules); Assert.AreEqual(false, compatibilityOptions.UseWord97LineBreakRules); // In the output document, these settings can be accessed in Microsoft Word via // File -> Options -> Advanced -> Compatibility options for... doc.Save(ArtifactsDir + "CompatibilityOptions.Breaks.docx"); }
/// <summary> /// Prints all options of a CompatibilityOptions object and indicates whether they are enabled or disabled /// </summary> private static void PrintCompatibilityOptions(CompatibilityOptions options) { for (int i = 1; i >= 0; i--) { Console.WriteLine(Convert.ToBoolean(i) ? "\tEnabled options:" : "\tDisabled options:"); SortedSet <string> optionNames = new SortedSet <string>(); foreach (System.ComponentModel.PropertyDescriptor descriptor in System.ComponentModel.TypeDescriptor.GetProperties(options)) { if (descriptor.PropertyType == Type.GetType("System.Boolean") && i == Convert.ToInt32(descriptor.GetValue(options))) { optionNames.Add(descriptor.Name); } } foreach (string s in optionNames) { Console.WriteLine($"\t\t{s}"); } } }
/// <summary> /// Creates a link for the next page of results; To be used as the value of @odata.nextLink. /// </summary> /// <param name="request">The request on which to base the next page link.</param> /// <param name="pageSize">The number of results allowed per page.</param> /// <param name="instance">Object which can be used to generate the skiptoken value.</param> /// <param name="objectToSkipTokenValue">Function that takes in the last object and returns the skiptoken value string.</param> /// <returns>A next page link.</returns> public static Uri GetNextPageLink(this HttpRequest request, int pageSize, object instance, Func <object, string> objectToSkipTokenValue) { if (request == null) { throw Error.ArgumentNull("request"); } UriBuilder uriBuilder = new UriBuilder(request.Scheme, request.Host.Host) { Path = (request.PathBase + request.Path).ToUriComponent() }; if (request.Host.Port.HasValue) { uriBuilder.Port = request.Host.Port.Value; } CompatibilityOptions compatibilityOptions = request.GetCompatibilityOptions(); IEnumerable <KeyValuePair <string, string> > queryParameters = request.Query.SelectMany(kvp => kvp.Value, (kvp, value) => new KeyValuePair <string, string>(kvp.Key, value)); return(GetNextPageHelper.GetNextPageLink(uriBuilder.Uri, queryParameters, pageSize, instance, objectToSkipTokenValue, compatibilityOptions)); }
[Test] //ExSkip public void OptimizeFor() { // Create a blank document and get its CompatibilityOptions object Document doc = new Document(); CompatibilityOptions options = doc.CompatibilityOptions; // By default, the CompatibilityOptions will contain the set of values printed below Console.WriteLine("\nDefault optimization settings:"); PrintCompatibilityOptions(options); // These attributes can be accessed in the output document via File > Options > Advanced > Compatibility for... doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx"); // We can use the OptimizeFor method to set these values automatically // for maximum compatibility with some Microsoft Word versions doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010); Console.WriteLine("\nOptimized for Word 2010:"); PrintCompatibilityOptions(options); doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Console.WriteLine("\nOptimized for Word 2000:"); PrintCompatibilityOptions(options); }
[Test] //ExSkip public void OptimizeFor() { Document doc = new Document(); // This object contains an extensive list of flags unique to each document // that allow us to facilitate backward compatibility with older versions of Microsoft Word. CompatibilityOptions options = doc.CompatibilityOptions; // Print the default settings for a blank document. Console.WriteLine("\nDefault optimization settings:"); PrintCompatibilityOptions(options); // We can access these settings in Microsoft Word via "File" -> "Options" -> "Advanced" -> "Compatibility options for...". doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx"); // We can use the OptimizeFor method to ensure optimal compatibility with a specific Microsoft Word version. doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010); Console.WriteLine("\nOptimized for Word 2010:"); PrintCompatibilityOptions(options); doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Console.WriteLine("\nOptimized for Word 2000:"); PrintCompatibilityOptions(options); }
public void Spacing() { Document doc = new Document(); CompatibilityOptions compatibilityOptions = doc.CompatibilityOptions; compatibilityOptions.OptimizeFor(MsWordVersion.Word2000); Assert.AreEqual(false, compatibilityOptions.AutoSpaceLikeWord95); Assert.AreEqual(true, compatibilityOptions.DisplayHangulFixedWidth); Assert.AreEqual(false, compatibilityOptions.NoExtraLineSpacing); Assert.AreEqual(false, compatibilityOptions.NoLeading); Assert.AreEqual(false, compatibilityOptions.NoSpaceRaiseLower); Assert.AreEqual(false, compatibilityOptions.SpaceForUL); Assert.AreEqual(false, compatibilityOptions.SpacingInWholePoints); Assert.AreEqual(false, compatibilityOptions.SuppressBottomSpacing); Assert.AreEqual(false, compatibilityOptions.SuppressSpBfAfterPgBrk); Assert.AreEqual(false, compatibilityOptions.SuppressSpacingAtTopOfPage); Assert.AreEqual(false, compatibilityOptions.SuppressTopSpacing); Assert.AreEqual(false, compatibilityOptions.UlTrailSpace); // These options will become available in File > Options > Advanced > Compatibility Options in the output document doc.Save(ArtifactsDir + "CompatibilityOptions.Spacing.docx"); }
internal static Uri GetNextPageLink(Uri requestUri, IEnumerable <KeyValuePair <string, string> > queryParameters, int pageSize, object instance = null, Func <object, string> objectToSkipTokenValue = null, CompatibilityOptions options = CompatibilityOptions.None) { Contract.Assert(requestUri != null); Contract.Assert(queryParameters != null); StringBuilder queryBuilder = new StringBuilder(); int nextPageSkip = pageSize; String skipTokenValue = objectToSkipTokenValue == null ? null : objectToSkipTokenValue(instance); //If no value for skiptoken can be extracted; revert to using skip bool useDefaultSkip = String.IsNullOrWhiteSpace(skipTokenValue); foreach (KeyValuePair <string, string> kvp in queryParameters) { string key = kvp.Key.ToLowerInvariant(); string value = kvp.Value; switch (key) { case "$top": int top; if (Int32.TryParse(value, out top)) { // We decrease top by the pageSize because that's the number of results we're returning in the current page. If the $top query option's value is less than or equal to the page size, there is no next page. if ((options & CompatibilityOptions.AllowNextLinkWithNonPositiveTopValue) != 0 || top > pageSize) { value = (top - pageSize).ToString(CultureInfo.InvariantCulture); } else { return(null); } } break; case "$skip": if (useDefaultSkip) { //Need to increment skip only if we are not using skiptoken int skip; if (Int32.TryParse(value, out skip)) { // We increase skip by the pageSize because that's the number of results we're returning in the current page nextPageSkip += skip; } } continue; case "$skiptoken": continue; default: break; } if (key.Length > 0 && key[0] == '$') { // $ is a legal first character in query keys key = '$' + Uri.EscapeDataString(key.Substring(1)); } else { key = Uri.EscapeDataString(key); } value = Uri.EscapeDataString(value); queryBuilder.Append(key); queryBuilder.Append('='); queryBuilder.Append(value); queryBuilder.Append('&'); } if (useDefaultSkip) { queryBuilder.AppendFormat("$skip={0}", nextPageSkip); } else { queryBuilder.AppendFormat("$skiptoken={0}", skipTokenValue); } UriBuilder uriBuilder = new UriBuilder(requestUri) { Query = queryBuilder.ToString() }; return(uriBuilder.Uri); }
/// <summary> /// Set the CompatibilityOptions. /// </summary> /// <param name="builder">The <see cref="IEndpointRouteBuilder"/>.</param> /// <param name="options">The <see cref="CompatibilityOptions"/></param> public static IEndpointRouteBuilder SetCompatibilityOptions(this IEndpointRouteBuilder builder, CompatibilityOptions options) { if (builder == null) { throw Error.ArgumentNull("builder"); } ODataOptions defaultOptions = builder.GetDefaultODataOptions(); defaultOptions.CompatibilityOptions = options; return(builder); }
internal bool method_0(CompatibilityOptions A_0) { return(this.method_155(A_0)); }
internal void method_1(CompatibilityOptions A_0, bool A_1) { this.method_153(A_0, A_1); }
/// <summary> /// Set the ODataCompatibilityOption. /// </summary> /// <param name="configuration">The server configuration.</param> /// <param name="options">The <see cref="CompatibilityOptions"/></param> public static void SetCompatibilityOptions(this HttpConfiguration configuration, CompatibilityOptions options) { if (configuration == null) { throw Error.ArgumentNull("configuration"); } configuration.Properties[CompatibilityOptionsKey] = options; }