Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
89204c22
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
89204c22
编写于
12月 15, 2016
作者:
C
Clement Ho
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add specs for addWordToInput
上级
78dd92b7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
55 addition
and
21 deletion
+55
-21
spec/javascripts/filtered_search/filtered_search_dropdown_manager_spec.js.es6
...tered_search/filtered_search_dropdown_manager_spec.js.es6
+55
-21
未找到文件。
spec/javascripts/filtered_search/filtered_search_dropdown_manager_spec.js.es6
浏览文件 @
89204c22
...
@@ -4,51 +4,85 @@
...
@@ -4,51 +4,85 @@
(() => {
(() => {
describe('Filtered Search Dropdown Manager', () => {
describe('Filtered Search Dropdown Manager', () => {
describe('addWordToInput', () => {
describe('addWordToInput', () => {
describe('add word and when lastToken is an empty object', () => {
function getInputValue() {
function getInput() {
return document.querySelector('.filtered-search').value;
return document.querySelector('.filtered-search');
}
}
beforeEach(() => {
const input = document.createElement('input');
input.classList.add('filtered-search');
document.body.appendChild(input);
expect(input.value).toBe('');
});
afterEach(() => {
document.querySelector('.filtered-search').outerHTML = '';
});
describe('input has no existing value', () => {
beforeEach(() => {
beforeEach(() => {
spyOn(gl.FilteredSearchTokenizer, 'processTokens')
spyOn(gl.FilteredSearchTokenizer, 'processTokens')
.and.callFake(() => ({
.and.callFake(() => ({
lastToken: {},
lastToken: {},
}));
}));
const input = document.createElement('input');
input.classList.add('filtered-search');
document.body.appendChild(input);
expect(input.value).toBe('');
});
afterEach(() => {
document.querySelector('.filtered-search').outerHTML = '';
});
});
it('should add word', () => {
it('should add word', () => {
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
expect(getInput
().value
).toBe('firstWord');
expect(getInput
Value()
).toBe('firstWord');
});
});
it('should not add space before first word', () => {
it('should not add space before first word', () => {
gl.FilteredSearchDropdownManager.addWordToInput('firstWord', true);
gl.FilteredSearchDropdownManager.addWordToInput('firstWord', true);
expect(getInput
().value
).toBe('firstWord');
expect(getInput
Value()
).toBe('firstWord');
});
});
it('should not add space before second word by default', () => {
it('should not add space before second word by default', () => {
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
expect(getInput
().value
).toBe('firstWord');
expect(getInput
Value()
).toBe('firstWord');
gl.FilteredSearchDropdownManager.addWordToInput('secondWord');
gl.FilteredSearchDropdownManager.addWordToInput('secondWord');
expect(getInput
().value
).toBe('firstWordsecondWord');
expect(getInput
Value()
).toBe('firstWordsecondWord');
});
});
it('should add space before new word when addSpace is passed', () => {
it('should add space before new word when addSpace is passed', () => {
expect(getInput
().value
).toBe('');
expect(getInput
Value()
).toBe('');
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
gl.FilteredSearchDropdownManager.addWordToInput('firstWord');
expect(getInput
().value
).toBe('firstWord');
expect(getInput
Value()
).toBe('firstWord');
gl.FilteredSearchDropdownManager.addWordToInput('secondWord', true);
gl.FilteredSearchDropdownManager.addWordToInput('secondWord', true);
expect(getInput().value).toBe('firstWord secondWord');
expect(getInputValue()).toBe('firstWord secondWord');
});
});
describe('input has exsting value', () => {
it('should only add the remaining characters of the word', () => {
const lastToken = {
key: 'author',
value: 'roo',
};
spyOn(gl.FilteredSearchTokenizer, 'processTokens').and.callFake(() => ({
lastToken,
}));
document.querySelector('.filtered-search').value = `${lastToken.key}:${lastToken.value}`;
gl.FilteredSearchDropdownManager.addWordToInput('root');
expect(getInputValue()).toBe('author:root');
});
it('should only add the remaining characters of the word (contains space)', () => {
const lastToken = {
key: 'label',
value: 'test me',
};
spyOn(gl.FilteredSearchTokenizer, 'processTokens').and.callFake(() => ({
lastToken,
}));
document.querySelector('.filtered-search').value = `${lastToken.key}:"${lastToken.value}"`;
gl.FilteredSearchDropdownManager.addWordToInput('~\'"test me"\'');
expect(getInputValue()).toBe('label:~\'"test me"\'');
});
});
});
});
});
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录