Comments (2)
Oh well intellij being intellij again
from kobweb-intellij-plugin.
Despite my best efforts -- 3 grueling days of deep diving into IJ test framework code -- I've come to the conclusion that tests simply aren't worth it at this point.
I tried creating IJ light tests, but those are super hacky. They barely resemble a real project, and there's no trivial way, or at least clearly documented way, to add dependencies on real libraries (which I wanted to do with Kobweb stuff). They are also single module projects only, and I am sure I will want to test multi-module projects soon.
I tried creating an IJ heavy test using Gradle, but that was a failure as well -- I simply could not figure out how to get the Gradle project to sync and not leak resources. All the example code online I could find with IntelliJ Gradle tests used internal helper methods that were not available to mere mortals like myself.
So at this point, I'm just going to lean on manual QA for now. The Kobweb plugin is relatively small and probably will be for its lifetime. Most of (all of?) its actions will all be isolated into one-off commands that will just work or they won't.
I'm very sad about this but my time as a solo dev is limited and I'm already fighting the IJ APIs enough just to get the plugin working :) The test framework is very bad -- it's a relic of the past with random fixtures and fixture settings all over the place that you have to magically know how to set, and even then, things don't quite work sometimes. The original way that JB tested their stuff using JUnit3 is awful, and it pervades almost all of their tests to this day. Booooo.
from kobweb-intellij-plugin.
Related Issues (20)
- Show actions for handling a `private val ComponentStyle/ComponentVariant/Keyframes`
- Add declaration sites for styles if they are overridden in an InitSilk block
- Add a panel for surfacing information related to a widget
- Support setting the gutter color of a Kobweb color for Color.rgb / Color.hsl calls HOT 2
- Add Kobweb words into the dictionary to avoid spelling warnings
- Add a warning if a route isn't valid
- Add a warning if a route override isn't necessary
- Add `Surround with widget` action (like AS has)
- Find Kobweb colors if they are subclass instances HOT 3
- Render attribute modifiers different from style modifiers
- "Outdated stub in index" and "PSI and index do not match." HOT 5
- Show an informative message if someone tries to create a non top-level restricted style
- IJ Ultimate Incompatibilities HOT 4
- Fix issue with `NoClassFoundError` caused by `KtAnalysisSession` rename HOT 2
- Some Kobweb functionality stopped working in 2024.2
- Add support for Color.ligtened/darkened/invert
- Update code completion sorting priority so that Silk components appear before compose components HOT 1
- Public resources root mismatch between Kobweb and IDE autocompletion
- Omitting the leading colon in a CSS rule containing parentheses breaks website HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kobweb-intellij-plugin.