Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
mime: support reading shared mime-info database on unix systems
This adds support for reading the FreeDesktop Shared MIME-info Database on Unix systems, if it exists. It should make lookups work on systems where the mime.types files are not present and should lead to better mimetype lookup in general. If the shared mimetype database does not exist, we will fall back to reading mime.types files in common locations. Related to a bug on Solus bugtracker: https://dev.getsol.us/T9394 This change makes the mime package work on Solus. Change-Id: If330c22ffe523bf31f7f10807a54fc8858517055 GitHub-Last-Rev: d5fbe8c GitHub-Pull-Request: #45271 Reviewed-on: https://go-review.googlesource.com/c/go/+/305230 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Trust: Tobias Klauser <tobias.klauser@gmail.com>
- Loading branch information
1 parent
1b736b3
commit 3e8ba91
Showing
3 changed files
with
88 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # Copyright 2021 The Go Authors. All rights reserved. | ||
| # Use of this source code is governed by a BSD-style | ||
| # license that can be found in the LICENSE file. | ||
|
|
||
|
|
||
| # mime package test for globs2 | ||
| 50:document/test:*.t3 | ||
| 50:example/test:*.t4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| // Copyright 2021 The Go Authors. All rights reserved. | ||
| // Use of this source code is governed by a BSD-style | ||
| // license that can be found in the LICENSE file. | ||
|
|
||
| //go:build aix || darwin || dragonfly || freebsd || (js && wasm) || linux || netbsd || openbsd || solaris | ||
| // +build aix darwin dragonfly freebsd js,wasm linux netbsd openbsd solaris | ||
|
|
||
| package mime | ||
|
|
||
| import ( | ||
| "testing" | ||
| ) | ||
|
|
||
| func initMimeUnixTest(t *testing.T) { | ||
| err := loadMimeGlobsFile("testdata/test.types.globs2") | ||
| if err != nil { | ||
| t.Fatal(err) | ||
| } | ||
|
|
||
| loadMimeFile("testdata/test.types") | ||
| } | ||
|
|
||
| func TestTypeByExtensionUNIX(t *testing.T) { | ||
| initMimeUnixTest(t) | ||
| typeTests := map[string]string{ | ||
| ".T1": "application/test", | ||
| ".t2": "text/test; charset=utf-8", | ||
| ".t3": "document/test", | ||
| ".t4": "example/test", | ||
| ".png": "image/png", | ||
| } | ||
|
|
||
| for ext, want := range typeTests { | ||
| val := TypeByExtension(ext) | ||
| if val != want { | ||
| t.Errorf("TypeByExtension(%q) = %q, want %q", ext, val, want) | ||
| } | ||
| } | ||
| } |