summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2020-10-11 00:15:04 +0800
committerxuri <xuri.me@gmail.com>2020-10-11 00:15:04 +0800
commitd1926675f81fcf9afb658e1e51cd4e43d0d05bc9 (patch)
treea5d53c0423421730593ba070c932484057d162fd
parent93160287bb7fa6479c73ee031b5ed771972a17a8 (diff)
- Resolve #627, improve multi-series line chart compatibility with KingSoft WPS
- Avoid to create duplicate style - Update unit test for the auto filter - Init code scanning alerts
-rw-r--r--.github/workflows/codeql-analysis.yml71
-rw-r--r--adjust_test.go8
-rw-r--r--drawing.go8
-rw-r--r--styles.go2
4 files changed, 83 insertions, 6 deletions
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
new file mode 100644
index 0000000..9dddb57
--- /dev/null
+++ b/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,71 @@
+# For most projects, this workflow file will not need changing; you simply need
+# to commit it to your repository.
+#
+# You may wish to alter this file to override the set of languages analyzed,
+# or to provide custom queries or build logic.
+name: "CodeQL"
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ # The branches below must be a subset of the branches above
+ branches: [master]
+ schedule:
+ - cron: '0 6 * * 3'
+
+jobs:
+ analyze:
+ name: Analyze
+ runs-on: ubuntu-latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ # Override automatic language detection by changing the below list
+ # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
+ language: ['go']
+ # Learn more...
+ # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+ with:
+ # We must fetch at least the immediate parents so that if this is
+ # a pull request then we can checkout the head.
+ fetch-depth: 2
+
+ # If this run was triggered by a pull request event, then checkout
+ # the head of the pull request instead of the merge commit.
+ - run: git checkout HEAD^2
+ if: ${{ github.event_name == 'pull_request' }}
+
+ # Initializes the CodeQL tools for scanning.
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v1
+ with:
+ languages: ${{ matrix.language }}
+ # If you wish to specify custom queries, you can do so here or in a config file.
+ # By default, queries listed here will override any specified in a config file.
+ # Prefix the list here with "+" to use these queries and those in the config file.
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
+
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
+ # If this step fails, then you should remove it and run the build manually (see below)
+ - name: Autobuild
+ uses: github/codeql-action/autobuild@v1
+
+ # ℹī¸ Command-line programs to run using the OS shell.
+ # 📚 https://git.io/JvXDl
+
+ # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines
+ # and modify them (or add more) to build your code if your project
+ # uses a compiled language
+
+ #- run: |
+ # make bootstrap
+ # make release
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v1
diff --git a/adjust_test.go b/adjust_test.go
index 13e47ff..3997bd9 100644
--- a/adjust_test.go
+++ b/adjust_test.go
@@ -49,6 +49,14 @@ func TestAdjustMergeCells(t *testing.T) {
func TestAdjustAutoFilter(t *testing.T) {
f := NewFile()
+ assert.NoError(t, f.adjustAutoFilter(&xlsxWorksheet{
+ SheetData: xlsxSheetData{
+ Row: []xlsxRow{{Hidden: true, R: 2}},
+ },
+ AutoFilter: &xlsxAutoFilter{
+ Ref: "A1:A3",
+ },
+ }, rows, 1, -1))
// testing adjustAutoFilter with illegal cell coordinates.
assert.EqualError(t, f.adjustAutoFilter(&xlsxWorksheet{
AutoFilter: &xlsxAutoFilter{
diff --git a/drawing.go b/drawing.go
index 6c2f635..666b23d 100644
--- a/drawing.go
+++ b/drawing.go
@@ -770,13 +770,11 @@ func (f *File) drawChartSeriesSpPr(i int, formatSet *formatChart) *cSpPr {
Ln: &aLn{
W: f.ptToEMUs(formatSet.Series[i].Line.Width),
Cap: "rnd", // rnd, sq, flat
+ SolidFill: &aSolidFill{
+ SchemeClr: &aSchemeClr{Val: "accent" + strconv.Itoa((formatSet.order+i)%6+1)},
+ },
},
}
- if i+formatSet.order < 6 {
- spPrLine.Ln.SolidFill = &aSolidFill{
- SchemeClr: &aSchemeClr{Val: "accent" + strconv.Itoa(i+formatSet.order+1)},
- }
- }
chartSeriesSpPr := map[string]*cSpPr{Line: spPrLine, Scatter: spPrScatter}
return chartSeriesSpPr[formatSet.Type]
}
diff --git a/styles.go b/styles.go
index d4d0468..896eaa1 100644
--- a/styles.go
+++ b/styles.go
@@ -2063,7 +2063,7 @@ var getXfIDFuncs = map[string]func(int, xlsxXf, *Style) bool{
if style.Alignment == nil {
return xf.ApplyAlignment == nil || *xf.ApplyAlignment == false
}
- return reflect.DeepEqual(xf.Alignment, newAlignment(style)) && xf.ApplyBorder != nil && *xf.ApplyBorder == true
+ return reflect.DeepEqual(xf.Alignment, newAlignment(style))
},
"protection": func(ID int, xf xlsxXf, style *Style) bool {
if style.Protection == nil {