Skip to content

Commit 7d368cc

Browse files
committed
fix: Fixing tests.
1 parent 5d91c56 commit 7d368cc

File tree

4 files changed

+12
-10
lines changed

4 files changed

+12
-10
lines changed

packages/@css-blocks/core/src/TemplateRewriter/RewriteMapping.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export class IndexedClassMapping implements IndexedClassRewrite<Style> {
2424
private _inputMap: Map<Style, number>;
2525
constructor(inputs: Style[], staticClasses: string[], map: ClassExpressionMap) {
2626
this.inputs = inputs;
27-
this.staticClasses = staticClasses;
27+
this.staticClasses = staticClasses.sort();
2828
this._inputMap = new Map<Style, number>();
2929
inputs.forEach((i, n) => this._inputMap.set(i, n));
3030
this.map = map;

packages/@css-blocks/glimmer/test/template-rewrite-test.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ describe("Template Rewriting", function() {
6868
// TODO why is `f` class both static and dynamic?
6969
assert.deepEqual(minify(print(result.ast)), minify(`
7070
<div class="b">
71-
<h1 class="e">Hello, <span class="f c {{-css-blocks-classnames 2 3 2 isThick 1 2 4 2 1 textStyle "bold" 1 0 "italic" 1 1 "g" 0 "f" 1 "d" 2}}">World</span>!</h1>
71+
<h1 class="e">Hello, <span class="c f {{-css-blocks-classnames 2 3 2 isThick 1 2 4 2 1 textStyle "bold" 1 0 "italic" 1 1 "g" 0 "f" 1 "d" 2}}">World</span>!</h1>
7272
</div>
7373
`));
7474
assert.deepEqual(minify(result.css.toString()), minify(`
@@ -103,8 +103,8 @@ describe("Template Rewriting", function() {
103103
let templatePath = fixture("styled-app/src/ui/components/with-block-aliases/template.hbs");
104104
let result = await pipeline(projectDir, analyzer, "with-block-aliases", templatePath);
105105
assert.deepEqual(minify(print(result.ast)), minify(`
106-
<div class="my-scope-alias b stylesheet__world">
107-
<h1 class="e my-header-alias">Hello, <span class="f c stylesheet__world stylesheet__world--thick {{-css-blocks-classnames 2 4 2 isThick 1 3 4 2 1 textStyle "bold" 1 0 "italic" 1 1 "g" 0 "f" 1 "my-alias-for-state" 2 "d" 3}}">World</span>!</h1>
106+
<div class="b my-scope-alias stylesheet__world">
107+
<h1 class="e my-header-alias">Hello, <span class="c f stylesheet__world stylesheet__world--thick {{-css-blocks-classnames 2 4 2 isThick 1 3 4 2 1 textStyle "bold" 1 0 "italic" 1 1 "g" 0 "f" 1 "my-alias-for-state" 2 "d" 3}}">World</span>!</h1>
108108
</div>
109109
`));
110110
});
@@ -116,7 +116,7 @@ describe("Template Rewriting", function() {
116116
let result = await pipeline(projectDir, analyzer, "page-layout", templatePath);
117117
assert.deepEqual(minify(print(result.ast)), minify(`
118118
<div class="a {{-css-blocks-classnames 1 1 2 isLoading 1 0 "b" 0}}">
119-
<aside class="g h c d"> </aside>
119+
<aside class="c d g h"> </aside>
120120
<article class="i {{-css-blocks-classnames 1 2 0 isRecommended 1 1 1 0 "e" 0 "f" 1}}"> </article>
121121
</div>
122122
`));
@@ -142,9 +142,9 @@ describe("Template Rewriting", function() {
142142

143143
// TODO why is `f` class both static and dynamic?
144144
assert.deepEqual(minify(print(result.ast)), minify(`
145-
<div class="i a">
146-
{{link-to "Inline Form" "inline-form" class="j b"}}
147-
{{#link-to "block-form" class="j b m"}}Block Form{{/link-to}}
145+
<div class="a i">
146+
{{link-to "Inline Form" "inline-form" class="b j"}}
147+
{{#link-to "block-form" class="b j m"}}Block Form{{/link-to}}
148148
149149
{{link-to "Inline Form" "inline-form-active" class="c" activeClass="d"}}
150150
{{#link-to "block-form-active" class="c" activeClass="d"}}Block Form{{/link-to}}

packages/@css-blocks/jsx/src/Analyzer/visitors/element.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export class JSXElementAnalyzer {
3838
private filename: string;
3939
private classProperties: Flags;
4040
private isRewriteMode: boolean;
41+
reservedClassNames: Set<string>;
4142

4243
constructor(analysis: JSXAnalysis, isRewriteMode = false) {
4344
this.analysis = analysis;
@@ -47,10 +48,11 @@ export class JSXElementAnalyzer {
4748
class: true,
4849
className: true,
4950
};
51+
this.reservedClassNames = analysis.reservedClassNames();
5052
}
5153

5254
private startElement(location: TemplateSourceLocation, tagName?: string): JSXElementAnalysis {
53-
if (this.isRewriteMode) { return new ElementAnalysis<BooleanExpression, StringExpression, TernaryExpression>(location, tagName); }
55+
if (this.isRewriteMode) { return new ElementAnalysis<BooleanExpression, StringExpression, TernaryExpression>(location, this.reservedClassNames, tagName); }
5456
return this.analysis.startElement<BooleanExpression, StringExpression, TernaryExpression>(location, tagName);
5557
}
5658

packages/@css-blocks/jsx/test/transformer/transformer-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ export class Test {
463463
assert.deepEqual(minify(res.jsx.code!), minify(`
464464
import objstr from 'obj-str';
465465
466-
<div className="foo a"></div>;
466+
<div className="a foo"></div>;
467467
`));
468468
});
469469
});

0 commit comments

Comments
 (0)