Commit graph

18 commits

Author SHA1 Message Date
Hyzual
5d35c2bd1a Replaced Underscore with Lodash
Lodash has more useful functions and is more regularly updated.
2015-07-07 22:06:59 +02:00
Hyzual
acd2ae67f8 Adds grunt tasks related to CSS and SVG, updates all npm packages
Please do a npm install to update your copy of the packages.

- Adds a grunt task to build up a sprite out of our own svg icons
- Adds a grunt task to copy iconic's svg icons from bower
- Adds a build step to concatenate CSS files. It leaves us free to split the CSS and thus have the minimum css in each directory.
- Adds open-iconic as a bower dependency. We were using their icons, now we can use their svg sprite directly.
- Adds ng-html2JsPreprocessor. A karma preprocessor that helps us test template-url dependent directives.
- Removes jshint from the gruntfile. jshint should be used directly in your editor, e.g. SublimeLinter (https://github.com/SublimeLinter/SublimeLinter-jshint) for SublimeText
- Removes the plugins declaration from karma.conf.js which is now apparently unnecessary.
2015-05-22 00:05:37 +02:00
Hyzual
9fbd7bcf8e Removes jquery.base64.js (unused), replaced jquery.dateFormat-1.0.js with its bower version
- Adds a unit test in archive-service to test that we do use utils.formatDate
- Minor changes in subsonic-service.js to use a variable name rather than "this", which can change
2015-05-01 13:08:05 +02:00
Hyzual
f1870f2f5b Fixes tsquillario/Jamstash#206
- We no longer use toString() if the album's artist info is missing.
- Moved date formatting to utils-service.js and added TODOs to use angular filters instead
- Cleaned up utils-service.js and remove unused functions
- We no longer exclude vendor js files in karma, so we can test our call to jquery.dateFormat
2015-04-12 21:04:27 +02:00
Hyzual
8529e331a2 Adds angular-ui/ui-utils/ui-keypress dependency
It provides a directive to bind keypress / keyup / keydown events to the DOM.
- Adds back toggling play / pause by pressing space.
- Renames player-service's pause() to togglePause(), which is its actual behavior
- Adds unit tests to togglePause() in player-service
2015-02-08 22:46:47 +01:00
Hyzual
b51e033c25 Merge branch 'rewrite_player' into develop 2015-01-17 19:42:30 +01:00
Hyzual
83869b7808 Adds angular-locker dependency.
- It makes it easier to use localStorage and sessionStorage "the angular way". It also does all the error handling so we don't need to.
- Adds back the automatic saving of the current track's position and playing queue in localStorage. It's fully unit tested.
- Adds back the notifications. Every time we change songs (if the setting is true), it displays a notification. Clicking on it goes to the next song, just like before.
- Bumps up the versions to the actual value on the various json files.
2015-01-17 19:13:43 +01:00
Hyzual
59762ae423 Adds unit tests on the jplayer directive.
The major functionnalities are tested :
- play the next song when the current song ends
- change the current song with the player service
- restart the current song with the player service
- Show the player controls and song details when playing a song

Adds jasmine-fixtures dev dependency (needed for the visibility test)
2015-01-17 19:13:42 +01:00
Hyzual
bf5f01d825 Replaces karma-growl-reporter by karma-notify-reporter
notify can use the native Windows 8, OS X and Linux notifications, and also supports Growl as a fallback.
2015-01-17 19:03:24 +01:00
Hyzual
ce53362fbb Adds the Growl reporter for karma.
Removes the sellout package, it can always be installed globally and is not needed.
2015-01-17 19:02:47 +01:00
Hyzual
b2a426eaa2 Adds karma-coverage to generate test coverage reports using Istanbul.
Test coverage files are in the /coverage folder.
They indicate us for each js file which lines we ran and which we didn't run during unit tests. This helps us know what to test next.

Conflicts:
	package.json
2015-01-17 18:59:44 +01:00
Trevor Squillario
c7b4ad4de0 4.3.1 jplayer update, chrome android debugging 2014-12-20 23:26:33 -05:00
Hyzual
f51391f4b9 Moves the new images to the app folder. Fixes some small issues.
Comments out the cssmin parts of the build since we no longer use split-pane css, which was the only one I could minify.
2014-11-09 18:39:03 +01:00
Hyzual
8f7a97d417 Puts ngAnnotate a little while after concat so there's no conflict. 2014-11-09 18:39:03 +01:00
Hyzual
696c51a64c Adds a wiredep config to automatically add bower dependencies to karma.conf.js.
Remove jasmine as a dev-dependency, already included in karma-jasmine
2014-11-09 18:39:01 +01:00
Hyzual
a9b4150272 Adds the complete subsonic ctrl function getRandomStarredSongs.
It has one parameter with 3 possible values :
- display: to display in the view,
- add: adds to the queue
- play: plays the first song and adds to the queue.

It is now called from the subsonic template.

All these are tested, errors from the server (both subsonic and http) are relayed to the user through notifications.

Conflicts:
	app/subsonic/subsonic.html
2014-11-09 16:21:14 +01:00
Hyzual
e18fbe2c5b Refactors the subsonic service test with jasmine promise matchers.
It makes them easier to read.

Conflicts:
	bower.json
2014-11-09 16:12:29 +01:00
Hyzual
a1d48bbd30 Reorganizes the entire app to follow Google's best practice recommendations for Angular App Structure.
see: https://docs.google.com/document/d/1XXMvReO8-Awi1EZXAXS4PzDzdNvV6pGcuaF4Q9821Es/pub

The files are now grouped by view / component.
Tests are located beside tested js files. The Grunt build will be responsible for only distributing actual files without the tests.
Each partial is at the same level as the js files related to it.
Ideally css files should be at the same level, maybe I'll refactor this later.

Moves all non-bower plugins to app/vendor.
Moves all images to app/images and styles to app/styles.
Merges the test and non-test jshintrc files.

Adds all the Jamstash contributors to the package.json file while I was refactoring.

Conflicts:
	app/app.js
	app/images/vgrabber.gif
	app/images/vgrabber2-active.gif
	app/images/vgrabber2-normal.gif
	app/index.html
2014-11-09 16:10:34 +01:00
Renamed from test/karma.conf.js (Browse further)