rubyXL-ptr 3.3.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +17 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.rdoc +229 -0
  5. data/Rakefile +103 -0
  6. data/VERSION +1 -0
  7. data/lib/rubyXL.rb +12 -0
  8. data/lib/rubyXL/cell.rb +54 -0
  9. data/lib/rubyXL/convenience_methods.rb +1122 -0
  10. data/lib/rubyXL/objects/border.rb +74 -0
  11. data/lib/rubyXL/objects/calculation_chain.rb +31 -0
  12. data/lib/rubyXL/objects/cell_style.rb +65 -0
  13. data/lib/rubyXL/objects/chartsheet.rb +92 -0
  14. data/lib/rubyXL/objects/color.rb +27 -0
  15. data/lib/rubyXL/objects/column_range.rb +92 -0
  16. data/lib/rubyXL/objects/comments.rb +47 -0
  17. data/lib/rubyXL/objects/container_nodes.rb +135 -0
  18. data/lib/rubyXL/objects/content_types.rb +77 -0
  19. data/lib/rubyXL/objects/data_validation.rb +37 -0
  20. data/lib/rubyXL/objects/document_properties.rb +159 -0
  21. data/lib/rubyXL/objects/extensions.rb +40 -0
  22. data/lib/rubyXL/objects/external_links.rb +85 -0
  23. data/lib/rubyXL/objects/fill.rb +55 -0
  24. data/lib/rubyXL/objects/filters.rb +120 -0
  25. data/lib/rubyXL/objects/font.rb +48 -0
  26. data/lib/rubyXL/objects/formula.rb +24 -0
  27. data/lib/rubyXL/objects/ooxml_object.rb +460 -0
  28. data/lib/rubyXL/objects/reference.rb +110 -0
  29. data/lib/rubyXL/objects/relationships.rb +213 -0
  30. data/lib/rubyXL/objects/root.rb +86 -0
  31. data/lib/rubyXL/objects/shared_strings.rb +70 -0
  32. data/lib/rubyXL/objects/sheet_common.rb +51 -0
  33. data/lib/rubyXL/objects/sheet_data.rb +188 -0
  34. data/lib/rubyXL/objects/simple_types.rb +232 -0
  35. data/lib/rubyXL/objects/storage.rb +182 -0
  36. data/lib/rubyXL/objects/stylesheet.rb +232 -0
  37. data/lib/rubyXL/objects/text.rb +94 -0
  38. data/lib/rubyXL/objects/theme.rb +1716 -0
  39. data/lib/rubyXL/objects/workbook.rb +464 -0
  40. data/lib/rubyXL/objects/worksheet.rb +748 -0
  41. data/lib/rubyXL/parser.rb +29 -0
  42. data/lib/rubyXL/worksheet.rb +105 -0
  43. data/rdoc/README_rdoc.html +475 -0
  44. data/rdoc/RubyXL.html +598 -0
  45. data/rdoc/RubyXL/AExtension.html +223 -0
  46. data/rdoc/RubyXL/AExtensionStorageArea.html +103 -0
  47. data/rdoc/RubyXL/ActiveX.html +182 -0
  48. data/rdoc/RubyXL/ActiveXBinary.html +117 -0
  49. data/rdoc/RubyXL/AdjustHandleList.html +106 -0
  50. data/rdoc/RubyXL/Alignment.html +106 -0
  51. data/rdoc/RubyXL/AlternateContent.html +103 -0
  52. data/rdoc/RubyXL/Authors.html +106 -0
  53. data/rdoc/RubyXL/AutoFilter.html +106 -0
  54. data/rdoc/RubyXL/AutoFilterColumn.html +106 -0
  55. data/rdoc/RubyXL/BinaryImageFile.html +122 -0
  56. data/rdoc/RubyXL/BodyProperties.html +106 -0
  57. data/rdoc/RubyXL/BooleanNode.html +103 -0
  58. data/rdoc/RubyXL/BooleanValue.html +103 -0
  59. data/rdoc/RubyXL/Border.html +275 -0
  60. data/rdoc/RubyXL/BorderEdge.html +189 -0
  61. data/rdoc/RubyXL/Borders.html +157 -0
  62. data/rdoc/RubyXL/Break.html +106 -0
  63. data/rdoc/RubyXL/BreakList.html +106 -0
  64. data/rdoc/RubyXL/CT_AdjPoint2D.html +106 -0
  65. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +106 -0
  66. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +106 -0
  67. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +106 -0
  68. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +106 -0
  69. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +106 -0
  70. data/rdoc/RubyXL/CT_Backdrop.html +106 -0
  71. data/rdoc/RubyXL/CT_Bevel.html +106 -0
  72. data/rdoc/RubyXL/CT_BiLevelEffect.html +106 -0
  73. data/rdoc/RubyXL/CT_BlendEffect.html +106 -0
  74. data/rdoc/RubyXL/CT_Blip.html +106 -0
  75. data/rdoc/RubyXL/CT_BlipFillProperties.html +106 -0
  76. data/rdoc/RubyXL/CT_BlurEffect.html +106 -0
  77. data/rdoc/RubyXL/CT_Camera.html +106 -0
  78. data/rdoc/RubyXL/CT_Color.html +106 -0
  79. data/rdoc/RubyXL/CT_ColorChangeEffect.html +106 -0
  80. data/rdoc/RubyXL/CT_ColorMapping.html +106 -0
  81. data/rdoc/RubyXL/CT_ColorScheme.html +106 -0
  82. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +106 -0
  83. data/rdoc/RubyXL/CT_ConnectionSite.html +106 -0
  84. data/rdoc/RubyXL/CT_ConnectionSiteList.html +106 -0
  85. data/rdoc/RubyXL/CT_DashStop.html +106 -0
  86. data/rdoc/RubyXL/CT_DashStopList.html +106 -0
  87. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +106 -0
  88. data/rdoc/RubyXL/CT_DuotoneEffect.html +106 -0
  89. data/rdoc/RubyXL/CT_EffectContainer.html +106 -0
  90. data/rdoc/RubyXL/CT_EffectList.html +106 -0
  91. data/rdoc/RubyXL/CT_EffectReference.html +106 -0
  92. data/rdoc/RubyXL/CT_EffectStyleItem.html +106 -0
  93. data/rdoc/RubyXL/CT_EffectStyleList.html +106 -0
  94. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +106 -0
  95. data/rdoc/RubyXL/CT_FillEffect.html +106 -0
  96. data/rdoc/RubyXL/CT_FillOverlayEffect.html +106 -0
  97. data/rdoc/RubyXL/CT_FillStyleList.html +106 -0
  98. data/rdoc/RubyXL/CT_FlatText.html +106 -0
  99. data/rdoc/RubyXL/CT_FontCollection.html +106 -0
  100. data/rdoc/RubyXL/CT_FontReference.html +106 -0
  101. data/rdoc/RubyXL/CT_GeomGuideList.html +106 -0
  102. data/rdoc/RubyXL/CT_GlowEffect.html +106 -0
  103. data/rdoc/RubyXL/CT_GradientFillProperties.html +106 -0
  104. data/rdoc/RubyXL/CT_GradientStop.html +106 -0
  105. data/rdoc/RubyXL/CT_GradientStopList.html +106 -0
  106. data/rdoc/RubyXL/CT_HSLEffect.html +106 -0
  107. data/rdoc/RubyXL/CT_HslColor.html +106 -0
  108. data/rdoc/RubyXL/CT_Hyperlink.html +106 -0
  109. data/rdoc/RubyXL/CT_InnerShadowEffect.html +106 -0
  110. data/rdoc/RubyXL/CT_LightRig.html +106 -0
  111. data/rdoc/RubyXL/CT_LineEndProperties.html +106 -0
  112. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +106 -0
  113. data/rdoc/RubyXL/CT_LineProperties.html +106 -0
  114. data/rdoc/RubyXL/CT_LineStyleList.html +106 -0
  115. data/rdoc/RubyXL/CT_LinearShadeProperties.html +106 -0
  116. data/rdoc/RubyXL/CT_LuminanceEffect.html +106 -0
  117. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +106 -0
  118. data/rdoc/RubyXL/CT_OuterShadowEffect.html +106 -0
  119. data/rdoc/RubyXL/CT_Path2D.html +106 -0
  120. data/rdoc/RubyXL/CT_Path2DArcTo.html +106 -0
  121. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +106 -0
  122. data/rdoc/RubyXL/CT_Path2DList.html +106 -0
  123. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +106 -0
  124. data/rdoc/RubyXL/CT_Path2DTo.html +106 -0
  125. data/rdoc/RubyXL/CT_PathShadeProperties.html +106 -0
  126. data/rdoc/RubyXL/CT_PatternFillProperties.html +106 -0
  127. data/rdoc/RubyXL/CT_Point3D.html +106 -0
  128. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +106 -0
  129. data/rdoc/RubyXL/CT_PresetColor.html +106 -0
  130. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +106 -0
  131. data/rdoc/RubyXL/CT_PresetShadowEffect.html +106 -0
  132. data/rdoc/RubyXL/CT_PresetTextShape.html +106 -0
  133. data/rdoc/RubyXL/CT_ReflectionEffect.html +106 -0
  134. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +106 -0
  135. data/rdoc/RubyXL/CT_RelativeRect.html +106 -0
  136. data/rdoc/RubyXL/CT_SRgbColor.html +106 -0
  137. data/rdoc/RubyXL/CT_ScRgbColor.html +106 -0
  138. data/rdoc/RubyXL/CT_Scene3D.html +106 -0
  139. data/rdoc/RubyXL/CT_SchemeColor.html +106 -0
  140. data/rdoc/RubyXL/CT_Shape3D.html +106 -0
  141. data/rdoc/RubyXL/CT_ShapeStyle.html +106 -0
  142. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +106 -0
  143. data/rdoc/RubyXL/CT_SphereCoords.html +106 -0
  144. data/rdoc/RubyXL/CT_StretchInfoProperties.html +106 -0
  145. data/rdoc/RubyXL/CT_StyleMatrix.html +106 -0
  146. data/rdoc/RubyXL/CT_StyleMatrixReference.html +106 -0
  147. data/rdoc/RubyXL/CT_SupplementalFont.html +106 -0
  148. data/rdoc/RubyXL/CT_SystemColor.html +106 -0
  149. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +106 -0
  150. data/rdoc/RubyXL/CT_TextBlipBullet.html +106 -0
  151. data/rdoc/RubyXL/CT_TextCharBullet.html +106 -0
  152. data/rdoc/RubyXL/CT_TextCharacterProperties.html +106 -0
  153. data/rdoc/RubyXL/CT_TextFont.html +106 -0
  154. data/rdoc/RubyXL/CT_TextListStyle.html +106 -0
  155. data/rdoc/RubyXL/CT_TextNormalAutofit.html +106 -0
  156. data/rdoc/RubyXL/CT_TextParagraphProperties.html +106 -0
  157. data/rdoc/RubyXL/CT_TextSpacing.html +106 -0
  158. data/rdoc/RubyXL/CT_TextTabStop.html +106 -0
  159. data/rdoc/RubyXL/CT_TextTabStopList.html +106 -0
  160. data/rdoc/RubyXL/CT_TileInfoProperties.html +106 -0
  161. data/rdoc/RubyXL/CT_TintEffect.html +106 -0
  162. data/rdoc/RubyXL/CT_Transform2D.html +106 -0
  163. data/rdoc/RubyXL/CT_TransformEffect.html +106 -0
  164. data/rdoc/RubyXL/CT_Vector3D.html +106 -0
  165. data/rdoc/RubyXL/CT_XYAdjustHandle.html +106 -0
  166. data/rdoc/RubyXL/CalculationChain.html +176 -0
  167. data/rdoc/RubyXL/CalculationChainCell.html +106 -0
  168. data/rdoc/RubyXL/CalculationProperties.html +106 -0
  169. data/rdoc/RubyXL/Cell.html +558 -0
  170. data/rdoc/RubyXL/CellConvenienceMethods.html +1211 -0
  171. data/rdoc/RubyXL/CellExt.html +106 -0
  172. data/rdoc/RubyXL/CellSmartTag.html +106 -0
  173. data/rdoc/RubyXL/CellSmartTagProperty.html +106 -0
  174. data/rdoc/RubyXL/CellSmartTags.html +106 -0
  175. data/rdoc/RubyXL/CellStyle.html +106 -0
  176. data/rdoc/RubyXL/CellStyleXFs.html +157 -0
  177. data/rdoc/RubyXL/CellStyles.html +157 -0
  178. data/rdoc/RubyXL/CellValue.html +158 -0
  179. data/rdoc/RubyXL/CellWatch.html +106 -0
  180. data/rdoc/RubyXL/CellWatches.html +106 -0
  181. data/rdoc/RubyXL/CellXFs.html +161 -0
  182. data/rdoc/RubyXL/ChartColorsFile.html +122 -0
  183. data/rdoc/RubyXL/ChartFile.html +189 -0
  184. data/rdoc/RubyXL/ChartStyleFile.html +122 -0
  185. data/rdoc/RubyXL/ChartUserShapesFile.html +122 -0
  186. data/rdoc/RubyXL/Chartsheet.html +260 -0
  187. data/rdoc/RubyXL/ChartsheetPageSetup.html +106 -0
  188. data/rdoc/RubyXL/ChartsheetProperties.html +106 -0
  189. data/rdoc/RubyXL/ChartsheetProtection.html +106 -0
  190. data/rdoc/RubyXL/ChartsheetView.html +106 -0
  191. data/rdoc/RubyXL/ChartsheetViews.html +106 -0
  192. data/rdoc/RubyXL/Color.html +175 -0
  193. data/rdoc/RubyXL/ColorFilter.html +106 -0
  194. data/rdoc/RubyXL/ColorScale.html +106 -0
  195. data/rdoc/RubyXL/ColorSet.html +106 -0
  196. data/rdoc/RubyXL/Colors.html +106 -0
  197. data/rdoc/RubyXL/ColumnRange.html +245 -0
  198. data/rdoc/RubyXL/ColumnRanges.html +289 -0
  199. data/rdoc/RubyXL/Comment.html +106 -0
  200. data/rdoc/RubyXL/CommentList.html +106 -0
  201. data/rdoc/RubyXL/CommentsFile.html +197 -0
  202. data/rdoc/RubyXL/ConditionalFormatValue.html +106 -0
  203. data/rdoc/RubyXL/ConditionalFormatting.html +106 -0
  204. data/rdoc/RubyXL/ConditionalFormattingRule.html +106 -0
  205. data/rdoc/RubyXL/ContentTypeDefault.html +103 -0
  206. data/rdoc/RubyXL/ContentTypeOverride.html +103 -0
  207. data/rdoc/RubyXL/ContentTypes.html +248 -0
  208. data/rdoc/RubyXL/ControlPropertiesFile.html +117 -0
  209. data/rdoc/RubyXL/CorePropertiesFile.html +474 -0
  210. data/rdoc/RubyXL/CustomColor.html +106 -0
  211. data/rdoc/RubyXL/CustomColorList.html +106 -0
  212. data/rdoc/RubyXL/CustomFilter.html +106 -0
  213. data/rdoc/RubyXL/CustomFilters.html +106 -0
  214. data/rdoc/RubyXL/CustomGeometry.html +106 -0
  215. data/rdoc/RubyXL/CustomProperties.html +106 -0
  216. data/rdoc/RubyXL/CustomPropertiesFile.html +122 -0
  217. data/rdoc/RubyXL/CustomProperty.html +106 -0
  218. data/rdoc/RubyXL/CustomSheetView.html +106 -0
  219. data/rdoc/RubyXL/CustomSheetViews.html +106 -0
  220. data/rdoc/RubyXL/CustomWorkbookView.html +106 -0
  221. data/rdoc/RubyXL/CustomWorkbookViews.html +106 -0
  222. data/rdoc/RubyXL/CustomXMLFile.html +117 -0
  223. data/rdoc/RubyXL/DXF.html +106 -0
  224. data/rdoc/RubyXL/DXFs.html +106 -0
  225. data/rdoc/RubyXL/DataBar.html +106 -0
  226. data/rdoc/RubyXL/DataConsolidate.html +106 -0
  227. data/rdoc/RubyXL/DataConsolidationReference.html +106 -0
  228. data/rdoc/RubyXL/DataConsolidationReferences.html +106 -0
  229. data/rdoc/RubyXL/DataType.html +143 -0
  230. data/rdoc/RubyXL/DataValidation.html +106 -0
  231. data/rdoc/RubyXL/DataValidations.html +106 -0
  232. data/rdoc/RubyXL/DateGroupItem.html +106 -0
  233. data/rdoc/RubyXL/DefinedName.html +106 -0
  234. data/rdoc/RubyXL/DefinedNameExt.html +106 -0
  235. data/rdoc/RubyXL/DefinedNames.html +106 -0
  236. data/rdoc/RubyXL/DefinedNamesExt.html +106 -0
  237. data/rdoc/RubyXL/DocumentPropertiesFile.html +255 -0
  238. data/rdoc/RubyXL/DrawingFile.html +188 -0
  239. data/rdoc/RubyXL/DynamicFilter.html +106 -0
  240. data/rdoc/RubyXL/EmbeddedControl.html +106 -0
  241. data/rdoc/RubyXL/EmbeddedControls.html +106 -0
  242. data/rdoc/RubyXL/Extension.html +106 -0
  243. data/rdoc/RubyXL/ExtensionStorageArea.html +106 -0
  244. data/rdoc/RubyXL/Extents.html +106 -0
  245. data/rdoc/RubyXL/ExternalBook.html +106 -0
  246. data/rdoc/RubyXL/ExternalLinksFile.html +184 -0
  247. data/rdoc/RubyXL/ExternalReference.html +106 -0
  248. data/rdoc/RubyXL/ExternalReferences.html +106 -0
  249. data/rdoc/RubyXL/ExtraColorSchemeList.html +106 -0
  250. data/rdoc/RubyXL/FieldItem.html +106 -0
  251. data/rdoc/RubyXL/FileRecoveryProperties.html +106 -0
  252. data/rdoc/RubyXL/FileSharing.html +106 -0
  253. data/rdoc/RubyXL/FileVersion.html +106 -0
  254. data/rdoc/RubyXL/Fill.html +157 -0
  255. data/rdoc/RubyXL/Fills.html +157 -0
  256. data/rdoc/RubyXL/FilterContainer.html +106 -0
  257. data/rdoc/RubyXL/FloatNode.html +103 -0
  258. data/rdoc/RubyXL/FloatValue.html +103 -0
  259. data/rdoc/RubyXL/Font.html +184 -0
  260. data/rdoc/RubyXL/FontConvenienceMethods.html +603 -0
  261. data/rdoc/RubyXL/FontScheme.html +106 -0
  262. data/rdoc/RubyXL/Fonts.html +157 -0
  263. data/rdoc/RubyXL/Formula.html +106 -0
  264. data/rdoc/RubyXL/FunctionGroup.html +106 -0
  265. data/rdoc/RubyXL/FunctionGroups.html +106 -0
  266. data/rdoc/RubyXL/GenericStorageObject.html +298 -0
  267. data/rdoc/RubyXL/GradientFill.html +106 -0
  268. data/rdoc/RubyXL/HeaderFooterSettings.html +106 -0
  269. data/rdoc/RubyXL/Hyperlink.html +106 -0
  270. data/rdoc/RubyXL/HyperlinkRelFile.html +117 -0
  271. data/rdoc/RubyXL/Hyperlinks.html +106 -0
  272. data/rdoc/RubyXL/IconFilter.html +106 -0
  273. data/rdoc/RubyXL/IconSet.html +106 -0
  274. data/rdoc/RubyXL/IgnoredError.html +106 -0
  275. data/rdoc/RubyXL/IgnoredErrors.html +106 -0
  276. data/rdoc/RubyXL/IndexedColors.html +106 -0
  277. data/rdoc/RubyXL/InputCells.html +106 -0
  278. data/rdoc/RubyXL/IntegerNode.html +103 -0
  279. data/rdoc/RubyXL/IntegerValue.html +103 -0
  280. data/rdoc/RubyXL/LegacyCell.html +181 -0
  281. data/rdoc/RubyXL/LegacyWorksheet.html +355 -0
  282. data/rdoc/RubyXL/MRUColors.html +106 -0
  283. data/rdoc/RubyXL/MacrosFile.html +122 -0
  284. data/rdoc/RubyXL/MergedCell.html +106 -0
  285. data/rdoc/RubyXL/MergedCells.html +106 -0
  286. data/rdoc/RubyXL/NumFmt.html +106 -0
  287. data/rdoc/RubyXL/NumberFormat.html +158 -0
  288. data/rdoc/RubyXL/NumberFormats.html +172 -0
  289. data/rdoc/RubyXL/OLEObject.html +106 -0
  290. data/rdoc/RubyXL/OLEObjectFile.html +122 -0
  291. data/rdoc/RubyXL/OLEObjects.html +106 -0
  292. data/rdoc/RubyXL/OLESize.html +106 -0
  293. data/rdoc/RubyXL/OOXMLContainerObject.html +394 -0
  294. data/rdoc/RubyXL/OOXMLObject.html +118 -0
  295. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +532 -0
  296. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +564 -0
  297. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +603 -0
  298. data/rdoc/RubyXL/OOXMLTopLevelObject.html +384 -0
  299. data/rdoc/RubyXL/Offset.html +106 -0
  300. data/rdoc/RubyXL/OutlineProperties.html +106 -0
  301. data/rdoc/RubyXL/PageMargins.html +106 -0
  302. data/rdoc/RubyXL/PageSetup.html +106 -0
  303. data/rdoc/RubyXL/PageSetupProperties.html +106 -0
  304. data/rdoc/RubyXL/Pane.html +106 -0
  305. data/rdoc/RubyXL/Parser.html +204 -0
  306. data/rdoc/RubyXL/PatternFill.html +106 -0
  307. data/rdoc/RubyXL/PhoneticProperties.html +106 -0
  308. data/rdoc/RubyXL/PhoneticRun.html +106 -0
  309. data/rdoc/RubyXL/PivotArea.html +106 -0
  310. data/rdoc/RubyXL/PivotCache.html +106 -0
  311. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +133 -0
  312. data/rdoc/RubyXL/PivotCacheRecordsFile.html +122 -0
  313. data/rdoc/RubyXL/PivotCaches.html +106 -0
  314. data/rdoc/RubyXL/PivotReference.html +106 -0
  315. data/rdoc/RubyXL/PivotReferences.html +106 -0
  316. data/rdoc/RubyXL/PivotTableFile.html +133 -0
  317. data/rdoc/RubyXL/PivotTableSelection.html +106 -0
  318. data/rdoc/RubyXL/PresetGeometry.html +106 -0
  319. data/rdoc/RubyXL/PrintOptions.html +106 -0
  320. data/rdoc/RubyXL/PrinterSettingsFile.html +122 -0
  321. data/rdoc/RubyXL/ProtectedRange.html +106 -0
  322. data/rdoc/RubyXL/ProtectedRanges.html +106 -0
  323. data/rdoc/RubyXL/Protection.html +106 -0
  324. data/rdoc/RubyXL/RID.html +103 -0
  325. data/rdoc/RubyXL/RawOOXML.html +223 -0
  326. data/rdoc/RubyXL/Reference.html +640 -0
  327. data/rdoc/RubyXL/Relationship.html +103 -0
  328. data/rdoc/RubyXL/RelationshipSupport.html +419 -0
  329. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +148 -0
  330. data/rdoc/RubyXL/RichText.html +159 -0
  331. data/rdoc/RubyXL/RichTextRun.html +157 -0
  332. data/rdoc/RubyXL/Row.html +439 -0
  333. data/rdoc/RubyXL/RowExt.html +106 -0
  334. data/rdoc/RubyXL/RunProperties.html +106 -0
  335. data/rdoc/RubyXL/Scenario.html +106 -0
  336. data/rdoc/RubyXL/Scenarios.html +106 -0
  337. data/rdoc/RubyXL/Selection.html +165 -0
  338. data/rdoc/RubyXL/ShapeGuide.html +106 -0
  339. data/rdoc/RubyXL/ShapeTextRectangle.html +106 -0
  340. data/rdoc/RubyXL/SharedStringsTable.html +424 -0
  341. data/rdoc/RubyXL/Sheet.html +106 -0
  342. data/rdoc/RubyXL/SheetCalculationProperties.html +106 -0
  343. data/rdoc/RubyXL/SheetData.html +192 -0
  344. data/rdoc/RubyXL/SheetDataExt.html +106 -0
  345. data/rdoc/RubyXL/SheetDataSet.html +106 -0
  346. data/rdoc/RubyXL/SheetName.html +106 -0
  347. data/rdoc/RubyXL/SheetNames.html +106 -0
  348. data/rdoc/RubyXL/Sheets.html +106 -0
  349. data/rdoc/RubyXL/SlicerCacheFile.html +122 -0
  350. data/rdoc/RubyXL/SlicerFile.html +122 -0
  351. data/rdoc/RubyXL/SmartTagProperties.html +106 -0
  352. data/rdoc/RubyXL/SmartTagType.html +106 -0
  353. data/rdoc/RubyXL/SmartTagTypes.html +106 -0
  354. data/rdoc/RubyXL/SmartTags.html +106 -0
  355. data/rdoc/RubyXL/SortCondition.html +106 -0
  356. data/rdoc/RubyXL/SortState.html +106 -0
  357. data/rdoc/RubyXL/Sqref.html +197 -0
  358. data/rdoc/RubyXL/Stop.html +106 -0
  359. data/rdoc/RubyXL/StringNode.html +103 -0
  360. data/rdoc/RubyXL/StringNodeW3C.html +197 -0
  361. data/rdoc/RubyXL/StringValue.html +103 -0
  362. data/rdoc/RubyXL/Stylesheet.html +354 -0
  363. data/rdoc/RubyXL/TableFile.html +122 -0
  364. data/rdoc/RubyXL/TableParts.html +103 -0
  365. data/rdoc/RubyXL/TableStyle.html +106 -0
  366. data/rdoc/RubyXL/TableStyles.html +106 -0
  367. data/rdoc/RubyXL/Text.html +216 -0
  368. data/rdoc/RubyXL/Theme.html +535 -0
  369. data/rdoc/RubyXL/ThemeElements.html +106 -0
  370. data/rdoc/RubyXL/ThumbnailFile.html +122 -0
  371. data/rdoc/RubyXL/Top10.html +106 -0
  372. data/rdoc/RubyXL/VMLDrawingFile.html +134 -0
  373. data/rdoc/RubyXL/Variant.html +106 -0
  374. data/rdoc/RubyXL/Vector.html +161 -0
  375. data/rdoc/RubyXL/VectorValue.html +103 -0
  376. data/rdoc/RubyXL/VisualProperties.html +106 -0
  377. data/rdoc/RubyXL/WebPublishObject.html +106 -0
  378. data/rdoc/RubyXL/WebPublishObjects.html +106 -0
  379. data/rdoc/RubyXL/WebPublishingItem.html +106 -0
  380. data/rdoc/RubyXL/WebPublishingItems.html +106 -0
  381. data/rdoc/RubyXL/WebPublishingProperties.html +106 -0
  382. data/rdoc/RubyXL/Workbook.html +633 -0
  383. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +1321 -0
  384. data/rdoc/RubyXL/WorkbookProperties.html +106 -0
  385. data/rdoc/RubyXL/WorkbookProtection.html +106 -0
  386. data/rdoc/RubyXL/WorkbookRoot.html +402 -0
  387. data/rdoc/RubyXL/WorkbookView.html +106 -0
  388. data/rdoc/RubyXL/WorkbookViews.html +106 -0
  389. data/rdoc/RubyXL/Worksheet.html +433 -0
  390. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +2861 -0
  391. data/rdoc/RubyXL/WorksheetDimensions.html +106 -0
  392. data/rdoc/RubyXL/WorksheetFormatProperties.html +103 -0
  393. data/rdoc/RubyXL/WorksheetProperties.html +106 -0
  394. data/rdoc/RubyXL/WorksheetProtection.html +106 -0
  395. data/rdoc/RubyXL/WorksheetView.html +106 -0
  396. data/rdoc/RubyXL/WorksheetViews.html +106 -0
  397. data/rdoc/RubyXL/XF.html +106 -0
  398. data/rdoc/created.rid +38 -0
  399. data/rdoc/css/fonts.css +167 -0
  400. data/rdoc/css/rdoc.css +590 -0
  401. data/rdoc/fonts/Lato-Light.ttf +0 -0
  402. data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
  403. data/rdoc/fonts/Lato-Regular.ttf +0 -0
  404. data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
  405. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  406. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  407. data/rdoc/images/add.png +0 -0
  408. data/rdoc/images/arrow_up.png +0 -0
  409. data/rdoc/images/brick.png +0 -0
  410. data/rdoc/images/brick_link.png +0 -0
  411. data/rdoc/images/bug.png +0 -0
  412. data/rdoc/images/bullet_black.png +0 -0
  413. data/rdoc/images/bullet_toggle_minus.png +0 -0
  414. data/rdoc/images/bullet_toggle_plus.png +0 -0
  415. data/rdoc/images/date.png +0 -0
  416. data/rdoc/images/delete.png +0 -0
  417. data/rdoc/images/find.png +0 -0
  418. data/rdoc/images/loadingAnimation.gif +0 -0
  419. data/rdoc/images/macFFBgHack.png +0 -0
  420. data/rdoc/images/package.png +0 -0
  421. data/rdoc/images/page_green.png +0 -0
  422. data/rdoc/images/page_white_text.png +0 -0
  423. data/rdoc/images/page_white_width.png +0 -0
  424. data/rdoc/images/plugin.png +0 -0
  425. data/rdoc/images/ruby.png +0 -0
  426. data/rdoc/images/tag_blue.png +0 -0
  427. data/rdoc/images/tag_green.png +0 -0
  428. data/rdoc/images/transparent.png +0 -0
  429. data/rdoc/images/wrench.png +0 -0
  430. data/rdoc/images/wrench_orange.png +0 -0
  431. data/rdoc/images/zoom.png +0 -0
  432. data/rdoc/index.html +796 -0
  433. data/rdoc/js/darkfish.js +161 -0
  434. data/rdoc/js/jquery.js +4 -0
  435. data/rdoc/js/navigation.js +142 -0
  436. data/rdoc/js/navigation.js.gz +0 -0
  437. data/rdoc/js/search.js +109 -0
  438. data/rdoc/js/search_index.js +1 -0
  439. data/rdoc/js/search_index.js.gz +0 -0
  440. data/rdoc/js/searcher.js +229 -0
  441. data/rdoc/js/searcher.js.gz +0 -0
  442. data/rdoc/table_of_contents.html +2758 -0
  443. data/rubyXL.gemspec +516 -0
  444. data/spec/lib/cell_spec.rb +515 -0
  445. data/spec/lib/color_spec.rb +13 -0
  446. data/spec/lib/parser_spec.rb +118 -0
  447. data/spec/lib/reference_spec.rb +28 -0
  448. data/spec/lib/stylesheet_spec.rb +28 -0
  449. data/spec/lib/text_spec.rb +29 -0
  450. data/spec/lib/workbook_spec.rb +174 -0
  451. data/spec/lib/worksheet_spec.rb +1363 -0
  452. data/spec/spec_helper.rb +11 -0
  453. data/test/input/.gitkeep +0 -0
  454. data/test/output/.gitkeep +0 -0
  455. data/test/test_parse_write.rb +15 -0
  456. data/tmp/.gitignore +1 -0
  457. metadata +615 -0
