]> source.dussan.org Git - sonarqube.git/commitdiff
First step of js unit testing
authorStas Vilchik <vilchiks@gmail.com>
Mon, 2 Dec 2013 09:58:45 +0000 (15:58 +0600)
committerStas Vilchik <vilchiks@gmail.com>
Mon, 2 Dec 2013 09:58:45 +0000 (15:58 +0600)
sonar-server/src/main/webapp/javascripts/tests/karma.conf.js [new file with mode: 0644]
sonar-server/src/main/webapp/javascripts/tests/measures.js [new file with mode: 0644]
sonar-server/src/main/webapp/javascripts/tests/package.json [new file with mode: 0644]

diff --git a/sonar-server/src/main/webapp/javascripts/tests/karma.conf.js b/sonar-server/src/main/webapp/javascripts/tests/karma.conf.js
new file mode 100644 (file)
index 0000000..edd6fca
--- /dev/null
@@ -0,0 +1,95 @@
+/* global module:false, karma:false */
+
+// Karma configuration
+// Generated on Mon Dec 02 2013 14:50:55 GMT+0600 (YEKT)
+
+module.exports = function(karma) {
+  karma.configure({
+
+    // base path, that will be used to resolve files and exclude
+    basePath: '..',
+
+
+    // frameworks to use
+    frameworks: ['qunit'],
+
+
+    // list of files / patterns to load in the browser
+    files: [
+        // dependencies
+        'third-party/jquery.min.js',
+        'third-party/underscore-min.js',
+        'third-party/backbone-min.js',
+        'third-party/backbone.marionette.min.js',
+
+        // app
+        'navigator/filters/base-filters.js',
+
+        // tests
+        'tests/measures.js'
+    ],
+
+
+    // list of files to exclude
+    exclude: [
+      
+    ],
+
+
+    preprocessors: {
+      'navigator/**/*.js': 'coverage'
+    },
+
+
+    // test results reporter to use
+    // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
+    reporters: ['progress', 'coverage'],
+
+
+    coverageReporter: {
+      type : 'text',
+      dir : 'coverage/'
+    },
+
+
+    // web server port
+    port: 9876,
+
+
+    // cli runner port
+    runnerPort: 9100,
+
+
+    // enable / disable colors in the output (reporters and logs)
+    colors: true,
+
+
+    // level of logging
+    // possible values: karma.LOG_DISABLE || karma.LOG_ERROR || karma.LOG_WARN || karma.LOG_INFO || karma.LOG_DEBUG
+    logLevel: karma.LOG_INFO,
+
+
+    // enable / disable watching file and executing tests whenever any file changes
+    autoWatch: false,
+
+
+    // Start these browsers, currently available:
+    // - Chrome
+    // - ChromeCanary
+    // - Firefox
+    // - Opera
+    // - Safari (only Mac)
+    // - PhantomJS
+    // - IE (only Windows)
+    browsers: ['PhantomJS'],
+
+
+    // If browser does not capture in given timeout [ms], kill it
+    captureTimeout: 60000,
+
+
+    // Continuous Integration mode
+    // if true, it capture browsers, run tests and exit
+    singleRun: true
+  });
+};
diff --git a/sonar-server/src/main/webapp/javascripts/tests/measures.js b/sonar-server/src/main/webapp/javascripts/tests/measures.js
new file mode 100644 (file)
index 0000000..b8b2f23
--- /dev/null
@@ -0,0 +1,23 @@
+/* jshint undef:false */
+
+test("filter defaults", function() {
+  var filter = new window.SS.Filter();
+  strictEqual(true, filter.get('multiple'), "multiple doesn't equal true");
+  equal(false, filter.get('placeholder'), "placeholder doesn't equal ''");
+});
+
+test("is model.view correctly set", function() {
+  var filter = new window.SS.Filter(),
+      filterView = new window.SS.BaseFilterView({
+        model: filter
+      });
+  strictEqual(filterView, filter.view, "model.view doesn't model's view");
+});
+
+test("is details view set to default", function() {
+  var filter = new window.SS.Filter(),
+      filterView = new window.SS.BaseFilterView({
+        model: filter
+      });
+  ok(filterView.detailsView instanceof window.SS.DetailsFilterView, "");
+});
diff --git a/sonar-server/src/main/webapp/javascripts/tests/package.json b/sonar-server/src/main/webapp/javascripts/tests/package.json
new file mode 100644 (file)
index 0000000..517a3ac
--- /dev/null
@@ -0,0 +1,11 @@
+{
+  "name": "sonar",
+  "version": "0.0.1",
+  "dependencies": {
+    "qunitjs": "*",
+    "karma": "0.9.3",
+    "karma-qunit": "*",
+    "karma-phantomjs-launcher": "*",
+    "karma-coverage": "*"
+  }
+}