#!/bin/sh
# Smoke test for the installed Flutter framework; runs offline via dart analyze,
# with dart:ui resolved through sky_engine's _embedder.yaml.
set -eu

work=$(mktemp -d)
export HOME="$work"
trap 'rm -rf "$work"' EXIT INT TERM

DART=$(command -v dart 2>/dev/null || true)
[ -n "$DART" ] || DART=/usr/lib/dart/bin/dart

mkdir -p "$work/.dart_tool"
cat > "$work/.dart_tool/package_config.json" <<'JSON'
{"configVersion":2,"packages":[
{"name":"flutter","rootUri":"file:///usr/share/dart/packages/flutter","packageUri":"lib/","languageVersion":"3.11"},
{"name":"flutter_web_plugins","rootUri":"file:///usr/share/dart/packages/flutter_web_plugins","packageUri":"lib/","languageVersion":"3.11"},
{"name":"sky_engine","rootUri":"file:///usr/share/dart/packages/sky_engine","packageUri":"lib/","languageVersion":"3.11"},
{"name":"characters","rootUri":"file:///usr/share/dart/packages/characters","packageUri":"lib/","languageVersion":"3.4"},
{"name":"collection","rootUri":"file:///usr/share/dart/packages/collection","packageUri":"lib/","languageVersion":"3.4"},
{"name":"material_color_utilities","rootUri":"file:///usr/share/dart/packages/material_color_utilities","packageUri":"lib/","languageVersion":"3.4"},
{"name":"meta","rootUri":"file:///usr/share/dart/packages/meta","packageUri":"lib/","languageVersion":"3.4"},
{"name":"vector_math","rootUri":"file:///usr/share/dart/packages/vector_math","packageUri":"lib/","languageVersion":"3.4"}
]}
JSON

cat > "$work/main.dart" <<'DART'
import "package:flutter/material.dart";
import "package:flutter_web_plugins/flutter_web_plugins.dart";

void main() {
  setUrlStrategy(null);
  final app = MaterialApp(home: Text("hello"));
  print(app.runtimeType);
}
DART

"$DART" analyze "$work"
