Commit Graph

166 Commits

Author SHA1 Message Date
Guo Xiang Tan abbc639e0d FIX: Only unregister service workers that belongs to Discourse. 2019-05-07 13:08:06 +08:00
Bianca Nenciu b5008586c5 DEV: Remove HTML parser from Tautologistics. (#7344) 2019-04-10 11:21:22 +02:00
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