mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #1082 from sharelatex/bg-fix-backslash-on-v1-and-template-import
fix backslash on v1 and template import GitOrigin-RevId: 8410a80a06ef48610f7b18f4556bd073253d4eb7
This commit is contained in:
parent
4733a7940d
commit
2ea0644cfa
2 changed files with 15 additions and 2 deletions
|
@ -63,7 +63,9 @@ module.exports = ProjectDetailsHandler =
|
||||||
else if name.length > @MAX_PROJECT_NAME_LENGTH
|
else if name.length > @MAX_PROJECT_NAME_LENGTH
|
||||||
return callback(new Errors.InvalidNameError("Project name is too long"))
|
return callback(new Errors.InvalidNameError("Project name is too long"))
|
||||||
else if name.indexOf("/") > -1
|
else if name.indexOf("/") > -1
|
||||||
return callback(new Errors.InvalidNameError("Project name cannot not contain / characters"))
|
return callback(new Errors.InvalidNameError("Project name cannot contain / characters"))
|
||||||
|
else if name.indexOf("\\") > -1
|
||||||
|
return callback(new Errors.InvalidNameError("Project name cannot contain \\ characters"))
|
||||||
else
|
else
|
||||||
return callback()
|
return callback()
|
||||||
|
|
||||||
|
@ -112,6 +114,9 @@ module.exports = ProjectDetailsHandler =
|
||||||
if name.indexOf('/') > -1
|
if name.indexOf('/') > -1
|
||||||
# v2 does not allow / in a project name
|
# v2 does not allow / in a project name
|
||||||
name = name.replace(/\//g, '-')
|
name = name.replace(/\//g, '-')
|
||||||
|
if name.indexOf('\\') > -1
|
||||||
|
# backslashes in project name will prevent syncing to dropbox
|
||||||
|
name = name.replace(/\\/g, '')
|
||||||
if name.length > @MAX_PROJECT_NAME_LENGTH
|
if name.length > @MAX_PROJECT_NAME_LENGTH
|
||||||
name = name.substr(0, @MAX_PROJECT_NAME_LENGTH)
|
name = name.substr(0, @MAX_PROJECT_NAME_LENGTH)
|
||||||
return name
|
return name
|
||||||
|
|
|
@ -140,11 +140,16 @@ describe 'ProjectDetailsHandler', ->
|
||||||
expect(error).to.exist
|
expect(error).to.exist
|
||||||
done()
|
done()
|
||||||
|
|
||||||
it "should reject empty names with /s", (done) ->
|
it "should reject names with /s", (done) ->
|
||||||
@handler.validateProjectName "foo/bar", (error) ->
|
@handler.validateProjectName "foo/bar", (error) ->
|
||||||
expect(error).to.exist
|
expect(error).to.exist
|
||||||
done()
|
done()
|
||||||
|
|
||||||
|
it "should reject names with \\s", (done) ->
|
||||||
|
@handler.validateProjectName "foo\\bar", (error) ->
|
||||||
|
expect(error).to.exist
|
||||||
|
done()
|
||||||
|
|
||||||
it "should reject long names", (done) ->
|
it "should reject long names", (done) ->
|
||||||
@handler.validateProjectName new Array(1000).join("a"), (error) ->
|
@handler.validateProjectName new Array(1000).join("a"), (error) ->
|
||||||
expect(error).to.exist
|
expect(error).to.exist
|
||||||
|
@ -204,6 +209,9 @@ describe 'ProjectDetailsHandler', ->
|
||||||
it "should replace / with -", () ->
|
it "should replace / with -", () ->
|
||||||
expect(@handler.fixProjectName "foo/bar").to.equal "foo-bar"
|
expect(@handler.fixProjectName "foo/bar").to.equal "foo-bar"
|
||||||
|
|
||||||
|
it "should replace \\ with ''", () ->
|
||||||
|
expect(@handler.fixProjectName "foo \\ bar").to.equal "foo bar"
|
||||||
|
|
||||||
it "should truncate long names", () ->
|
it "should truncate long names", () ->
|
||||||
expect(@handler.fixProjectName new Array(1000).join("a")).to.equal "a".repeat(150)
|
expect(@handler.fixProjectName new Array(1000).join("a")).to.equal "a".repeat(150)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue