mirror of
https://github.com/discourse/discourse.git
synced 2024-12-04 23:53:45 +08:00
0431942f3d
This new iteration of select-kit focuses on following best principales and disallowing mutations inside select-kit components. A best effort has been made to avoid breaking changes, however if you content was a flat array, eg: ["foo", "bar"] You will need to set valueProperty=null and nameProperty=null on the component. Also almost every component should have an `onChange` handler now to decide what to do with the updated data. **select-kit will not mutate your data by itself anymore**
36 lines
817 B
JavaScript
36 lines
817 B
JavaScript
import componentTest from "helpers/component-test";
|
|
import { testSelectKitModule } from "./select-kit-test-helper";
|
|
|
|
testSelectKitModule("list-setting");
|
|
|
|
function template(options = []) {
|
|
return `
|
|
{{list-setting
|
|
value=value
|
|
choices=choices
|
|
options=(hash
|
|
${options.join("\n")}
|
|
)
|
|
}}
|
|
`;
|
|
}
|
|
|
|
componentTest("default", {
|
|
template: template(),
|
|
|
|
beforeEach() {
|
|
this.set("value", ["bold", "italic"]);
|
|
this.set("choices", ["bold", "italic", "underline"]);
|
|
},
|
|
|
|
async test(assert) {
|
|
assert.equal(this.subject.header().name(), "bold,italic");
|
|
assert.equal(this.subject.header().value(), "bold,italic");
|
|
|
|
await this.subject.expand();
|
|
|
|
assert.equal(this.subject.rows().length, 1);
|
|
assert.equal(this.subject.rowByIndex(0).value(), "underline");
|
|
}
|
|
});
|