Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
e8d34daa
Commit
e8d34daa
authored
Jun 09, 2016
by
Dave Hoover
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Decoupling gist-handler from query-params; Testing gist-handler
parent
ff54cb4b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
87 additions
and
21 deletions
+87
-21
app.js
src/app.js
+3
-2
gist-handler.js
src/app/gist-handler.js
+14
-19
gist-handler-test.js
test/gist-handler-test.js
+69
-0
index.js
test/index.js
+1
-0
No files found.
src/app.js
View file @
e8d34daa
...
...
@@ -5,7 +5,8 @@ var $ = require('jquery');
var
utils
=
require
(
'./app/utils'
);
var
QueryParams
=
require
(
'./app/query-params'
);
var
queryParams
=
new
QueryParams
();
var
gistHandler
=
require
(
'./app/gist-handler'
);
var
GistHandler
=
require
(
'./app/gist-handler'
);
var
gistHandler
=
new
GistHandler
();
var
StorageHandler
=
require
(
'./app/storage-handler'
);
var
Editor
=
require
(
'./app/editor'
);
...
...
@@ -62,7 +63,7 @@ var run = function () {
// ------------------ gist load ----------------
var
loadingFromGist
=
gistHandler
.
handleLoad
(
function
(
gistId
)
{
var
loadingFromGist
=
gistHandler
.
handleLoad
(
queryParams
.
get
(),
function
(
gistId
)
{
$
.
ajax
({
url
:
'https://api.github.com/gists/'
+
gistId
,
jsonp
:
'callback'
,
...
...
src/app/gist-handler.js
View file @
e8d34daa
/* global prompt */
// Allowing window to be overriden for testing
function
GistHandler
(
_window
)
{
if
(
_window
===
undefined
)
_window
=
window
;
var
QueryParams
=
require
(
'./query-params'
);
var
queryParams
=
new
QueryParams
();
function
handleLoad
(
cb
)
{
var
params
=
queryParams
.
get
();
var
loadingFromGist
=
false
;
if
(
typeof
params
[
'gist'
]
!==
undefined
)
{
// testme
this
.
handleLoad
=
function
(
params
,
cb
)
{
var
loadingFromGist
=
false
;
var
gistId
;
if
(
params
[
'gist'
]
===
''
)
{
var
str
=
prompt
(
'Enter the URL or ID of the Gist you would like to load.'
);
var
str
=
_window
.
prompt
(
'Enter the URL or ID of the Gist you would like to load.'
);
if
(
str
!==
''
)
{
gistId
=
getGistId
(
str
);
loadingFromGist
=
!!
gistId
;
...
...
@@ -21,16 +18,14 @@ function handleLoad (cb) {
if
(
loadingFromGist
)
{
cb
(
gistId
);
}
}
return
loadingFromGist
;
}
return
loadingFromGist
;
};
function
getGistId
(
str
)
{
var
idr
=
/
[
0-9A-Fa-f
]{8,}
/
;
var
match
=
idr
.
exec
(
str
);
return
match
?
match
[
0
]
:
null
;
function
getGistId
(
str
)
{
var
idr
=
/
[
0-9A-Fa-f
]{8,}
/
;
var
match
=
idr
.
exec
(
str
);
return
match
?
match
[
0
]
:
null
;
}
}
module
.
exports
=
{
handleLoad
:
handleLoad
};
module
.
exports
=
GistHandler
;
test/gist-handler-test.js
0 → 100644
View file @
e8d34daa
var
test
=
require
(
'tape'
);
var
GistHandler
=
require
(
'../src/app/gist-handler'
);
test
(
'gistHandler.handleLoad with no gist param'
,
function
(
t
)
{
t
.
plan
(
1
);
var
gistHandler
=
new
GistHandler
({});
var
params
=
{};
var
result
=
gistHandler
.
handleLoad
(
params
,
null
);
t
.
equal
(
result
,
false
);
});
test
(
'gistHandler.handleLoad with blank gist param, and invalid user input'
,
function
(
t
)
{
t
.
plan
(
3
);
var
fakeWindow
=
{
prompt
:
function
(
message
)
{
t
.
ok
(
message
);
t
.
ok
(
message
.
match
(
/gist/i
));
return
'invalid'
;
}};
var
gistHandler
=
new
GistHandler
(
fakeWindow
);
var
params
=
{
'gist'
:
''
};
var
result
=
gistHandler
.
handleLoad
(
params
,
null
);
t
.
equal
(
result
,
false
);
});
test
(
'gistHandler.handleLoad with blank gist param, and valid user input'
,
function
(
t
)
{
t
.
plan
(
4
);
var
fakeWindow
=
{
prompt
:
function
(
message
)
{
t
.
ok
(
message
);
t
.
ok
(
message
.
match
(
/gist/i
));
return
'Beef1234'
;
}};
var
cb
=
function
(
gistId
)
{
t
.
equal
(
gistId
,
'Beef1234'
);
};
var
gistHandler
=
new
GistHandler
(
fakeWindow
);
var
params
=
{
'gist'
:
''
};
var
result
=
gistHandler
.
handleLoad
(
params
,
cb
);
t
.
equal
(
result
,
true
);
});
test
(
'gistHandler.handleLoad with gist param'
,
function
(
t
)
{
t
.
plan
(
2
);
var
gistHandler
=
new
GistHandler
({});
var
params
=
{
'gist'
:
'abc'
};
var
cb
=
function
(
gistId
)
{
t
.
equal
(
gistId
,
'abc'
);
};
var
result
=
gistHandler
.
handleLoad
(
params
,
cb
);
t
.
equal
(
result
,
true
);
});
test/index.js
View file @
e8d34daa
require
(
'./gist-handler-test'
);
require
(
'./query-params-test'
);
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