@@ -0,0 +1,515 @@
1
+ require 'spec_helper'
2
+ require 'bigdecimal'
3
+
4
+ describe RubyXL::Cell do
5
+
6
+ before do
7
+ @workbook = RubyXL::Workbook.new
8
+ @worksheet = @workbook.add_worksheet('Test Worksheet')
9
+ @workbook.worksheets << @worksheet
10
+ (0..10).each do |i|
11
+ (0..10).each do |j|
12
+ @worksheet.add_cell(i, j, "#{i}:#{j}")
13
+ end
14
+ end
15
+ @cell = @worksheet[0][0]
16
+ end
17
+
18
+ describe '.add_cell' do
19
+ it 'should properly assign data types' do
20
+ r = 4
21
+ c = 4
22
+
23
+ cell = @worksheet.add_cell(r, c, 123)
24
+ expect(cell.datatype).to be_nil
25
+
26
+ cell = @worksheet.add_cell(r, c, "#{r}:#{c}")
27
+ expect(cell.datatype).to eq(RubyXL::DataType::RAW_STRING)
28
+
29
+ cell = @worksheet.add_cell(r, c, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => 'Hello')))
30
+ expect(cell.datatype).to eq(RubyXL::DataType::INLINE_STRING)
31
+ end
32
+ end
33
+
34
+ describe '.change_fill' do
35
+ it 'should cause an error if hex color code not passed' do
36
+ expect {
37
+ @cell.change_fill('G')
38
+ }.to raise_error(RuntimeError)
39
+ end
40
+
41
+ it 'should make cell fill color equal to hex color code passed' do
42
+ @cell.change_fill('0f0f0f')
43
+ expect(@cell.fill_color).to eq('0f0f0f')
44
+ end
45
+
46
+ it 'should cause an error if hex color code includes # character' do
47
+ expect {
48
+ @cell.change_fill('#0f0f0f')
49
+ }.to raise_error(RuntimeError)
50
+ end
51
+ end
52
+
53
+ describe '.change_font_name' do
54
+ it 'should make font name match font name passed' do
55
+ @cell.change_font_name('Arial')
56
+ expect(@cell.font_name).to eq('Arial')
57
+ end
58
+ end
59
+
60
+ describe '.change_font_size' do
61
+ it 'should make font size match number passed' do
62
+ @cell.change_font_size(30)
63
+ expect(@cell.font_size).to eq(30)
64
+ end
65
+
66
+ it 'should cause an error if a string passed' do
67
+ expect {
68
+ @cell.change_font_size('20')
69
+ }.to raise_error(RuntimeError)
70
+ end
71
+ end
72
+
73
+ describe '.change_font_color' do
74
+ it 'should cause an error if hex color code not passed' do
75
+ expect {
76
+ @cell.change_font_color('G')
77
+ }.to raise_error(RuntimeError)
78
+ end
79
+
80
+ it 'should make cell font color equal to hex color code passed' do
81
+ @cell.change_font_color('0f0f0f')
82
+ expect(@cell.font_color).to eq('0f0f0f')
83
+ end
84
+
85
+ it 'should cause an error if hex color code includes # character' do
86
+ expect {
87
+ @cell.change_font_color('#0f0f0f')
88
+ }.to raise_error(RuntimeError)
89
+ end
90
+ end
91
+
92
+ describe '.change_font_italics' do
93
+ it 'should make cell font italicized when true is passed' do
94
+ expect(@cell.is_italicized).to be_nil
95
+ @cell.change_font_italics(true)
96
+ expect(@cell.is_italicized).to eq(true)
97
+ end
98
+ end
99
+
100
+ describe '.change_font_bold' do
101
+ it 'should make cell font bolded when true is passed' do
102
+ expect(@cell.is_bolded).to be_nil
103
+ @cell.change_font_bold(true)
104
+ expect(@cell.is_bolded).to eq(true)
105
+ end
106
+ end
107
+
108
+ describe '.change_font_underline' do
109
+ it 'should make cell font underlined when true is passed' do
110
+ expect(@cell.is_underlined).to be_nil
111
+ @cell.change_font_underline(true)
112
+ expect(@cell.is_underlined).to eq(true)
113
+ end
114
+ end
115
+
116
+ describe '.change_font_strikethrough' do
117
+ it 'should make cell font struckthrough when true is passed' do
118
+ expect(@cell.is_struckthrough).to be_nil
119
+ @cell.change_font_strikethrough(true)
120
+ expect(@cell.is_struckthrough).to eq(true)
121
+ end
122
+ end
123
+
124
+ describe '.change_horizontal_alignment' do
125
+ it 'should cause cell to horizontally align as specified by the passed in string' do
126
+ expect(@cell.horizontal_alignment).to be_nil
127
+ @cell.change_horizontal_alignment('center')
128
+ expect(@cell.horizontal_alignment).to eq('center')
129
+ end
130
+ end
131
+
132
+ describe '.change_vertical_alignment' do
133
+ it 'should cause cell to vertically align as specified by the passed in string' do
134
+ expect(@cell.vertical_alignment).to be_nil
135
+ @cell.change_vertical_alignment('center')
136
+ expect(@cell.vertical_alignment).to eq('center')
137
+ end
138
+ end
139
+
140
+ describe '.change_wrap' do
141
+ it 'should cause cell to wrap align as specified by the passed in value' do
142
+ expect(@cell.text_wrap).to be_nil
143
+ @cell.change_text_wrap(true)
144
+ expect(@cell.text_wrap).to eq(true)
145
+ end
146
+ end
147
+
148
+ describe '.change_border_color' do
149
+ it 'should cause cell to have a colored top border' do
150
+ expect(@cell.get_border_color(:top)).to be_nil
151
+ @cell.change_border_color(:top, 'FF0000')
152
+ expect(@cell.get_border_color(:top)).to eq('FF0000')
153
+ end
154
+
155
+ it 'should cause cell to have a colored bottom border' do
156
+ expect(@cell.get_border_color(:bottom)).to be_nil
157
+ @cell.change_border_color(:bottom, 'FF0000')
158
+ expect(@cell.get_border_color(:bottom)).to eq('FF0000')
159
+ end
160
+
161
+ it 'should cause cell to have a colored left border' do
162
+ expect(@cell.get_border_color(:left)).to be_nil
163
+ @cell.change_border_color(:left, 'FF0000')
164
+ expect(@cell.get_border_color(:left)).to eq('FF0000')
165
+ end
166
+
167
+ it 'should cause cell to have a colored right border' do
168
+ expect(@cell.get_border_color(:right)).to be_nil
169
+ @cell.change_border_color(:right, 'FF0000')
170
+ expect(@cell.get_border_color(:right)).to eq('FF0000')
171
+ end
172
+
173
+ it 'should cause cell to have a colored diagonal border' do
174
+ expect(@cell.get_border_color(:diagonal)).to be_nil
175
+ @cell.change_border_color(:diagonal, 'FF0000')
176
+ expect(@cell.get_border_color(:diagonal)).to eq('FF0000')
177
+ end
178
+
179
+ it 'is not overridden if the border style is set afterwards' do
180
+ expect(@cell.get_border_color(:top)).to be_nil
181
+ expect(@cell.get_border(:top)).to be_nil
182
+ @cell.change_border_color(:top, 'FF0000')
183
+ @cell.change_border(:top, 'thin')
184
+ expect(@cell.get_border_color(:top)).to eq('FF0000')
185
+ expect(@cell.get_border(:top)).to eq('thin')
186
+ end
187
+ end
188
+
189
+ describe '.change_border' do
190
+ it 'should cause cell to have border at top with specified weight' do
191
+ expect(@cell.get_border(:top)).to be_nil
192
+ @cell.change_border(:top, 'thin')
193
+ expect(@cell.get_border(:top)).to eq('thin')
194
+ end
195
+
196
+ it 'should cause cell to have border at right with specified weight' do
197
+ expect(@cell.get_border(:right)).to be_nil
198
+ @cell.change_border(:right, 'thin')
199
+ expect(@cell.get_border(:right)).to eq('thin')
200
+ end
201
+
202
+ it 'should cause cell to have border at left with specified weight' do
203
+ expect(@cell.get_border(:left)).to be_nil
204
+ @cell.change_border(:left, 'thin')
205
+ expect(@cell.get_border(:left)).to eq('thin')
206
+ end
207
+
208
+ it 'should cause cell to have border at bottom with specified weight' do
209
+ expect(@cell.get_border(:bottom)).to be_nil
210
+ @cell.change_border(:bottom, 'thin')
211
+ expect(@cell.get_border(:bottom)).to eq('thin')
212
+ end
213
+
214
+ it 'should cause cell to have border at diagonal with specified weight' do
215
+ expect(@cell.get_border(:diagonal)).to be_nil
216
+ @cell.change_border(:diagonal, 'thin')
217
+ expect(@cell.get_border(:diagonal)).to eq('thin')
218
+ end
219
+ end
220
+
221
+ describe '.value' do
222
+ it 'should return the value of a date' do
223
+ date = Date.parse('January 1, 2011')
224
+ @cell.change_contents(date)
225
+ expect(@cell).to receive(:is_date?).at_least(1).and_return(true)
226
+ expect(@cell.value).to eq(date)
227
+ end
228
+
229
+ it 'should properly return value of inlineStr' do
230
+ cell = @worksheet.add_cell(5, 5, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => 'Hello')))
231
+ expect(cell.value).to eq('Hello')
232
+ end
233
+
234
+ it "should properly handle numeric values" do
235
+ @cell.datatype = nil
236
+ @cell.raw_value = '1'
237
+ expect(@cell.value).to eq(1)
238
+
239
+ @cell.raw_value = '10000000'
240
+ expect(@cell.value).to eq(10000000)
241
+
242
+ @cell.raw_value = '-10'
243
+ expect(@cell.value).to eq(-10)
244
+
245
+ @cell.raw_value = '0'
246
+ expect(@cell.value).to eq(0)
247
+
248
+ @cell.raw_value = '0.001'
249
+ expect(@cell.value).to eq(0.001)
250
+
251
+ @cell.raw_value = '-0.00000000001'
252
+ expect(@cell.value).to eq(-0.00000000001)
253
+
254
+ @cell.raw_value = '1E5'
255
+ expect(@cell.value).to eq(100000.0)
256
+
257
+ @cell.raw_value = '1E0'
258
+ expect(@cell.value).to eq(1.0)
259
+
260
+ @cell.raw_value = '1E-5'
261
+ expect(@cell.value).to eq(0.00001)
262
+
263
+ @cell.raw_value = '-1E5'
264
+ expect(@cell.value).to eq(-100000.0)
265
+
266
+ @cell.raw_value = '-1E0'
267
+ expect(@cell.value).to eq(-1.0)
268
+
269
+ @cell.raw_value = '-1E-5'
270
+ expect(@cell.value).to eq(-0.00001)
271
+
272
+ @cell.raw_value = '1DE-5'
273
+ expect(@cell.value).to eq('1DE-5')
274
+ end
275
+
276
+ context '1900-based dates' do
277
+ before(:each) { @workbook.date1904 = false }
278
+ it 'should convert date numbers correctly' do
279
+ date = 41019
280
+ @cell.change_contents(date)
281
+ expect(@cell).to receive(:is_date?).at_least(1).and_return(true)
282
+ expect(@cell.value).to eq(Date.parse('April 20, 2012'))
283
+ @cell.change_contents(35981)
284
+ expect(@cell.value).to eq(Date.parse('July 5, 1998'))
285
+ @cell.change_contents(0.019467592592592595)
286
+ expect(@cell.value).to eq(DateTime.parse('1899-12-31T00:28:02+00:00'))
287
+ @cell.change_contents(1)
288
+ expect(@cell.value).to eq(Date.parse('January 1, 1900'))
289
+ @cell.change_contents(59)
290
+ expect(@cell.value).to eq(Date.parse('February 28, 1900'))
291
+ @cell.change_contents(60)
292
+ # There's no way Ruby can return the nonexistent February 29th, so it has to be March 1st:
293
+ expect(@cell.value).to eq(Date.parse('March 1, 1900'))
294
+ @cell.change_contents(61)
295
+ expect(@cell.value).to eq(Date.parse('March 1, 1900'))
296
+ end
297
+ end
298
+
299
+ context '1904-based dates' do
300
+ before(:each) { @workbook.date1904 = true }
301
+ it 'should convert date numbers correctly' do
302
+ date = 39557
303
+ @cell.change_contents(date)
304
+ expect(@cell).to receive(:is_date?).at_least(1).and_return(true)
305
+ expect(@cell.value).to eq(Date.parse('April 20, 2012'))
306
+ @cell.change_contents(34519)
307
+ expect(@cell.value).to eq(Date.parse('July 5, 1998'))
308
+ end
309
+ end
310
+
311
+ context 'date before January 1, 1900' do
312
+ it 'should parse as date' do
313
+ @cell.set_number_format('h:mm:ss')
314
+ @cell.datatype = nil
315
+
316
+ @cell.raw_value = '0.97726851851851848'
317
+ expect(@cell.is_date?).to be(true)
318
+ expect(@cell.value).to eq(DateTime.parse('1899-12-31 23:27:16'))
319
+ @cell.raw_value = '1.9467592592592595E-2'
320
+ expect(@cell.is_date?).to be(true)
321
+ expect(@cell.value).to eq(DateTime.parse('1899-12-31 00:28:02'))
322
+ end
323
+ end
324
+
325
+ end
326
+
327
+ describe '.change_contents' do
328
+ it 'should cause cell value to match string or number that is passed in' do
329
+ @cell.change_contents('TEST')
330
+ expect(@cell.value).to eq('TEST')
331
+ expect(@cell.formula).to be_nil
332
+ end
333
+
334
+ it 'should cause cell value to match a date that is passed in' do
335
+ date = Date.parse('January 1, 2011')
336
+ @cell.change_contents(date)
337
+ expect(@cell).to receive(:is_date?).at_least(1).and_return(true)
338
+ expect(@cell.value).to eq(date)
339
+ expect(@cell.datatype).to be_nil
340
+ expect(@cell.formula).to be_nil
341
+ end
342
+
343
+ it 'should case cell value to match a Float that is passed in' do
344
+ number = 1.25
345
+ @cell.change_contents(number)
346
+ expect(@cell.value).to eq(number)
347
+ expect(@cell.datatype).to be_nil
348
+ expect(@cell.formula).to be_nil
349
+ end
350
+
351
+ it 'should case cell value to match an Integer that is passed in' do
352
+ number = 1234567
353
+ @cell.change_contents(number)
354
+ expect(@cell.value).to eq(number)
355
+ expect(@cell.datatype).to be_nil
356
+ expect(@cell.formula).to be_nil
357
+ end
358
+
359
+ it 'should case cell value to match an BigDecimal that is passed in' do
360
+ number = BigDecimal.new('1234.5678')
361
+ @cell.change_contents(number)
362
+ expect(@cell.value).to eq(number)
363
+ expect(@cell.datatype).to be_nil
364
+ expect(@cell.formula).to be_nil
365
+ end
366
+
367
+ it 'should cause cell value and formula to match what is passed in' do
368
+ @cell.change_contents(nil, 'SUM(A2:A4)')
369
+ expect(@cell.value).to be_nil
370
+ expect(@cell.formula.expression).to eq('SUM(A2:A4)')
371
+ end
372
+ end
373
+
374
+ describe '.is_italicized' do
375
+ it 'should correctly return whether or not the cell\'s font is italicized' do
376
+ @cell.change_font_italics(true)
377
+ expect(@cell.is_italicized).to eq(true)
378
+ end
379
+ end
380
+
381
+ describe '.is_bolded' do
382
+ it 'should correctly return whether or not the cell\'s font is bolded' do
383
+ @cell.change_font_bold(true)
384
+ expect(@cell.is_bolded).to eq(true)
385
+ end
386
+ end
387
+
388
+ describe '.is_underlined' do
389
+ it 'should correctly return whether or not the cell\'s font is underlined' do
390
+ @cell.change_font_underline(true)
391
+ expect(@cell.is_underlined).to eq(true)
392
+ end
393
+ end
394
+
395
+ describe '.is_struckthrough' do
396
+ it 'should correctly return whether or not the cell\'s font is struckthrough' do
397
+ @cell.change_font_strikethrough(true)
398
+ expect(@cell.is_struckthrough).to eq(true)
399
+ end
400
+ end
401
+
402
+ describe '.font_name' do
403
+ it 'should correctly return the name of the cell\'s font' do
404
+ @cell.change_font_name('Verdana')
405
+ expect(@cell.font_name).to eq('Verdana')
406
+ end
407
+ end
408
+
409
+ describe '.font_size' do
410
+ it 'should correctly return the size of the cell\'s font' do
411
+ @cell.change_font_size(20)
412
+ expect(@cell.font_size).to eq(20)
413
+ end
414
+ end
415
+
416
+ describe '.font_color' do
417
+ it 'should correctly return the color of the cell\'s font' do
418
+ @cell.change_font_color('0f0f0f')
419
+ expect(@cell.font_color).to eq('0f0f0f')
420
+ end
421
+
422
+ it 'should return 000000 (black) if no font color has been specified for this cell' do
423
+ expect(@cell.font_color).to eq('000000')
424
+ end
425
+ end
426
+
427
+ describe '.fill_color' do
428
+ it 'should correctly return the color of the cell\'s fill' do
429
+ @cell.change_fill('000000')
430
+ expect(@cell.fill_color).to eq('000000')
431
+ end
432
+
433
+ it 'should return ffffff (white) if no fill color has been specified for this cell' do
434
+ expect(@cell.fill_color).to eq('ffffff')
435
+ end
436
+ end
437
+
438
+ describe '.horizontal_alignment' do
439
+ it 'should correctly return the type of horizontal alignment of this cell' do
440
+ @cell.change_horizontal_alignment('center')
441
+ expect(@cell.horizontal_alignment).to eq('center')
442
+ end
443
+
444
+ it 'should return nil if no horizontal alignment has been specified for this cell' do
445
+ expect(@cell.horizontal_alignment).to be_nil
446
+ end
447
+ end
448
+
449
+ describe '.vertical_alignment' do
450
+ it 'should correctly return the type of vertical alignment of this cell' do
451
+ @cell.change_vertical_alignment('center')
452
+ expect(@cell.vertical_alignment).to eq('center')
453
+ end
454
+
455
+ it 'should return nil if no vertical alignment has been specified for this cell' do
456
+ expect(@cell.vertical_alignment).to be_nil
457
+ end
458
+ end
459
+
460
+ describe '.border_top' do
461
+ it 'should correctly return the weight of the border on top for this cell' do
462
+ @cell.change_border(:top, 'thin')
463
+ expect(@cell.get_border(:top)).to eq('thin')
464
+ end
465
+
466
+ it 'should return nil if no top border has been specified for this cell' do
467
+ expect(@cell.get_border(:top)).to be_nil
468
+ end
469
+ end
470
+
471
+ describe '.border_left' do
472
+ it 'should correctly return the weight of the border on left for this cell' do
473
+ @cell.change_border(:left, 'thin')
474
+ expect(@cell.get_border(:left)).to eq('thin')
475
+ end
476
+
477
+ it 'should return nil if no left border has been specified for this cell' do
478
+ expect(@cell.get_border(:left)).to be_nil
479
+ end
480
+ end
481
+
482
+ describe '.border_right' do
483
+ it 'should correctly return the weight of the border on right for this cell' do
484
+ @cell.change_border(:right, 'thin')
485
+ expect(@cell.get_border(:right)).to eq('thin')
486
+ end
487
+
488
+ it 'should return nil if no right border has been specified for this cell' do
489
+ expect(@cell.get_border(:right)).to be_nil
490
+ end
491
+ end
492
+
493
+ describe '.border_bottom' do
494
+ it 'should correctly return the weight of the border on bottom for this cell' do
495
+ @cell.change_border(:bottom, 'thin')
496
+ expect(@cell.get_border(:bottom)).to eq('thin')
497
+ end
498
+
499
+ it 'should return nil if no bottom border has been specified for this cell' do
500
+ expect(@cell.get_border(:bottom)).to be_nil
501
+ end
502
+ end
503
+
504
+ describe '.border_diagonal' do
505
+ it 'should correctly return the weight of the diagonal border for this cell' do
506
+ @cell.change_border(:diagonal, 'thin')
507
+ expect(@cell.get_border(:diagonal)).to eq('thin')
508
+ end
509
+
510
+ it 'should return nil if no diagonal border has been specified for this cell' do
511
+ expect(@cell.get_border(:diagonal)).to be_nil
512
+ end
513
+ end
514
+
515
+ end