Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
iv
gitlab-ce
Commits
4163eb56
Commit
4163eb56
authored
9 years ago
by
Douglas Barbosa Alexandre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add specs for JS validation for invalid characters in branch name
parent
05737f6c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
159 additions
and
0 deletions
+159
-0
spec/javascripts/fixtures/new_branch.html.haml
spec/javascripts/fixtures/new_branch.html.haml
+4
-0
spec/javascripts/new_branch_spec.js.coffee
spec/javascripts/new_branch_spec.js.coffee
+155
-0
No files found.
spec/javascripts/fixtures/new_branch.html.haml
0 → 100644
View file @
4163eb56
%form
.js-create-branch-form
%input
.js-branch-name
.js-branch-name-error
%input
{
id:
"ref"
}
This diff is collapsed.
Click to expand it.
spec/javascripts/new_branch_spec.js.coffee
0 → 100644
View file @
4163eb56
#= require jquery.ui.all
#= require new_branch_form
describe
'Branch'
,
->
describe
'create a new branch'
,
->
fixture
.
preload
(
'new_branch.html'
)
beforeEach
->
fixture
.
load
(
'new_branch.html'
)
$
(
'form'
).
on
'submit'
,
(
e
)
->
e
.
preventDefault
()
@
form
=
new
NewBranchForm
(
$
(
'.js-create-branch-form'
),
[])
@
name
=
$
(
'.js-branch-name'
)
it
"can't start with a dot"
,
->
@
name
.
val
(
'.foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't start with '.'"
)
it
"can't start with a slash"
,
->
@
name
.
val
(
'/foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't start with '/'"
)
it
"can't have two consecutive dots"
,
->
@
name
.
val
(
'foo..bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '..'"
)
it
"can't have spaces anywhere"
,
->
@
name
.
val
(
' foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains spaces"
)
@
name
.
val
(
'foo bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains spaces"
)
@
name
.
val
(
'foo '
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains spaces"
)
it
"can't have ~ anywhere"
,
->
@
name
.
val
(
'~foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '~'"
)
@
name
.
val
(
'foo~bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '~'"
)
@
name
.
val
(
'foo~'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '~'"
)
it
"can't have tilde anwhere"
,
->
@
name
.
val
(
'~foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '~'"
)
@
name
.
val
(
'foo~bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '~'"
)
@
name
.
val
(
'foo~'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '~'"
)
it
"can't have caret anywhere"
,
->
@
name
.
val
(
'^foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '^'"
)
@
name
.
val
(
'foo^bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '^'"
)
@
name
.
val
(
'foo^'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '^'"
)
it
"can't have : anywhere"
,
->
@
name
.
val
(
':foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains ':'"
)
@
name
.
val
(
'foo:bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains ':'"
)
@
name
.
val
(
':foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains ':'"
)
it
"can't have question mark anywhere"
,
->
@
name
.
val
(
'?foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '?'"
)
@
name
.
val
(
'foo?bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '?'"
)
@
name
.
val
(
'foo?'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '?'"
)
it
"can't have asterisk anywhere"
,
->
@
name
.
val
(
'*foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '*'"
)
@
name
.
val
(
'foo*bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '*'"
)
@
name
.
val
(
'foo*'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '*'"
)
it
"can't have open bracket anywhere"
,
->
@
name
.
val
(
'[foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '['"
)
@
name
.
val
(
'foo[bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '['"
)
@
name
.
val
(
'foo['
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '['"
)
it
"can't have a backslash anywhere"
,
->
@
name
.
val
(
'
\\
foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '
\\
'"
)
@
name
.
val
(
'foo
\\
bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '
\\
'"
)
@
name
.
val
(
'foo
\\
'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '
\\
'"
)
it
"can't contain a sequence @{ anywhere"
,
->
@
name
.
val
(
'@{foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '@{'"
)
@
name
.
val
(
'foo@{bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '@{'"
)
@
name
.
val
(
'foo@{'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '@{'"
)
it
"can't have consecutive slashes"
,
->
@
name
.
val
(
'foo//bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains consecutive slashes"
)
it
"can't end with a slash"
,
->
@
name
.
val
(
'foo/'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't end in '/'"
)
it
"can't end with a dot"
,
->
@
name
.
val
(
'foo.'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't end in '.'"
)
it
"can't end with .lock"
,
->
@
name
.
val
(
'foo.lock'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't end in '.lock'"
)
it
"can't be the single character @"
,
->
@
name
.
val
(
'@'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't be '@'"
)
it
"concatenates all error messages"
,
->
@
name
.
val
(
'/foo bar?~.'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't start with '/', can't contains spaces, '?', '~', can't end in '.'"
)
it
"doesn't duplicate error messages"
,
->
@
name
.
val
(
'?foo?bar?zoo?'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
text
()).
toEqual
(
"can't contains '?'"
)
it
"removes the error message when is a valid name"
,
->
@
name
.
val
(
'foo?bar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
length
).
toEqual
(
1
)
@
name
.
val
(
'foobar'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
length
).
toEqual
(
0
)
it
"can have dashes anywhere"
,
->
@
name
.
val
(
'-foo-bar-zoo-'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
length
).
toEqual
(
0
)
it
"can have underscores anywhere"
,
->
@
name
.
val
(
'_foo_bar_zoo_'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
length
).
toEqual
(
0
)
it
"can have numbers anywhere"
,
->
@
name
.
val
(
'1foo2bar3zoo4'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
length
).
toEqual
(
0
)
it
"can be only letters"
,
->
@
name
.
val
(
'foo'
).
trigger
(
'blur'
)
expect
(
$
(
'.js-branch-name-error span'
).
length
).
toEqual
(
0
)
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment