Commit Graph

164 Commits

Author SHA1 Message Date
Penar Musaraj
4ae9cb28e4 remove probes.js, highlight.pack.js 2018-10-04 13:50:54 -04:00
Penar Musaraj
cd82107976 use yarn to manage test vendor dependencies, upgrade sinon to v6.3.5 2018-10-04 11:06:14 -04:00
Kyle Zhao
373d6e3fe6
always loadScript with a script tag (#6411)
to avoid Content Security Policy unsafe-line violations
2018-10-01 10:06:01 +08:00
Guo Xiang Tan
a033327b93 Manage qunit via yarn. 2018-09-11 15:07:28 +08:00
Guo Xiang Tan
d788555994 DEV: Manage pretender with yarn. 2018-09-07 16:01:49 +08:00
Guo Xiang Tan
039afe0d2c Apply prettier. 2018-09-07 15:19:34 +08:00
Maja Komel
04baddf731 DEV: migrate tests to async/await 2018-07-30 12:21:05 +02:00
Joffrey JAFFEUX
59d4123316
PERFORMANCE: disables jquery animations during testing 2018-04-24 18:29:26 +02:00
Joffrey JAFFEUX
39f3dbd945
Introduces select-kit
* renames `select-box-kit` into `select-kit`
* introduces `single-select` and `multi-select` as base components
* introduces {{search-advanced-category-chooser}} as a better component for selecting category in advanced search
* improves events handling in select-kit
* recreates color selection inputs using {{multi-select}} and a custom {{selected-color}} component
* replaces category-selector by a component using select-kit and based on multi-select
* improves positioning of wrapper
* removes the need for offscreen, and instead use `select-kit-header` as a base focus point for all select-kit based components
* introduces a formal plugin api for select-kit based components
* introduces a formal pattern for loading and updating select-kit based components:

```
computeValue()
computeContent()
mutateValue()
```
2017-11-21 11:53:09 +01:00
Joffrey JAFFEUX
0da529010a
FEATURE: support for multi-combo-box 2017-11-09 10:57:53 -08:00
Robin Ward
0a69f2bc77 REFACTOR: Remove many Discourse.Category.list() calls 2017-11-01 15:25:35 -04:00
Joffrey JAFFEUX
562e48dfb7 adds a dsl to simplify testing of the select-box 2017-09-14 19:50:32 +02:00
Robin Ward
4f9ba874a9 API so that you don't have to use a global variable for pretender 2017-09-13 11:55:58 -04:00
David Taylor
febd7621ea Qunit plugin rake tasks (#4985)
* Allow running specific plugin tests using ENV variables

* Add a `rake plugin:qunit` task to match the existing `rake plugin:spec` task

* Improve docker.rake to allow running specific plugin qunit tests

* Purge cache before and after qunit tests

* Stop module auto-loader trying to auto-load tests

* Use URL query parameters to pass config into Qunit, avoiding caching issues

* Oops, searchParams doesn’t work in phantomJS. Parse the URL manually.

* Escape ampersands before passing URL to phantomJS, otherwise multiple parameters go wrong
2017-07-26 09:07:46 -04:00
Sam Saffron
d0c5205a52 Feature: Change markdown engine to markdown it
This commit removes the old evilstreak markdownjs engine.

- Adds specs to WhiteLister and changes it to stop using globals
    (Fixes large memory leak)
- Fixes edge cases around bbcode handling
- Removes mdtest which is no longer valid (to be replaced with
    CommonMark)
- Updates MiniRacer to correct minor unmanaged memory leak
- Fixes plugin specs
2017-07-17 11:41:34 -04:00
Sam
8caaa6a56e Revert "Remove mdtest, the plan is to use commonmark spec instead"
This reverts commit c64aabc964.
2017-07-12 18:10:03 -04:00
Sam
c64aabc964 Remove mdtest, the plan is to use commonmark spec instead 2017-07-12 17:44:40 -04:00
Sam
234694b50f Feature: CommonMark support
This adds the markdown.it engine to Discourse.
https://github.com/markdown-it/markdown-it

As the migration is going to take a while the new engine is default
disabled. To enable it you must change the hidden site setting:
enable_experimental_markdown_it.

This commit is a squash of many other commits, it also includes some
improvements to autospec (ability to run plugins), and a dev dependency
on the og gem for html normalization.
2017-06-23 12:01:33 -04:00
Robin Ward
cc525b1a8d Upgrade QUnit to latest version 2017-06-15 10:12:07 -04:00
Robin Ward
867cefc492 Ember.K was deprecated, so let's remove it. 2017-06-13 15:59:48 -04:00
Robin Ward
e66fa82f3a FIX: Don't load JS via SCRIPT tag in QUnit mode 2017-05-31 15:31:24 -04:00
James Kiesel
48c0f3faf3 Use image gallery feature of magnific
commit cc7061e9458d04dd02aad9c02ba3a89306e0fae7
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 11:21:08 2017 +0900

    ;

commit 9233be7e432daff605812e6b49042f69d348b6e7
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 10:01:26 2017 +0900

    Don't break if $elem is undefined

commit 598a694c070c86df8d9f5ffa1ed84e2f8756e65f
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 04:51:14 2017 +0900

    .

commit 1711685a33ccd236011f54d3e652991728530b3a
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 04:34:11 2017 +0900

    ;

commit 81703f36c0593250aeac3418fde86660fd307092
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 04:12:37 2017 +0900

    Use image gallery functionality in magnific
2017-04-25 11:23:15 +09:00
Régis Hanol
a2c04be718 FIX: eradicate I18n fallback issues 💣
FIX: client's translation overrides were not working when the current locale was missing a key
FIX: ExtraLocalesController.show was not properly handling multiple translations
FIX: JsLocaleHelper#output_locale was not properly handling multiple translations

FIX: ExtraLocalesController.show's spec which was randomly failing
FIX: JsLocaleHelper#output_locale was muting cached translations hashes

REFACTOR: move 'enableVerboseLocalization' to the 'localization' initializer
REFACTOR: remove unused I18n.js methods (getFallbacks, localize, parseDate, toTime, strftime, toCurrency, toPercentage)
REFACTOR: remove all I18n.pluralizationRules and instead use MessageFormat's pluralization rules

TEST: add tests for localization initializer
TEST: add tests for I18n.js
2017-02-24 11:31:21 +01:00
Robin Ward
e03d5e2140 Reapply Ember 2.10 for good this time!
This reverts commit ddd299f4aa.
2016-12-19 11:19:10 -05:00
Robin Ward
ddd299f4aa Revert "Revert "Revert Ember 2.10+ for a short while""
This reverts commit 76bbc481cb.
2016-12-16 10:29:30 -05:00
Robin Ward
76bbc481cb Revert "Revert Ember 2.10+ for a short while"
This reverts commit 21682fd60b.
2016-12-16 09:52:29 -05:00
Robin Ward
21682fd60b Revert Ember 2.10+ for a short while 2016-12-15 16:43:38 -05:00
Robin Ward
28699e66d8 Revert "REVERT: Ember 2.10 -- it's not building properly"
This reverts commit 600541c623.
2016-12-15 10:28:15 -05:00
Robin Ward
600541c623 REVERT: Ember 2.10 -- it's not building properly 2016-12-12 16:19:05 -05:00
Robin Ward
9a7998a930 Various fixes for Ember 2.10 2016-12-12 14:44:29 -05:00
Robin Ward
2567fdc402 FIX: Wrong path to loader 2016-11-15 12:41:20 -05:00
Sam
7d531910a4 fix tests 2016-11-15 13:30:03 +11:00
Robin Ward
be1d74d207 Split out common functions into discourse-common module 2016-09-22 09:52:19 -04:00
Robin Ward
bba0fd0654 REFACTOR: PreloadStore to ES6 2016-07-11 12:57:05 -04:00
Robin Ward
25d6915cac Migrate discourse.js to ES6 2016-07-11 12:57:05 -04:00
Robin Ward
a546395397 REFACTOR: Migrate markdown functionality in ES6 2016-07-11 12:57:05 -04:00
Robin Ward
400c061046
Ember.keys is deprected in favor of Object.keys 2016-04-28 16:37:20 -04:00
Guo Xiang Tan
256d7a00e9 Update sprockets. (#4167)
* Update sass-rails.

* FIX: Tilt dependency has been removed from Ember::Handlebars::Template.

* Update `DiscourseIIFE` to new Sprockets API.

* `Rails.application.assets` returns `nil` in production.

* Move sprockets-rails out of the assets group.

* Pin ember-rails to 0.18.5 which works with Sprockets 3.x.

* Update sprockets to 3.6.0.

* Make `DiscourseSassCompiler` work with Sprockets 3.

* Use `Sass::Rails::SassImporterGlobbing` instead of haxxing our own.

* Moneky patch so that we don't add dependencies for our custom css.

* FIX: Missing class.

* Upgrade ember-handlebars-template.

* FIX: require path needs to share the same root as the folder's path.

* Bump discourse-qunit-rails.

* Update ember-template-compiler.js to 1.12.2.

* `prepend` is private in Ruby 2.0.0.
2016-04-18 10:47:52 +08:00
Robin Ward
6b46092aa2 FIX: Disable cloaking in the test environment 2016-02-24 17:44:01 -05:00
Robin Ward
d1e85bdd8b FEATURE: Use virtual dom framework for faster post rendering 2016-02-11 11:00:40 -05:00
Sam
0844350308 correct production mode due to ember loading changes 2015-11-25 13:57:10 +11:00
Robin Ward
8ba7c06b7d Merge pull request #3735 from riking/patch-4
FIX: Discourse.BaseUri should not default to /
2015-11-06 14:52:19 -05:00
Robin Ward
47495a5713 FEATURE: Replace composer editor with ember version 2015-11-06 09:49:16 -05:00
Robin Ward
94b60e62a2 FEATURE: New markdown editor re-written in Ember
Note this commit leaves out the biggest occurrence of the editor
which is the post/topic composer.

To avoid major breakage, this replaces it everywhere else it was
used:

* User preferences (About Me)
* Admin Customizations > Text Content
* Category Templates
* Editing Queued Posts

A future commit will replace the main composer with this editor
and will remove the unused pagedown code.
2015-10-19 11:01:20 -04:00
Kane York
aca70805f1 FIX: Discourse.BaseUri should not default to / 2015-09-10 17:34:08 -07:00
Robin Ward
3ceadbd5b8 FIX: Allow qunit tests to run in browser by stubbing new functionality 2015-09-09 16:20:36 -04:00
Robin Ward
42e510753d Support for Acceptance tests in plugins 2015-08-27 17:07:11 -04:00
Robin Ward
c5460b7d3f FEATURE: Full height hamburger menu
- Rename `site-map` to `hamburger-menu`
- Includes acceptance tests
2015-08-25 16:48:43 -04:00
Robin Ward
22844b9e46 Ember 1.12 support 2015-08-13 11:14:16 -04:00
Robin Ward
e2e3e7c0e0 Add ES6 support to more files 2015-08-13 10:49:08 -04:00
Robin Ward
b7e6eaa961 ES6ify some of the remaining files 2015-08-10 10:21:05 -04:00
Robin Ward
db75774440 UX: Move likes into drop down instead of its own status line 2015-07-03 17:15:20 -04:00
Robin Ward
23daa9d8ce Refactor and add tests for category editing 2015-07-03 10:01:46 -04:00
Robin Ward
01d4085125 Removed bad JS tests, upgrade QUnit + ember-qunit 2015-05-13 14:13:37 -04:00
Robin Ward
fa69d4cec5 FIX: Missing colspan on raw topic list 2015-05-11 11:20:46 -04:00
Robin Ward
8294205f7c Ember 1.11 broken WIP 2015-05-11 11:18:37 -04:00
Robin Ward
c216b3affe FIX: Don't cloak in test mode. Should help with intermittant failures 2015-04-16 11:47:37 -04:00
Régis Hanol
295eebddc3 less noise in JS specs 2015-04-16 10:15:06 +02:00
Robin Ward
d4a05825da Convert Composer to use Store
- Uses store for `PostStream`, `TopicList` too
2015-04-15 14:54:36 -04:00
Robin Ward
22ffcba8e6 Convert Discourse.Post to ES6 and use Store model
- Includes acceptance tests for composer (post, edit)
- Supports acceptance testing of bootbox
2015-04-15 14:54:36 -04:00
Robin Ward
ee3442e562 Also rename the integration directory to be acceptance 2015-04-06 15:47:39 -04:00
Robin Ward
77f9d1e223 Use pretender's passthrough for dynamically loaded scripts 2015-03-13 12:14:22 -04:00
Sam
01fcc7503a big hacks to get tests to pass 2015-03-13 17:45:55 +11:00
Sam
a82530012a FEATURE: Allow selection of highlight js languages
PERF: stop loading highlight js on load

To get latest highlight js run bin/rake highlightjs:update
2015-03-13 16:18:59 +11:00
Robin Ward
69851bc6cf Deprecates global use of Discourse.MessageBus
We can use DI for this, which makes it easier for plugins to subscribe
to the message bus.
2015-03-12 12:27:30 -04:00
Robin Ward
7aaf2fcb65 Fix broken qunit tests in 1.9.0 2014-12-17 09:31:41 -05:00
Robin Ward
edb34c178a FEATURE: Show user fields when the user is signing up 2014-09-30 10:45:18 -04:00
Robin Ward
d3cc85c784 TESTS: Use Pretender in test mode for more flexible server responses 2014-07-31 16:49:30 -04:00
Robin Ward
bf16ff275a TESTS: Sign in tests 2014-07-31 14:17:18 -04:00
Robin Ward
c5b5db48cf TESTS: Reset the preload store for testing 2014-07-31 13:25:40 -04:00
Robin Ward
b8bfbcb3cb ES6: Tests 2014-07-31 13:25:39 -04:00
Robin Ward
6f36d5996d Lots of work on tests 2014-07-30 20:09:45 -04:00
Robin Ward
b6684e7168 Upgrade to ember-qunit 2014-07-30 20:09:44 -04:00
Robin Ward
d29157dab9 TESTS: Refactored integration tests 2014-07-30 20:09:44 -04:00
riking
f80502ea0e Disable logster error reporting during tests 2014-07-28 13:41:45 -07:00
Régis Hanol
6b45b635f8 FIX: properly whitelist <code> classes needed for syntax highlighting 2014-07-09 16:27:47 +02:00
Sam
b225b1d547 query was updated 2014-05-15 20:32:34 +10:00
Robin Ward
f50039b48b Support 404 routes in the Ember App 2014-04-29 15:29:13 -04:00
Robin Ward
73cc722ed5 Update Ember.js, Handlebars and jQuery to latest 2014-04-17 10:45:06 -04:00
Nick Schonning
62d5a10873 JSHint test helpers
Remove unreferenced globals
2014-03-11 02:40:27 -04:00
Robin Ward
4981525047 REFACTOR: Fixes poor class hierarchy for listing topics
- Upgrades Ember to latest
- Fixes a bunch of bugs with page titles and missing "active" states
2014-01-18 19:26:24 +01:00
Sam
90077ae98d fix tests, clean up include logic 2013-12-23 10:41:10 +11:00
Robin Ward
274743b877 Refactor: Move initialization code into separate initializers that use the API we
developed for plugins.
2013-12-03 14:22:32 -05:00
Robin Ward
de78ee302a - Extract Browser capabilities from Discourse namespace into a Singleton.
- Change Scrolling slack based on Android / Touch / Desktop
2013-12-03 13:03:19 -05:00
Sam
2eee7433f0 update message bus for .stop() support, stop the message bus during test 2013-11-25 18:01:03 +11:00
Sam
95c968d7b7 fix js specs 2013-11-25 17:50:48 +11:00
Wojciech Zawistowski
74cbb18f67 removes redundant #qunit-scratch (replaces it with standard #qunit-fixture) 2013-11-07 18:18:07 +01:00
Robin Ward
e9c4465ec7 FIX: Various bugs with Category breadcrumbs 2013-10-25 15:24:03 -04:00
Sam
e57967c6c3 better exception when discourse.ajax is called, still need to figure out how to fix it though :) 2013-10-25 14:30:45 +11:00
Robin Ward
9adcd1579d Renamed components to lib in the JS project, as Ember has components and they mean something different. 2013-10-24 12:36:46 -04:00
Robin Ward
5281b7f80c Upgraded and refactored Sanitizing. Much less crap should get through now!
Conflicts:
	app/assets/javascripts/discourse/components/syntax_highlighting.js
2013-10-15 10:53:11 -04:00
Robin Ward
af931f0444 Reverting the Sanitizer commit in case we have to do something urgent
before we deploy it early next week. It's in the branch `sanitizer` for
now.

This reverts commit 9e93d8ed52.
2013-10-11 16:44:26 -04:00
Robin Ward
9e93d8ed52 Upgraded and refactored Sanitizing. Much less crap should get through now!
Conflicts:
	app/assets/javascripts/discourse/components/syntax_highlighting.js
2013-10-11 16:25:40 -04:00
Robin Ward
be0ce08cc2 Ember Upgrade: 1.0 2013-10-01 11:16:27 -04:00
Wojciech Zawistowski
cd3a2143d2 remove unnecessary return statement inside Discourse.Router.map
Ember's Router.map(callback) method doesn't expect any value to be
returned by callback function. Therefore, return statements present
inside Discourse.Router.map are unnecessary (and are silently ignored by
Ember).
2013-09-19 17:26:43 +02:00
Robin Ward
ef82b66e95 Easier to group bindings. Perf improvements. 2013-08-02 13:18:09 -04:00
Robin Ward
4a0ea7f776 Upgrade jQuery to 2.0.3 2013-08-01 11:58:22 -04:00
Sam
3f5ea1ef79 oops ... I keep forgetting to run qunit, really need to get it into autospec 2013-07-25 12:06:02 +10:00
Robin Ward
e3bbb2c8bb Never render an avatar img if we know the username is invalid. 2013-07-18 12:03:09 -04:00
Robin Ward
1927263d1d FIX: Compile templates with the correct ember 2013-07-16 11:47:26 -04:00