)]}'
{"app/js/controllers/test.js":[{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"3e67ac376bcb25b1789a8ae4a5f9efe72b41de39","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        var date \u003d dateString;"},{"line_number":24,"context_line":"        var test \u003d data.test_runs[dateString];"},{"line_number":25,"context_line":"        var totalPass \u003d 0;"},{"line_number":26,"context_line":"        var totalFail \u003d 0;"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        // parse dates and create data series\u0027 for the main chart"},{"line_number":29,"context_line":"        var date \u003d new Date(date).getTime();"}],"source_content_type":"text/javascript","patch_set":13,"id":"9a8ffd7b_04839fcd","line":26,"updated":"2015-12-01 15:46:02.000000000","message":"These two variables don\u0027t seem to do anything?","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"42f82a6c97f414f072c5c75b998137f0cfcf1689","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        var date \u003d dateString;"},{"line_number":24,"context_line":"        var test \u003d data.test_runs[dateString];"},{"line_number":25,"context_line":"        var totalPass \u003d 0;"},{"line_number":26,"context_line":"        var totalFail \u003d 0;"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        // parse dates and create data series\u0027 for the main chart"},{"line_number":29,"context_line":"        var date \u003d new Date(date).getTime();"}],"source_content_type":"text/javascript","patch_set":13,"id":"9a8ffd7b_5af17c69","line":26,"in_reply_to":"9a8ffd7b_04839fcd","updated":"2015-12-01 16:23:18.000000000","message":"Done","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"}],"app/js/on_config.js":[{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"3e67ac376bcb25b1789a8ae4a5f9efe72b41de39","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    })"},{"line_number":39,"context_line":"    .state(\u0027test\u0027, {"},{"line_number":40,"context_line":"      url: \u0027/test/:testId\u0027,"},{"line_number":41,"context_line":"      controller: \u0027TestController as test\u0027,"},{"line_number":42,"context_line":"      templateUrl: \u0027test.html\u0027,"},{"line_number":43,"context_line":"      title: \u0027Test\u0027,"},{"line_number":44,"context_line":"      resolve: /*@ngInject*/ {"}],"source_content_type":"text/javascript","patch_set":13,"id":"9a8ffd7b_44ee878c","line":41,"updated":"2015-12-01 15:46:02.000000000","message":"The variable name is probably a bit confusing - the code would be more legible as \u0027TestController as testCtrl\u0027","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"42f82a6c97f414f072c5c75b998137f0cfcf1689","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    })"},{"line_number":39,"context_line":"    .state(\u0027test\u0027, {"},{"line_number":40,"context_line":"      url: \u0027/test/:testId\u0027,"},{"line_number":41,"context_line":"      controller: \u0027TestController as test\u0027,"},{"line_number":42,"context_line":"      templateUrl: \u0027test.html\u0027,"},{"line_number":43,"context_line":"      title: \u0027Test\u0027,"},{"line_number":44,"context_line":"      resolve: /*@ngInject*/ {"}],"source_content_type":"text/javascript","patch_set":13,"id":"9a8ffd7b_ba8988cc","line":41,"in_reply_to":"9a8ffd7b_44ee878c","updated":"2015-12-01 16:23:18.000000000","message":"Done","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"},{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"3e67ac376bcb25b1789a8ae4a5f9efe72b41de39","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        },"},{"line_number":62,"context_line":"        \u0027name\u0027: function($stateParams) {"},{"line_number":63,"context_line":"          return $stateParams.name;"},{"line_number":64,"context_line":"        },"},{"line_number":65,"context_line":"        \u0027currentDate\u0027: function() {"},{"line_number":66,"context_line":"          return new Date();"},{"line_number":67,"context_line":"        }"}],"source_content_type":"text/javascript","patch_set":13,"id":"9a8ffd7b_5f02ce0a","line":64,"updated":"2015-12-01 15:46:02.000000000","message":"I like this method of explicitly extracting state params in the router resolution. It ensures that your controller doesn\u0027t need to know any variable magic to work.","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"}],"app/js/services/health-api.js":[{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"3e67ac376bcb25b1789a8ae4a5f9efe72b41de39","unresolved":false,"context_lines":[{"line_number":110,"context_line":"  service.getTestRunList \u003d function(testId, options) {"},{"line_number":111,"context_line":"    return config.get().then(function(config) {"},{"line_number":112,"context_line":"      return $http.jsonp(config.apiRoot + \u0027/test_runs/\u0027 + testId, {"},{"line_number":113,"context_line":"        params: angular.extend(options, { callback: \u0027JSON_CALLBACK\u0027 })"},{"line_number":114,"context_line":"      });"},{"line_number":115,"context_line":"    });"},{"line_number":116,"context_line":"  };"}],"source_content_type":"text/javascript","patch_set":13,"id":"9a8ffd7b_df355edb","line":113,"updated":"2015-12-01 15:46:02.000000000","message":"What does this JSON_CALLBACK do?","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"42f82a6c97f414f072c5c75b998137f0cfcf1689","unresolved":false,"context_lines":[{"line_number":110,"context_line":"  service.getTestRunList \u003d function(testId, options) {"},{"line_number":111,"context_line":"    return config.get().then(function(config) {"},{"line_number":112,"context_line":"      return $http.jsonp(config.apiRoot + \u0027/test_runs/\u0027 + testId, {"},{"line_number":113,"context_line":"        params: angular.extend(options, { callback: \u0027JSON_CALLBACK\u0027 })"},{"line_number":114,"context_line":"      });"},{"line_number":115,"context_line":"    });"},{"line_number":116,"context_line":"  };"}],"source_content_type":"text/javascript","patch_set":13,"id":"9a8ffd7b_35d04b53","line":113,"in_reply_to":"9a8ffd7b_df355edb","updated":"2015-12-01 16:23:18.000000000","message":"I have no idea, this is something that I just cargo culted from the other api methods in the service. My guess is it has something to do with the angular jsonp stuff, but this stuff is all kinda foreign to me.","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"}],"app/views/test.html":[{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"3e67ac376bcb25b1789a8ae4a5f9efe72b41de39","unresolved":false,"context_lines":[{"line_number":12,"context_line":"                    \u003ch3 class\u003d\"panel-title\"\u003eRun Time\u003c/h3\u003e"},{"line_number":13,"context_line":"                \u003c/div\u003e"},{"line_number":14,"context_line":"                \u003cdiv class\u003d\"panel-body\"\u003e"},{"line_number":15,"context_line":"                    \u003cchart-line data\u003d\"test.timeData\" width\u003d\"100%\" height\u003d\"450\" force-y\u003d\"[0]\" \u003e\u003c/chart-line\u003e"},{"line_number":16,"context_line":"                \u003c/div\u003e"},{"line_number":17,"context_line":"            \u003c/div\u003e"},{"line_number":18,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":13,"id":"9a8ffd7b_9f5d9617","line":15,"updated":"2015-12-01 15:46:02.000000000","message":"Here\u0027s where naming the TestController \u0027test\u0027 gets confusing. Am I accessing a test record? A controller? Some kind of an instance?","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"42f82a6c97f414f072c5c75b998137f0cfcf1689","unresolved":false,"context_lines":[{"line_number":12,"context_line":"                    \u003ch3 class\u003d\"panel-title\"\u003eRun Time\u003c/h3\u003e"},{"line_number":13,"context_line":"                \u003c/div\u003e"},{"line_number":14,"context_line":"                \u003cdiv class\u003d\"panel-body\"\u003e"},{"line_number":15,"context_line":"                    \u003cchart-line data\u003d\"test.timeData\" width\u003d\"100%\" height\u003d\"450\" force-y\u003d\"[0]\" \u003e\u003c/chart-line\u003e"},{"line_number":16,"context_line":"                \u003c/div\u003e"},{"line_number":17,"context_line":"            \u003c/div\u003e"},{"line_number":18,"context_line":"        \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":13,"id":"9a8ffd7b_9a2a848f","line":15,"in_reply_to":"9a8ffd7b_9f5d9617","updated":"2015-12-01 16:23:18.000000000","message":"Done","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"}],"app/views/tests.html":[{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"3e67ac376bcb25b1789a8ae4a5f9efe72b41de39","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \u003c/accordion\u003e"},{"line_number":68,"context_line":"        \u003c/div\u003e"},{"line_number":69,"context_line":"    \u003c/div\u003e"},{"line_number":70,"context_line":"\u003c/div\u003e"}],"source_content_type":"text/html","patch_set":13,"id":"9a8ffd7b_bfc41a92","line":70,"updated":"2015-12-01 15:46:02.000000000","message":"Unrelated change?","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"42f82a6c97f414f072c5c75b998137f0cfcf1689","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \u003c/accordion\u003e"},{"line_number":68,"context_line":"        \u003c/div\u003e"},{"line_number":69,"context_line":"    \u003c/div\u003e"},{"line_number":70,"context_line":"\u003c/div\u003e"}],"source_content_type":"text/html","patch_set":13,"id":"9a8ffd7b_155bc7f7","line":70,"in_reply_to":"9a8ffd7b_bfc41a92","updated":"2015-12-01 16:23:18.000000000","message":"Probably, but I think it was missing anyway. I\u0027m not gonna be too particular on this.","commit_id":"62a468654dec48af1e3958761f997180fa3ed79e"}]}
