Skip to content

Commit 4d64ad0

Browse files
committed
add breakpoint view
1 parent c107a9f commit 4d64ad0

5 files changed

Lines changed: 113 additions & 0 deletions

File tree

lib/breakpoint-item-view.coffee

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{View} = require 'atom'
2+
debuggerContext = require './debugger'
3+
4+
module.exports =
5+
class BreakpointItemView extends View
6+
@content: (breakpoint) ->
7+
@li class: "breakpoint-item-view", =>
8+
@div class: "details", =>
9+
@span class: 'number', "#{breakpoint.number}"
10+
@span class: 'path', "/path/to/js/file.js"
11+
@span class: 'line', "#{breakpoint.line}"
12+
13+
@div class: "loading", =>
14+
@span "loading ..."
15+
16+
17+
initialize: (breakpoint) ->
18+
@breakpoint = breakpoint

lib/breakpoint-view.coffee

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{View} = require 'atom'
2+
debuggerContext = require './debugger'
3+
BreakpointItemView = require './breakpoint-item-view'
4+
5+
module.exports =
6+
class BreakpointView extends View
7+
@content: ->
8+
@div class: "breakpoint-view", =>
9+
@ul class: 'list-group', outlet: 'breakpointList', =>
10+
11+
initialize: ->
12+
@breakpoints = debuggerContext.breakpoints
13+
14+
@breakpoints.on 'change', => @showBreakpoints()
15+
16+
showBreakpoints: ->
17+
@breakpointList.empty()
18+
19+
for breakpoint in @breakpoints.getBreakpoints()
20+
@breakpointList.append(new BreakpointItemView(breakpoint))

spec/breakpoint-view-spec.coffee

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{EventEmitter} = require 'events'
2+
3+
BreakpointView = require '../lib/breakpoint-view'
4+
debuggerContext = require '../lib/debugger'
5+
6+
describe 'Breakpoint View', ->
7+
8+
breakpointView = null
9+
breakpointsStub = null
10+
procStub = null
11+
12+
beforeEach ->
13+
breakpoints = debuggerContext.breakpoints
14+
breakpointsStub = new EventEmitter
15+
16+
debuggerContext.breakpoints = breakpointsStub
17+
breakpointView = new BreakpointView
18+
19+
breakpointsStub.getBreakpoints = jasmine.createSpy().andReturn([{
20+
number: 1,
21+
line: 100,
22+
column: 10
23+
enabled: true
24+
}]);
25+
26+
debuggerContext.breakpoints = breakpoints
27+
28+
it 'should be able to shows all the breakpoints in the list', ->
29+
expect(breakpointView.find('.breakpoint-item-view').length).toBe(0);
30+
breakpointsStub.emit('change');
31+
expect(breakpointView.find('.breakpoint-item-view').length).toBe(1);
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
.node-debugger {
2+
.breakpoint-item-view {
3+
4+
&.loading {
5+
.details {
6+
display: none;
7+
}
8+
9+
.loading {
10+
display: block;
11+
}
12+
}
13+
14+
.loading: {
15+
display: none;
16+
}
17+
18+
}
19+
}

stylesheets/functional-view.less

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
.node-debugger {
2+
.functional-view {
3+
.functional {
4+
display: none;
5+
}
6+
7+
&.console {
8+
.functional.console {
9+
display: block;
10+
}
11+
}
12+
13+
&.breakpoint {
14+
.functional.breakpoint {
15+
display: block;
16+
}
17+
}
18+
19+
&.frame {
20+
.functional.frame {
21+
display: block;
22+
}
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)