summaryrefslogtreecommitdiff
path: root/spec/frontend/repository/utils/readme_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/repository/utils/readme_spec.js')
-rw-r--r--spec/frontend/repository/utils/readme_spec.js49
1 files changed, 30 insertions, 19 deletions
diff --git a/spec/frontend/repository/utils/readme_spec.js b/spec/frontend/repository/utils/readme_spec.js
index 6b7876c8947..985d947a0af 100644
--- a/spec/frontend/repository/utils/readme_spec.js
+++ b/spec/frontend/repository/utils/readme_spec.js
@@ -1,33 +1,44 @@
import { readmeFile } from '~/repository/utils/readme';
describe('readmeFile', () => {
- describe('markdown files', () => {
- it('returns markdown file', () => {
- expect(readmeFile([{ name: 'README' }, { name: 'README.md' }])).toEqual({
- name: 'README.md',
- });
+ it('prefers README with markup over plain text README', () => {
+ expect(readmeFile([{ name: 'README' }, { name: 'README.md' }])).toEqual({
+ name: 'README.md',
+ });
+ });
- expect(readmeFile([{ name: 'README' }, { name: 'index.md' }])).toEqual({
- name: 'index.md',
- });
+ it('is case insensitive', () => {
+ expect(readmeFile([{ name: 'README' }, { name: 'readme.rdoc' }])).toEqual({
+ name: 'readme.rdoc',
});
});
- describe('plain files', () => {
- it('returns plain file', () => {
- expect(readmeFile([{ name: 'README' }, { name: 'TEST.md' }])).toEqual({
- name: 'README',
- });
+ it('returns the first README found', () => {
+ expect(readmeFile([{ name: 'INDEX.adoc' }, { name: 'README.md' }])).toEqual({
+ name: 'INDEX.adoc',
+ });
+ });
- expect(readmeFile([{ name: 'readme' }, { name: 'TEST.md' }])).toEqual({
- name: 'readme',
- });
+ it('expects extension to be separated by dot', () => {
+ expect(readmeFile([{ name: 'readmeXorg' }, { name: 'index.org' }])).toEqual({
+ name: 'index.org',
});
});
- describe('non-previewable file', () => {
- it('returns undefined', () => {
- expect(readmeFile([{ name: 'index.js' }, { name: 'TEST.md' }])).toBe(undefined);
+ it('returns plain text README when there is no README with markup', () => {
+ expect(readmeFile([{ name: 'README' }, { name: 'NOT_README.md' }])).toEqual({
+ name: 'README',
});
});
+
+ it('recognizes Readme.txt as a plain text README', () => {
+ expect(readmeFile([{ name: 'Readme.txt' }])).toEqual({
+ name: 'Readme.txt',
+ });
+ });
+
+ it('returns undefined when there are no appropriate files', () => {
+ expect(readmeFile([{ name: 'index.js' }, { name: 'md.README' }])).toBe(undefined);
+ expect(readmeFile([])).toBe(undefined);
+ });
});