diff --git a/src/main/scala/esmeta/spec/Spec.scala b/src/main/scala/esmeta/spec/Spec.scala index 495764933d..da730b6c51 100644 --- a/src/main/scala/esmeta/spec/Spec.scala +++ b/src/main/scala/esmeta/spec/Spec.scala @@ -50,4 +50,4 @@ case class Spec( lazy val stats: Stats = new Stats(this) } object Spec: - case class Version(name: String, hash: String) + case class Version(name: String, hash: String) extends SpecElem diff --git a/src/main/scala/esmeta/spec/util/Stringifier.scala b/src/main/scala/esmeta/spec/util/Stringifier.scala index 043c52f9a6..7f7c7786a5 100644 --- a/src/main/scala/esmeta/spec/util/Stringifier.scala +++ b/src/main/scala/esmeta/spec/util/Stringifier.scala @@ -12,6 +12,7 @@ object Stringifier { given elemRule: Rule[SpecElem] = (app, elem) => elem match { case elem: Spec => specRule(app, elem) + case elem: Spec.Version => versionRule(app, elem) case elem: Grammar => grammarRule(app, elem) case elem: Production => prodRule(app, elem) case elem: Lhs => lhsRule(app, elem) diff --git a/src/test/scala/esmeta/spec/StringifyTinyTest.scala b/src/test/scala/esmeta/spec/StringifyTinyTest.scala index b498e9d4d1..cddc1c2fa1 100644 --- a/src/test/scala/esmeta/spec/StringifyTinyTest.scala +++ b/src/test/scala/esmeta/spec/StringifyTinyTest.scala @@ -9,6 +9,15 @@ class StringifyTinyTest extends SpecTest { // registration def init: Unit = { + // ------------------------------------------------------------------------- + // Spec Version + // ------------------------------------------------------------------------- + lazy val version = Spec.Version("1fc323b", "1fc323b") + lazy val namedVersion = Spec.Version("main", "1fc323b") + checkStringify("Spec.Version")( + version -> "1fc323b", + namedVersion -> "1fc323b (main)", + ) // ------------------------------------------------------------------------- // Grammar // ------------------------------------------------------------------------- diff --git a/tests/result/spec/StringifyTinyTest b/tests/result/spec/StringifyTinyTest index 9d28e78e68..3fb20d32a6 100644 --- a/tests/result/spec/StringifyTinyTest +++ b/tests/result/spec/StringifyTinyTest @@ -1 +1 @@ -spec.StringifyTinyTest: 9 / 9 +spec.StringifyTinyTest: 10 / 10 diff --git a/tests/result/spec/StringifyTinyTest.json b/tests/result/spec/StringifyTinyTest.json index fcac86add8..b505a68320 100644 --- a/tests/result/spec/StringifyTinyTest.json +++ b/tests/result/spec/StringifyTinyTest.json @@ -7,5 +7,6 @@ "Production.Kind" : true, "Rhs" : true, "RhsCond" : true, + "Spec.Version" : true, "Symbol" : true }